diff --git a/sdks/db/cached-method-objects/from-custom-request_fordefi.com.yaml b/sdks/db/cached-method-objects/from-custom-request_fordefi.com.yaml index 26f5157e2e..f57320f340 100644 --- a/sdks/db/cached-method-objects/from-custom-request_fordefi.com.yaml +++ b/sdks/db/cached-method-objects/from-custom-request_fordefi.com.yaml @@ -1,4 +1,4 @@ -hash: bc428a496840f25ac93df2c4922461553f69f17e80dcca4315ab1ee1ca37b295 +hash: 161123426c1d1aba4244e5d825660e2f1a61cad00359fd32a3fa4cf76e829336 methodObjects: - url: /api/v1/blockchains method: getList @@ -1812,7 +1812,7 @@ methodObjects: description: '' numberOfSchemas: 526 apiDescription: >- - The future of institutional web3 wallets. + The future of institutional web3 wallets. For builders, traders, and operators, Fordefi's comprehensive MPC wallet diff --git a/sdks/db/cached-method-objects/from-custom-request_griffin.com.yaml b/sdks/db/cached-method-objects/from-custom-request_griffin.com.yaml index b71e84f7aa..dec3573312 100644 --- a/sdks/db/cached-method-objects/from-custom-request_griffin.com.yaml +++ b/sdks/db/cached-method-objects/from-custom-request_griffin.com.yaml @@ -1,4 +1,4 @@ -hash: be34e7d0b6a59a0e24af220f6b57fa60237d2c4339172433040eeb6a65d19828 +hash: b061e811700ad9a082818df7e9f4964e4091984765ed311c047121d3a060c85d methodObjects: - url: /v0/index method: globalPathsFetch diff --git a/sdks/db/cached-method-objects/from-custom-request_ilert.com.yaml b/sdks/db/cached-method-objects/from-custom-request_ilert.com.yaml new file mode 100644 index 0000000000..ced107c73f --- /dev/null +++ b/sdks/db/cached-method-objects/from-custom-request_ilert.com.yaml @@ -0,0 +1,4670 @@ +hash: 4d73f0bcf59ed8fdf521f83bc00ac64c509fabedd76a8082fe22a564e7d0cd3b +methodObjects: + - url: /users/{user-id} + method: deleteUser + httpMethod: delete + tag: Users + typeScriptTag: users + description: Delete the specified user. + parameters: + - name: userId + schema: string + required: true + description: numeric user id + example: USER-ID + responses: + - statusCode: '204' + description: if deletion was successful + - url: /users/{user-id} + method: getUserById + httpMethod: get + tag: Users + typeScriptTag: users + description: Get the specified user. + parameters: + - name: userId + schema: string + required: true + description: numeric user id + example: USER-ID + responses: + - statusCode: '200' + description: '' + - url: /users/{user-id} + method: updateExistingUser + httpMethod: put + tag: Users + typeScriptTag: users + description: Update an existing user. + parameters: + - name: userId + schema: string + required: true + description: numeric user id + example: USER-ID + - name: id + schema: integer + required: false + description: '' + - name: firstName + schema: string + required: true + description: '' + example: FIRSTNAME + - name: lastName + schema: string + required: true + description: '' + example: LASTNAME + - name: email + schema: string + required: true + description: '' + example: EMAIL + - name: timezone + schema: string + required: false + description: '' + - name: position + schema: string + required: false + description: '' + - name: department + schema: string + required: false + description: '' + - name: avatarUrl + schema: string + required: false + description: '' + - name: language + schema: string + required: false + description: '' + - name: role + schema: string + required: false + description: '' + - name: shiftColor + schema: string + required: false + description: '' + - name: mutedUntil + schema: string + required: false + description: '' + - name: createdAt + schema: string + required: false + description: '' + - name: updatedAt + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - url: /users/{user-id}/contacts/emails + method: getUserEmails + httpMethod: get + tag: Contacts + typeScriptTag: contacts + description: Get a user's emails + parameters: + - name: userId + schema: string + required: true + description: numeric user id + example: USER-ID + responses: + - statusCode: '200' + description: '' + - url: /users/{user-id}/contacts/emails + method: addNewEmail + httpMethod: post + tag: Contacts + typeScriptTag: contacts + description: Create a new email + parameters: + - name: userId + schema: string + required: true + description: numeric user id + example: USER-ID + - name: target + schema: string + description: '' + responses: + - statusCode: '201' + description: '' + - url: /users/{user-id}/contacts/emails/{id} + method: deleteUserEmail + httpMethod: delete + tag: Contacts + typeScriptTag: contacts + description: Delete the user's specified email + parameters: + - name: userId + schema: string + required: true + description: numeric user id + example: USER-ID + - name: id + schema: number + required: true + description: entity ID + example: 0 + responses: + - statusCode: '204' + description: if deletion was successful + - url: /users/{user-id}/contacts/emails/{id} + method: getEmail + httpMethod: get + tag: Contacts + typeScriptTag: contacts + description: Get a specific email + parameters: + - name: userId + schema: string + required: true + description: numeric user id + example: USER-ID + - name: id + schema: number + required: true + description: entity ID + example: 0 + responses: + - statusCode: '200' + description: '' + - url: /users/{user-id}/contacts/emails/{id} + method: updateUserEmail + httpMethod: put + tag: Contacts + typeScriptTag: contacts + description: Update a user's email + parameters: + - name: userId + schema: string + required: true + description: numeric user id + example: USER-ID + - name: id + schema: number + required: true + description: entity ID + example: 0 + - name: target + schema: string + description: '' + responses: + - statusCode: '200' + description: '' + - url: /users/{user-id}/contacts/phone-numbers + method: getUserPhoneNumbers + httpMethod: get + tag: Contacts + typeScriptTag: contacts + description: Get a user's phone numbers + parameters: + - name: userId + schema: string + required: true + description: numeric user id + example: USER-ID + responses: + - statusCode: '200' + description: '' + - url: /users/{user-id}/contacts/phone-numbers + method: createPhoneNumber + httpMethod: post + tag: Contacts + typeScriptTag: contacts + description: Create a phone number + parameters: + - name: userId + schema: string + required: true + description: numeric user id + example: USER-ID + - name: regionCode + schema: string + description: '' + - name: target + schema: string + description: '' + - name: primary + schema: boolean + description: '' + responses: + - statusCode: '201' + description: '' + - url: /users/{user-id}/contacts/phone-numbers/{id} + method: deletePhoneNumber + httpMethod: delete + tag: Contacts + typeScriptTag: contacts + description: Delete the user's specified phone number + parameters: + - name: userId + schema: string + required: true + description: numeric user id + example: USER-ID + - name: id + schema: number + required: true + description: entity ID + example: 0 + responses: + - statusCode: '204' + description: if deletion was successful + - url: /users/{user-id}/contacts/phone-numbers/{id} + method: getPhoneNumber + httpMethod: get + tag: Contacts + typeScriptTag: contacts + description: Get specific phone number + parameters: + - name: userId + schema: string + required: true + description: numeric user id + example: USER-ID + - name: id + schema: number + required: true + description: entity ID + example: 0 + responses: + - statusCode: '200' + description: '' + - url: /users/{user-id}/contacts/phone-numbers/{id} + method: updateUserPhoneNumber + httpMethod: put + tag: Contacts + typeScriptTag: contacts + description: Update a user's phone number + parameters: + - name: userId + schema: string + required: true + description: numeric user id + example: USER-ID + - name: id + schema: number + required: true + description: entity ID + example: 0 + - name: regionCode + schema: string + description: '' + - name: target + schema: string + description: '' + - name: primary + schema: boolean + description: '' + responses: + - statusCode: '200' + description: '' + - url: /users/{user-id}/notification-preferences/alerts + method: getUserAlerts + httpMethod: get + tag: Notification Preferences + typeScriptTag: notificationPreferences + description: Get alert notification preferences of a user + parameters: + - name: userId + schema: string + required: true + description: numeric user id + example: USER-ID + responses: + - statusCode: '200' + description: '' + - url: /users/{user-id}/notification-preferences/alerts + method: createAlertPreference + httpMethod: post + tag: Notification Preferences + typeScriptTag: notificationPreferences + description: Create an alert notification preference + parameters: + - name: userId + schema: string + required: true + description: numeric user id + example: USER-ID + - name: method + schema: string + description: '' + - name: contact + schema: undefined + description: '' + - name: delayMin + schema: integer + description: '' + - name: type + schema: string + description: '' + responses: + - statusCode: '201' + description: '' + - url: /users/{user-id}/notification-preferences/alerts/{id} + method: deleteUserNotificationPreferencesAlert + httpMethod: delete + tag: Notification Preferences + typeScriptTag: notificationPreferences + description: Delete the user's specified notification preferences alert + parameters: + - name: userId + schema: string + required: true + description: numeric user id + example: USER-ID + - name: id + schema: number + required: true + description: entity ID + example: 0 + responses: + - statusCode: '204' + description: if deletion was successful + - url: /users/{user-id}/notification-preferences/alerts/{id} + method: getSpecificAlert + httpMethod: get + tag: Notification Preferences + typeScriptTag: notificationPreferences + description: Get specific notification preferences alert + parameters: + - name: userId + schema: string + required: true + description: numeric user id + example: USER-ID + - name: id + schema: number + required: true + description: entity ID + example: 0 + responses: + - statusCode: '200' + description: '' + - url: /users/{user-id}/notification-preferences/alerts/{id} + method: updateAlertPreference + httpMethod: put + tag: Notification Preferences + typeScriptTag: notificationPreferences + description: Update a user's alert notification preference + parameters: + - name: userId + schema: string + required: true + description: numeric user id + example: USER-ID + - name: id + schema: number + required: true + description: entity ID + example: 0 + - name: method + schema: string + description: '' + - name: contact + schema: undefined + description: '' + - name: delayMin + schema: integer + description: '' + - name: type + schema: string + description: '' + responses: + - statusCode: '200' + description: '' + - url: /users/{user-id}/notification-preferences/duties + method: getUserDutyPreferences + httpMethod: get + tag: Notification Preferences + typeScriptTag: notificationPreferences + description: Get duty notification preferences of a user + parameters: + - name: userId + schema: string + required: true + description: numeric user id + example: USER-ID + responses: + - statusCode: '200' + description: '' + - url: /users/{user-id}/notification-preferences/duties + method: createDuty + httpMethod: post + tag: Notification Preferences + typeScriptTag: notificationPreferences + description: Create a duty notification preference + parameters: + - name: userId + schema: string + required: true + description: numeric user id + example: USER-ID + - name: beforeMin + schema: integer + description: '' + - name: contact + schema: undefined + description: '' + - name: method + schema: string + description: '' + - name: type + schema: string + description: '' + responses: + - statusCode: '201' + description: '' + - url: /users/{user-id}/notification-preferences/duties/{id} + method: deleteUserNotificationDuty + httpMethod: delete + tag: Notification Preferences + typeScriptTag: notificationPreferences + description: Delete the user's specified notification preferences duty + parameters: + - name: userId + schema: string + required: true + description: numeric user id + example: USER-ID + - name: id + schema: number + required: true + description: entity ID + example: 0 + responses: + - statusCode: '204' + description: if deletion was successful + - url: /users/{user-id}/notification-preferences/duties/{id} + method: getSpecificDuty + httpMethod: get + tag: Notification Preferences + typeScriptTag: notificationPreferences + description: Get specific notification preferences duty + parameters: + - name: userId + schema: string + required: true + description: numeric user id + example: USER-ID + - name: id + schema: number + required: true + description: entity ID + example: 0 + responses: + - statusCode: '200' + description: '' + - url: /users/{user-id}/notification-preferences/duties/{id} + method: updateDutyNotificationPreference + httpMethod: put + tag: Notification Preferences + typeScriptTag: notificationPreferences + description: Update a user's duty notification preference + parameters: + - name: userId + schema: string + required: true + description: numeric user id + example: USER-ID + - name: id + schema: number + required: true + description: entity ID + example: 0 + - name: beforeMin + schema: integer + description: '' + - name: contact + schema: undefined + description: '' + - name: method + schema: string + description: '' + - name: type + schema: string + description: '' + responses: + - statusCode: '200' + description: '' + - url: /users/{user-id}/notification-preferences/updates + method: getUserUpdatePreferences + httpMethod: get + tag: Notification Preferences + typeScriptTag: notificationPreferences + description: Get update notification preferences of a user + parameters: + - name: userId + schema: string + required: true + description: numeric user id + example: USER-ID + responses: + - statusCode: '200' + description: '' + - url: /users/{user-id}/notification-preferences/updates + method: createUpdatePreference + httpMethod: post + tag: Notification Preferences + typeScriptTag: notificationPreferences + description: Create an update notification preference + parameters: + - name: userId + schema: string + required: true + description: numeric user id + example: USER-ID + - name: contact + schema: undefined + description: '' + - name: method + schema: string + description: '' + - name: type + schema: string + description: '' + responses: + - statusCode: '201' + description: '' + - url: /users/{user-id}/notification-preferences/updates/{id} + method: deleteUpdate + httpMethod: delete + tag: Notification Preferences + typeScriptTag: notificationPreferences + description: Delete the user's specified notification preferences update + parameters: + - name: userId + schema: string + required: true + description: numeric user id + example: USER-ID + - name: id + schema: number + required: true + description: entity ID + example: 0 + responses: + - statusCode: '204' + description: if deletion was successful + - url: /users/{user-id}/notification-preferences/updates/{id} + method: getSpecificUpdate + httpMethod: get + tag: Notification Preferences + typeScriptTag: notificationPreferences + description: Get specific notification preferences update + parameters: + - name: userId + schema: string + required: true + description: numeric user id + example: USER-ID + - name: id + schema: number + required: true + description: entity ID + example: 0 + responses: + - statusCode: '200' + description: '' + - url: /users/{user-id}/notification-preferences/updates/{id} + method: updateUserUpdateNotificationPreference + httpMethod: put + tag: Notification Preferences + typeScriptTag: notificationPreferences + description: Update a user's update notification preference + parameters: + - name: userId + schema: string + required: true + description: numeric user id + example: USER-ID + - name: id + schema: number + required: true + description: entity ID + example: 0 + - name: contact + schema: undefined + description: '' + - name: method + schema: string + description: '' + - name: type + schema: string + description: '' + responses: + - statusCode: '200' + description: '' + - url: /users/{user-id}/notification-preferences/subscriptions + method: getUserSubscriptions + httpMethod: get + tag: Notification Preferences + typeScriptTag: notificationPreferences + description: Get subscription notification preferences of a user + parameters: + - name: userId + schema: string + required: true + description: numeric user id + example: USER-ID + responses: + - statusCode: '200' + description: '' + - url: /users/{user-id}/notification-preferences/subscriptions + method: createSubscriptionNotificationPreference + httpMethod: post + tag: Notification Preferences + typeScriptTag: notificationPreferences + description: Create a subscription notification preference + parameters: + - name: userId + schema: string + required: true + description: numeric user id + example: USER-ID + - name: contact + schema: undefined + description: '' + - name: method + schema: string + description: '' + responses: + - statusCode: '201' + description: '' + - url: /users/{user-id}/notification-preferences/subscriptions/{id} + method: deleteSubscription + httpMethod: delete + tag: Notification Preferences + typeScriptTag: notificationPreferences + description: Delete the user's specified notification preferences subscription + parameters: + - name: userId + schema: string + required: true + description: numeric user id + example: USER-ID + - name: id + schema: number + required: true + description: entity ID + example: 0 + responses: + - statusCode: '204' + description: if deletion was successful + - url: /users/{user-id}/notification-preferences/subscriptions/{id} + method: getSpecificSubscription + httpMethod: get + tag: Notification Preferences + typeScriptTag: notificationPreferences + description: Get specific notification preferences subscription + parameters: + - name: userId + schema: string + required: true + description: numeric user id + example: USER-ID + - name: id + schema: number + required: true + description: entity ID + example: 0 + responses: + - statusCode: '200' + description: '' + - url: /users/{user-id}/notification-preferences/subscriptions/{id} + method: updateSubscriptionPreference + httpMethod: put + tag: Notification Preferences + typeScriptTag: notificationPreferences + description: Update a user's subscription notification preference + parameters: + - name: userId + schema: string + required: true + description: numeric user id + example: USER-ID + - name: id + schema: number + required: true + description: entity ID + example: 0 + - name: contact + schema: undefined + description: '' + - name: method + schema: string + description: '' + responses: + - statusCode: '200' + description: '' + - url: /numbers + method: listAvailableNumbers + httpMethod: get + tag: Numbers + typeScriptTag: numbers + description: >- + List available phone numbers that ilert uses to send voice and SMS + notifications + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /integrations + method: listAvailable + httpMethod: get + tag: Integrations + typeScriptTag: integrations + description: >- + List available inbound and outbound integrations. Note: this resource is + paginated. + parameters: + - name: startIndex + schema: integer + required: false + description: >- + an integer specifying the starting point (beginning with 0) when + paging through a list of entities + default: 0 + - name: maxResults + schema: integer + required: false + description: the maximum number of results when paging through a list of entities. + default: 50 + responses: + - statusCode: '200' + description: '' + - url: /users + method: listExistingUsers + httpMethod: get + tag: Users + typeScriptTag: users + description: List existing users. + parameters: + - name: startIndex + schema: integer + required: false + description: >- + an integer specifying the starting point (beginning with 0) when + paging through a list of entities + default: 0 + - name: maxResults + schema: integer + required: false + description: the maximum number of results when paging through a list of entities. + default: 50 + responses: + - statusCode: '200' + description: '' + - url: /users + method: createNewUser + httpMethod: post + tag: Users + typeScriptTag: users + description: Create a new user. Requires ADMIN privileges. + parameters: + - name: firstName + schema: string + required: true + description: '' + example: FIRSTNAME + - name: lastName + schema: string + required: true + description: '' + example: LASTNAME + - name: email + schema: string + required: true + description: '' + example: EMAIL + - name: timezone + schema: string + required: false + description: '' + - name: position + schema: string + required: false + description: '' + - name: department + schema: string + required: false + description: '' + - name: avatarUrl + schema: string + required: false + description: '' + - name: language + schema: string + required: false + description: '' + - name: role + schema: string + required: false + description: '' + - name: shiftColor + schema: string + required: false + description: '' + responses: + - statusCode: '201' + description: '' + - url: /users/current + method: getCurrentUser + httpMethod: get + tag: Users + typeScriptTag: users + description: Get the currently authenticated user. + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /users/current + method: updateCurrentUser + httpMethod: put + tag: Users + typeScriptTag: users + description: Update the current user. + parameters: + - name: firstName + schema: string + required: true + description: '' + example: FIRSTNAME + - name: lastName + schema: string + required: true + description: '' + example: LASTNAME + - name: email + schema: string + required: true + description: '' + example: EMAIL + - name: timezone + schema: string + required: false + description: '' + - name: position + schema: string + required: false + description: '' + - name: department + schema: string + required: false + description: '' + - name: avatarUrl + schema: string + required: false + description: '' + - name: language + schema: string + required: false + description: '' + - name: role + schema: string + required: false + description: '' + - name: shiftColor + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - url: /alerts + method: listMatchingCriteria + httpMethod: get + tag: Alerts + typeScriptTag: alerts + description: >- + List alerts (optionally matching certain criteria that are specified by + query parameters). + parameters: + - name: startIndex + schema: integer + required: false + description: >- + an integer specifying the starting point (beginning with 0) when + paging through a list of entities + default: 0 + - name: maxResults + schema: integer + required: false + description: the maximum number of results when paging through a list of entities. + default: 50 + - name: include + schema: array + required: false + description: >- + Describes optional properties that should be included in the response. + You may declare multiple. (https://api.ilert.com/api-docs + - name: states + schema: array + description: state of the alert + - name: sources + schema: array + description: alert source IDs of the alert's alert source + - name: policies + schema: array + description: escalation policy IDs of the alert's escalation policy + - name: responders + schema: array + description: user ids of the user that is a responder of the alert + - name: from + schema: string + description: from date, ISO-UTC e.g. 2021-05-25T21:24:56.771Z, based on reportTime + - name: until + schema: string + description: until date, ISO-UTC e.g. 2021-05-26T21:24:56.771Z, based on reportTime + responses: + - statusCode: '200' + description: '' + - url: /alerts + method: createCustomizedAlert + httpMethod: post + tag: Alerts + typeScriptTag: alerts + description: >- + Create alerts with customised parameters without requiring events from + monitoring tools that use our Events API. + parameters: + - name: summary + schema: string + required: true + description: '' + example: SUMMARY + - name: details + schema: string + required: false + description: '' + - name: alertSource + schema: object + required: true + description: '' + - name: escalationPolicy + schema: object + required: false + description: '' + - name: priority + schema: string + required: false + description: '' + - name: assignedTo + schema: object + required: false + description: '' + - name: images + schema: array + required: false + description: '' + - name: links + schema: array + required: false + description: '' + - name: responders + schema: array + required: false + description: '' + responses: + - statusCode: '201' + description: '' + - url: /alerts/count + method: getAlertCountMatchingCriteria + httpMethod: get + tag: Alerts + typeScriptTag: alerts + description: Get the alert count matching the specified criteria. + parameters: + - name: states + schema: array + description: state of the alert + - name: sources + schema: array + description: alert source IDs of the alert's alert source + - name: responders + schema: array + description: user ids of the user that is a responder of the alert + - name: from + schema: string + description: from date + - name: until + schema: string + description: until date + responses: + - statusCode: '200' + description: '' + - url: /alerts/{id} + method: getById + httpMethod: get + tag: Alerts + typeScriptTag: alerts + description: Get the alert with the specified id. + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + - name: include + schema: array + required: false + description: >- + Describes optional properties that should be included in the response. + You may declare multiple. (escalationRules, nextEscalationUser) + responses: + - statusCode: '200' + description: '' + - url: /alerts/{id}/suggested-responders + method: getAssignableResponders + httpMethod: get + tag: Alerts + typeScriptTag: alerts + description: >- + Get available (https://api.ilert.com/api-docs responders for the alert + with the specified id. + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + - name: lang + schema: string + description: locale for response text eg. 'en' or 'de' + responses: + - statusCode: '200' + description: '' + - url: /alerts/{id}/responders + method: addResponder + httpMethod: post + tag: Alerts + typeScriptTag: alerts + description: Add an additional responder to the alert. + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + responses: + - statusCode: '201' + description: '' + - statusCode: '404' + description: Responder did not exist + - statusCode: '405' + description: Responder is already present on the alert + - url: /alerts/{id}/responders/{user-id} + method: removeResponder + httpMethod: delete + tag: Alerts + typeScriptTag: alerts + description: Remove a responder from the alert. + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + - name: userId + schema: string + required: true + description: numeric user id + example: USER-ID + responses: + - statusCode: '204' + description: Responder has been removed + - statusCode: '404' + description: Responder did not exist + - url: /alerts/{id}/assign + method: assignAlertTo + httpMethod: put + tag: Alerts + typeScriptTag: alerts + description: Assign the alert. + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + - name: user + schema: string + description: numeric user id + - name: policy + schema: string + description: numeric policy id + - name: schedule + schema: string + description: numeric schedule id + responses: + - statusCode: '200' + description: '' + - url: /alerts/{id}/accept + method: acceptAlert + httpMethod: put + tag: Alerts + typeScriptTag: alerts + description: Accept the Alert. + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + responses: + - statusCode: '200' + description: '' + - url: /alerts/{id}/resolve + method: resolveAlert + httpMethod: put + tag: Alerts + typeScriptTag: alerts + description: Resolve the alert. + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + responses: + - statusCode: '200' + description: '' + - url: /alerts/{id}/notifications + method: getNotifications + httpMethod: get + tag: Alerts + typeScriptTag: alerts + description: Get notifications for the specified alert. + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + responses: + - statusCode: '200' + description: '' + - url: /alerts/{id}/log-entries + method: getLogEntries + httpMethod: get + tag: Alerts + typeScriptTag: alerts + description: Get log entries for the specified alert. + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + - name: lang + schema: string + description: log entry language + - name: startIndex + schema: integer + required: false + description: >- + an integer specifying the starting point (beginning with 0) when + paging through a list of entities + default: 0 + - name: maxResults + schema: integer + required: false + description: the maximum number of results when paging through a list of entities. + default: 50 + - name: include + schema: array + required: false + description: >- + Describes optional properties that should be included in the response. + You may declare multiple. (https://api.ilert.com/api-docs + - name: filterTypes + schema: array + description: filter-type (https://api.ilert.com/api-docs of the log + responses: + - statusCode: '200' + description: '' + - url: /alerts/{id}/actions + method: getAvailableActions + httpMethod: get + tag: Alert Actions + typeScriptTag: alertActions + description: Get available actions for specified alert. + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + responses: + - statusCode: '200' + description: '' + - url: /alerts/{id}/actions + method: invokeSpecificAction + httpMethod: post + tag: Alert Actions + typeScriptTag: alertActions + description: Invoke a specific alert action. + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + - name: alertActionId + schema: string + description: '' + - name: connectorId + schema: string + description: '' + - name: type + schema: string + description: '' + - name: name + schema: string + description: '' + - name: iconUrl + schema: string + description: '' + - name: history + schema: array + description: '' + responses: + - statusCode: '201' + description: '' + - url: /schedules + method: listOnCallSchedules + httpMethod: get + tag: Schedules + typeScriptTag: schedules + description: List on-call schedules. + parameters: + - name: include + schema: array + required: false + description: >- + Describes optional properties that should be included in the response. + You may declare multiple. (currentShift, nextShift, scheduleLayers + [only available for RECURRING schedules], shifts [only available for + STATIC schedules], past [show shifts in the past, only for STATIC]) + - name: startIndex + schema: integer + required: false + description: >- + an integer specifying the starting point (beginning with 0) when + paging through a list of entities + default: 0 + - name: maxResults + schema: integer + required: false + description: the maximum number of results when paging through a list of schedules. + default: 20 + responses: + - statusCode: '200' + description: '' + - url: /schedules + method: createNewOnCallSchedule + httpMethod: post + tag: Schedules + typeScriptTag: schedules + description: Create a new on-call schedule. + parameters: + - name: abortOnGaps + schema: boolean + required: false + description: Used for static schedules to prevent creating schedules with gaps + - name: id + schema: integer + description: '' + - name: name + schema: string + description: '' + - name: timezone + schema: string + description: '' + - name: type + schema: string + description: '' + - name: scheduleLayers + schema: array + description: '' + - name: shifts + schema: array + description: '' + - name: showGaps + schema: boolean + description: '' + - name: defaultShiftDuration + schema: string + description: '' + - name: currentShift + schema: object + description: '' + - name: nextShift + schema: object + description: '' + - name: teams + schema: array + description: '' + responses: + - statusCode: '201' + description: '' + - url: /schedules/{id} + method: deleteScheduleById + httpMethod: delete + tag: Schedules + typeScriptTag: schedules + description: Delete the on-call schedule with the specified id. + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + responses: + - statusCode: '204' + description: empty response + - url: /schedules/{id} + method: getById + httpMethod: get + tag: Schedules + typeScriptTag: schedules + description: Get the on-call schedule with the specified id. + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + - name: include + schema: array + required: false + description: >- + Describes optional properties that should be included in the response. + You may declare multiple. (currentShift, nextShift, scheduleLayers + [only available for RECURRING schedules], shifts [only available for + STATIC schedules], past [show shifts in the past, only for STATIC]) + responses: + - statusCode: '200' + description: '' + - url: /schedules/{id} + method: updateOnCallSchedule + httpMethod: put + tag: Schedules + typeScriptTag: schedules + description: Update an on-call schedule. + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + - name: abortOnGaps + schema: boolean + required: false + description: Used for static schedules to prevent updating schedules with gaps + - name: id + schema: integer + description: '' + - name: name + schema: string + description: '' + - name: timezone + schema: string + description: '' + - name: type + schema: string + description: '' + - name: scheduleLayers + schema: array + description: '' + - name: shifts + schema: array + description: '' + - name: showGaps + schema: boolean + description: '' + - name: defaultShiftDuration + schema: string + description: '' + - name: currentShift + schema: object + description: '' + - name: nextShift + schema: object + description: '' + - name: teams + schema: array + description: '' + responses: + - statusCode: '200' + description: '' + - url: /schedules/{id}/shifts + method: getShiftsByIdAndDateRange + httpMethod: get + tag: Schedules + typeScriptTag: schedules + description: Get shifts for the specified schedule and date range. + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + - name: from + schema: string + description: from date, default is start of last month + - name: until + schema: string + description: until date, default is from date plus 3 months + - name: excludeOverrides + schema: boolean + description: if true, shifts won't include overrides + default: false + responses: + - statusCode: '200' + description: '' + - url: /schedules/{id}/overrides + method: getOverridesById + httpMethod: get + tag: Schedules + typeScriptTag: schedules + description: Get overrides for the specified schedule. + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + responses: + - statusCode: '200' + description: '' + - url: /schedules/{id}/overrides + method: addOverrideShift + httpMethod: put + tag: Schedules + typeScriptTag: schedules + description: Add an override shift to a schedule. + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + - name: user + schema: object + description: '' + - name: end + schema: string + description: '' + - name: start + schema: string + description: '' + responses: + - statusCode: '200' + description: '' + - url: /schedules/{id}/user-on-call + method: getUserOnCall + httpMethod: get + tag: Schedules + typeScriptTag: schedules + description: >- + Get the user (wrapped in a shift object) on-call for the specified + schedule. + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '204' + description: if no user is on-call + - url: /on-calls + method: listWithFilters + httpMethod: get + tag: On-Calls + typeScriptTag: onCalls + description: List on-calls with flexible filters + parameters: + - name: policies + schema: number + required: false + description: escalation policy ids to filter on call duties for + - name: policyLevels + schema: string + required: false + description: >- + can be provided instead of 'policies', must be a serialised and + urlencoded JSON object e.g. ?policy-levels="{ "id": 12, "level": 1 }" + where id is the policy id and level is the escalation level that + should be included + - name: schedules + schema: number + required: false + description: on call schedule ids to filter on call duties for + - name: users + schema: number + required: false + description: user ids to filter on call duties for + - name: expand + schema: string + required: false + description: 'include full entities for: policy, escalationPolicy or user' + - name: from + schema: string + required: false + description: >- + date-time ISO-UTC e.g. 2021-05-25T21:24:56.771Z, start of the time + range, may not exceed 3 months in total span, defaults to current time + - name: until + schema: string + required: false + description: >- + date-time ISO-UTC e.g. 2021-05-25T21:24:56.771Z, end of the time + range, must be after 'from', defaults to current time + - name: timezone + schema: string + required: false + description: Time zone in which the results will be rendered, defaults to UTC + - name: startIndex + schema: number + required: false + description: offset for the search results, defaults to 0 + - name: maxResults + schema: number + required: false + description: limit for the search results, defaults to 50, may not exceed 250 + responses: + - statusCode: '200' + description: '' + - url: /alert-sources + method: listSources + httpMethod: get + tag: Alert Sources + typeScriptTag: alertSources + description: List alert sources. + parameters: + - name: startIndex + schema: integer + required: false + description: >- + an integer specifying the starting point (beginning with 0) when + paging through a list of entities + default: 0 + - name: maxResults + schema: integer + required: false + description: >- + the maximum number of results when paging through a list of alert + sources. + default: 50 + responses: + - statusCode: '200' + description: '' + - url: /alert-sources + method: createNewSource + httpMethod: post + tag: Alert Sources + typeScriptTag: alertSources + description: Create a new alert source. + parameters: + - name: id + schema: integer + required: false + description: '' + - name: teams + schema: array + required: false + description: '' + - name: name + schema: string + required: true + description: '' + example: NAME + - name: iconUrl + schema: string + required: false + description: '' + - name: lightIconUrl + schema: string + required: false + description: '' + - name: darkIconUrl + schema: string + required: false + description: '' + - name: escalationPolicy + schema: object + required: true + description: '' + - name: integrationType + schema: string + required: true + description: '' + example: INTEGRATIONTYPE + - name: integrationKey + schema: string + required: false + description: '' + - name: integrationUrl + schema: string + required: false + description: '' + - name: autoResolutionTimeout + schema: string + required: false + description: '' + - name: alertGroupingWindow + schema: string + required: false + description: '' + - name: alertCreation + schema: string + required: false + description: '' + default: ONE_ALERT_PER_EMAIL + - name: status + schema: string + required: false + description: '' + - name: emailFiltered + schema: boolean + required: false + description: '' + default: false + - name: emailResolveFiltered + schema: boolean + required: false + description: '' + default: false + - name: active + schema: boolean + required: false + description: '' + default: true + - name: emailPredicates + schema: array + required: false + description: '' + - name: emailResolvePredicates + schema: array + required: false + description: '' + - name: resolveKeyExtractor + schema: object + required: false + description: '' + - name: filterOperator + schema: string + required: false + description: '' + - name: resolveFilterOperator + schema: string + required: false + description: '' + - name: alertPriorityRule + schema: string + required: false + description: '' + - name: supportHours + schema: object + required: false + description: '' + - name: heartbeat + schema: object + required: false + description: '' + - name: bidirectional + schema: boolean + required: false + description: '' + - name: summaryTemplate + schema: object + required: false + description: '' + - name: detailsTemplate + schema: object + required: false + description: '' + - name: routingTemplate + schema: object + required: false + description: '' + - name: linkTemplates + schema: array + required: false + description: '' + - name: priorityTemplate + schema: object + required: false + description: '' + responses: + - statusCode: '201' + description: '' + - url: /alert-sources/{id} + method: deleteSpecifiedSource + httpMethod: delete + tag: Alert Sources + typeScriptTag: alertSources + description: Delete the specified alert source. + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + responses: + - statusCode: '204' + description: if deletion was successful + - url: /alert-sources/{id} + method: getByIdOrApiKey + httpMethod: get + tag: Alert Sources + typeScriptTag: alertSources + description: Get the alert source with specified id or alternatively api key. + parameters: + - name: sourceId + schema: string + required: true + description: numeric source id or api key + example: SOURCE-ID + - name: include + schema: array + required: false + description: >- + Describes optional properties that should be included in the response. + You may declare multiple. (detailsTemplate, summaryTemplate, + routingTemplate, linkTemplates, priorityTemplate, textTemplate) + responses: + - statusCode: '200' + description: '' + - url: /alert-sources/{id} + method: updateExistingSource + httpMethod: put + tag: Alert Sources + typeScriptTag: alertSources + description: Update an existing alert source. + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + - name: id + schema: integer + required: false + description: '' + - name: teams + schema: array + required: false + description: '' + - name: name + schema: string + required: true + description: '' + example: NAME + - name: iconUrl + schema: string + required: false + description: '' + - name: lightIconUrl + schema: string + required: false + description: '' + - name: darkIconUrl + schema: string + required: false + description: '' + - name: escalationPolicy + schema: object + required: true + description: '' + - name: integrationType + schema: string + required: true + description: '' + example: INTEGRATIONTYPE + - name: integrationKey + schema: string + required: false + description: '' + - name: integrationUrl + schema: string + required: false + description: '' + - name: autoResolutionTimeout + schema: string + required: false + description: '' + - name: alertGroupingWindow + schema: string + required: false + description: '' + - name: alertCreation + schema: string + required: false + description: '' + default: ONE_ALERT_PER_EMAIL + - name: status + schema: string + required: false + description: '' + - name: emailFiltered + schema: boolean + required: false + description: '' + default: false + - name: emailResolveFiltered + schema: boolean + required: false + description: '' + default: false + - name: active + schema: boolean + required: false + description: '' + default: true + - name: emailPredicates + schema: array + required: false + description: '' + - name: emailResolvePredicates + schema: array + required: false + description: '' + - name: resolveKeyExtractor + schema: object + required: false + description: '' + - name: filterOperator + schema: string + required: false + description: '' + - name: resolveFilterOperator + schema: string + required: false + description: '' + - name: alertPriorityRule + schema: string + required: false + description: '' + - name: supportHours + schema: object + required: false + description: '' + - name: heartbeat + schema: object + required: false + description: '' + - name: bidirectional + schema: boolean + required: false + description: '' + - name: summaryTemplate + schema: object + required: false + description: '' + - name: detailsTemplate + schema: object + required: false + description: '' + - name: routingTemplate + schema: object + required: false + description: '' + - name: linkTemplates + schema: array + required: false + description: '' + - name: priorityTemplate + schema: object + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - url: /support-hours + method: list + httpMethod: get + tag: Support Hours + typeScriptTag: supportHours + description: List support hours. + parameters: + - name: startIndex + schema: integer + required: false + description: >- + an integer specifying the starting point (beginning with 0) when + paging through a list of entities + default: 0 + - name: maxResults + schema: integer + required: false + description: >- + the maximum number of results when paging through a list of support + hours. + default: 50 + responses: + - statusCode: '200' + description: '' + - url: /support-hours + method: createNewSupportHour + httpMethod: post + tag: Support Hours + typeScriptTag: supportHours + description: Create a new support hour. + parameters: + - name: id + schema: integer + required: false + description: '' + - name: name + schema: string + required: true + description: '' + example: NAME + - name: teams + schema: array + required: false + description: '' + - name: timezone + schema: string + required: true + description: '' + example: TIMEZONE + - name: supportDays + schema: object + required: true + description: '' + responses: + - statusCode: '201' + description: '' + - url: /support-hours/{id} + method: deleteSpecifiedSupportHour + httpMethod: delete + tag: Support Hours + typeScriptTag: supportHours + description: Delete the specified support hour. + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + responses: + - statusCode: '204' + description: if deletion was successful + - url: /support-hours/{id} + method: getById + httpMethod: get + tag: Support Hours + typeScriptTag: supportHours + description: Get the support hour with specified id. + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + responses: + - statusCode: '200' + description: '' + - url: /support-hours/{id} + method: updateExistingHour + httpMethod: put + tag: Support Hours + typeScriptTag: supportHours + description: Update an existing support hour. + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + - name: id + schema: integer + required: false + description: '' + - name: name + schema: string + required: true + description: '' + example: NAME + - name: teams + schema: array + required: false + description: '' + - name: timezone + schema: string + required: true + description: '' + example: TIMEZONE + - name: supportDays + schema: object + required: true + description: '' + responses: + - statusCode: '200' + description: '' + - url: /maintenance-windows + method: list + httpMethod: get + tag: Maintenance Windows + typeScriptTag: maintenanceWindows + description: List maintenance windows. + parameters: + - name: startIndex + schema: integer + required: false + description: >- + an integer specifying the starting point (beginning with 0) when + paging through a list of entities + default: 0 + - name: maxResults + schema: integer + required: false + description: the maximum number of results when paging through a list of entities. + default: 50 + responses: + - statusCode: '200' + description: '' + - url: /maintenance-windows + method: createNewWindow + httpMethod: post + tag: Maintenance Windows + typeScriptTag: maintenanceWindows + description: Create a new maintenance window. + parameters: + - name: summary + schema: string + description: '' + - name: description + schema: string + description: '' + - name: timezone + schema: string + description: '' + - name: start + schema: string + description: '' + - name: end + schema: string + description: '' + - name: alertSources + schema: array + description: '' + - name: services + schema: array + description: '' + - name: createdBy + schema: string + description: '' + - name: notifications + schema: object + description: '' + responses: + - statusCode: '200' + description: '' + - url: /maintenance-windows/{id} + method: removeById + httpMethod: delete + tag: Maintenance Windows + typeScriptTag: maintenanceWindows + description: Delete the specified maintenance window. + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + responses: + - statusCode: '204' + description: if deletion was successful + - url: /maintenance-windows/{id} + method: getById + httpMethod: get + tag: Maintenance Windows + typeScriptTag: maintenanceWindows + description: Get the maintenance window with specified id. + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + responses: + - statusCode: '200' + description: '' + - url: /maintenance-windows/{id} + method: updateExistingWindow + httpMethod: put + tag: Maintenance Windows + typeScriptTag: maintenanceWindows + description: Update an existing maintenance window. + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + - name: summary + schema: string + description: '' + - name: description + schema: string + description: '' + - name: timezone + schema: string + description: '' + - name: start + schema: string + description: '' + - name: end + schema: string + description: '' + - name: alertSources + schema: array + description: '' + - name: services + schema: array + description: '' + - name: createdBy + schema: string + description: '' + - name: notifications + schema: object + description: '' + responses: + - statusCode: '200' + description: '' + - url: /escalation-policies + method: listPolicies + httpMethod: get + tag: Escalation Policies + typeScriptTag: escalationPolicies + description: List escalation policies. + parameters: + - name: startIndex + schema: integer + required: false + description: >- + an integer specifying the starting point (beginning with 0) when + paging through a list of entities + default: 0 + - name: maxResults + schema: integer + required: false + description: >- + the maximum number of results when paging through a list of escalation + policies. + default: 50 + responses: + - statusCode: '200' + description: '' + - url: /escalation-policies + method: createNewPolicy + httpMethod: post + tag: Escalation Policies + typeScriptTag: escalationPolicies + description: Create a new escalation policy. + parameters: + - name: id + schema: integer + required: false + description: '' + - name: name + schema: string + required: true + description: '' + example: NAME + - name: escalationRules + schema: array + required: true + description: '' + - name: teams + schema: array + required: false + description: '' + - name: repeating + schema: boolean + required: false + description: '' + default: false + - name: frequency + schema: integer + required: false + description: '' + default: 1 + - name: delayMin + schema: integer + required: false + description: '' + default: 0 + - name: routingKey + schema: string + required: false + description: '' + responses: + - statusCode: '201' + description: '' + - url: /escalation-policies/{id} + method: deleteSpecificPolicy + httpMethod: delete + tag: Escalation Policies + typeScriptTag: escalationPolicies + description: Delete the specified escalation policy. + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + responses: + - statusCode: '204' + description: if deletion was successful + - url: /escalation-policies/{id} + method: getById + httpMethod: get + tag: Escalation Policies + typeScriptTag: escalationPolicies + description: Get escalation policy with the specified id. + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + responses: + - statusCode: '200' + description: '' + - url: /escalation-policies/{id} + method: updateExistingPolicy + httpMethod: put + tag: Escalation Policies + typeScriptTag: escalationPolicies + description: Update an existing escalation policy. + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + - name: id + schema: integer + required: false + description: '' + - name: name + schema: string + required: true + description: '' + example: NAME + - name: escalationRules + schema: array + required: true + description: '' + - name: teams + schema: array + required: false + description: '' + - name: repeating + schema: boolean + required: false + description: '' + default: false + - name: frequency + schema: integer + required: false + description: '' + default: 1 + - name: delayMin + schema: integer + required: false + description: '' + default: 0 + - name: routingKey + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - url: /series/{key} + method: ingestMetricSeries + httpMethod: post + tag: Series + typeScriptTag: series + description: Ingest a series for a metric + parameters: + - name: key + schema: string + required: true + description: api key of resource + example: KEY + responses: + - statusCode: '202' + description: The time points have been accepted + - url: /events + method: postEventToIlert + httpMethod: post + tag: Events + typeScriptTag: events + description: Post an event to ilert. + parameters: + - name: summary + schema: string + required: true + description: '' + example: SUMMARY + - name: apiKey + schema: string + required: true + description: '' + example: APIKEY + - name: eventType + schema: string + required: true + description: '' + example: EVENTTYPE + - name: details + schema: string + required: false + description: '' + - name: alertKey + schema: string + required: false + description: '' + - name: priority + schema: string + required: false + description: '' + - name: images + schema: array + required: false + description: '' + - name: links + schema: array + required: false + description: '' + - name: comments + schema: array + required: false + description: '' + - name: customDetails + schema: object + required: false + description: '' + - name: routingKey + schema: string + required: false + description: '' + responses: + - statusCode: '202' + description: The event has been accepted + - url: /heartbeats/{key} + method: pingAlertSource + httpMethod: get + tag: Heartbeats + typeScriptTag: heartbeats + description: Ping heartbeat alert source. + parameters: + - name: key + schema: string + required: true + description: api key of resource + example: KEY + responses: + - statusCode: '202' + description: Arbitrary accept response + - url: /heartbeats/{key} + method: pingAlertSource + httpMethod: head + tag: Heartbeats + typeScriptTag: heartbeats + description: Ping heartbeat alert source. + parameters: + - name: key + schema: string + required: true + description: api key of resource + example: KEY + responses: + - statusCode: '202' + description: Arbitrary accept response + - url: /heartbeats/{key} + method: pingAlertSource + httpMethod: post + tag: Heartbeats + typeScriptTag: heartbeats + description: Ping heartbeat alert source. + parameters: + - name: key + schema: string + required: true + description: api key of resource + example: KEY + responses: + - statusCode: '202' + description: Arbitrary accept response + - url: /alert-actions + method: getList + httpMethod: get + tag: Alert Actions + typeScriptTag: alertActions + description: Get alert actions. + parameters: + - name: source + schema: number + description: alert source id + - name: connector + schema: string + description: connector id + - name: startIndex + schema: integer + required: false + description: >- + an integer specifying the starting point (beginning with 0) when + paging through a list of entities + default: 0 + - name: maxResults + schema: integer + required: false + description: >- + the maximum number of results when paging through a list of alert + actions. + default: 100 + responses: + - statusCode: '200' + description: '' + - url: /alert-actions + method: createNewAction + httpMethod: post + tag: Alert Actions + typeScriptTag: alertActions + description: Create a new alert action. + parameters: + - name: id + schema: string + required: false + description: '' + - name: alertSources + schema: array + required: false + description: '' + - name: connectorId + schema: string + required: false + description: '' + - name: connectorType + schema: string + required: true + description: '' + example: CONNECTORTYPE + - name: name + schema: string + required: true + description: '' + example: NAME + - name: createdAt + schema: string + required: false + description: '' + - name: updatedAt + schema: string + required: false + description: '' + - name: triggerMode + schema: string + required: false + description: '' + - name: bidirectional + schema: boolean + required: false + description: '' + - name: delaySec + schema: number + required: false + description: '' + - name: triggerTypes + schema: array + required: false + description: '' + - name: alertFilter + schema: object + required: false + description: '' + - name: params + schema: object + required: false + description: '' + - name: teams + schema: array + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - url: /alert-actions/{id} + method: removeSpecificAction + httpMethod: delete + tag: Alert Actions + typeScriptTag: alertActions + description: Remove a specific alert action. + parameters: + - name: id + schema: string + required: true + description: entity ID + example: ID + responses: + - statusCode: '204' + description: Empty body delete response + - url: /alert-actions/{id} + method: getSpecificAction + httpMethod: get + tag: Alert Actions + typeScriptTag: alertActions + description: Get a specific alert action. + parameters: + - name: id + schema: string + required: true + description: entity ID + example: ID + responses: + - statusCode: '200' + description: '' + - url: /alert-actions/{id} + method: updateSpecificAlertAction + httpMethod: put + tag: Alert Actions + typeScriptTag: alertActions + description: 'Update the specific alert action. (note: type cannot be changed)' + parameters: + - name: id + schema: string + required: true + description: entity ID + example: ID + - name: id + schema: string + required: false + description: '' + - name: alertSources + schema: array + required: false + description: '' + - name: connectorId + schema: string + required: false + description: '' + - name: connectorType + schema: string + required: true + description: '' + example: CONNECTORTYPE + - name: name + schema: string + required: true + description: '' + example: NAME + - name: createdAt + schema: string + required: false + description: '' + - name: updatedAt + schema: string + required: false + description: '' + - name: triggerMode + schema: string + required: false + description: '' + - name: bidirectional + schema: boolean + required: false + description: '' + - name: delaySec + schema: number + required: false + description: '' + - name: triggerTypes + schema: array + required: false + description: '' + - name: alertFilter + schema: object + required: false + description: '' + - name: params + schema: object + required: false + description: '' + - name: teams + schema: array + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - url: /connectors + method: getAvailableConnectors + httpMethod: get + tag: Connectors + typeScriptTag: connectors + description: Get connectors. + parameters: + - name: startIndex + schema: integer + required: false + description: >- + an integer specifying the starting point (beginning with 0) when + paging through a list of entities + default: 0 + - name: maxResults + schema: integer + required: false + description: the maximum number of results when paging through a list of entities. + default: 50 + responses: + - statusCode: '200' + description: '' + - url: /connectors + method: createNewConnector + httpMethod: post + tag: Connectors + typeScriptTag: connectors + description: Create a new connector. + parameters: + - name: id + schema: string + required: false + description: '' + - name: type + schema: string + required: true + description: '' + example: TYPE + - name: name + schema: string + required: true + description: '' + example: NAME + - name: createdAt + schema: string + required: false + description: '' + - name: updatedAt + schema: string + required: false + description: '' + - name: params + schema: object + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - url: /connectors/{id} + method: removeSpecificConnector + httpMethod: delete + tag: Connectors + typeScriptTag: connectors + description: Remove a specific connector. + parameters: + - name: id + schema: string + required: true + description: entity ID + example: ID + responses: + - statusCode: '204' + description: Empty body delete response + - url: /connectors/{id} + method: getSpecificConnector + httpMethod: get + tag: Connectors + typeScriptTag: connectors + description: Get a specific connector. + parameters: + - name: id + schema: string + required: true + description: entity ID + example: ID + responses: + - statusCode: '200' + description: '' + - url: /connectors/{id} + method: updateSpecificConnector + httpMethod: put + tag: Connectors + typeScriptTag: connectors + description: 'Update the specific connector. (note: type cannot be changed)' + parameters: + - name: id + schema: string + required: true + description: entity ID + example: ID + - name: id + schema: string + required: false + description: '' + - name: type + schema: string + required: true + description: '' + example: TYPE + - name: name + schema: string + required: true + description: '' + example: NAME + - name: createdAt + schema: string + required: false + description: '' + - name: updatedAt + schema: string + required: false + description: '' + - name: params + schema: object + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - url: /teams + method: getAll + httpMethod: get + tag: Teams + typeScriptTag: teams + description: Get teams. + parameters: + - name: startIndex + schema: integer + required: false + description: >- + an integer specifying the starting point (beginning with 0) when + paging through a list of entities + default: 0 + - name: maxResults + schema: integer + required: false + description: the maximum number of results when paging through a list of entities. + default: 50 + - name: members + schema: number + required: false + description: >- + optional, filter teams for specific members (currently only a single + occurrence of this param is allowed) + responses: + - statusCode: '200' + description: '' + - url: /teams + method: createNewTeam + httpMethod: post + tag: Teams + typeScriptTag: teams + description: Create a new team. + parameters: + - name: id + schema: integer + description: '' + - name: name + schema: string + description: '' + - name: visibility + schema: string + description: '' + - name: members + schema: array + description: '' + - name: createdAt + schema: string + description: '' + - name: updatedAt + schema: string + description: '' + responses: + - statusCode: '200' + description: '' + - url: /teams/{id} + method: removeSpecificTeam + httpMethod: delete + tag: Teams + typeScriptTag: teams + description: Remove a specific team. + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + responses: + - statusCode: '204' + description: Empty body delete response + - url: /teams/{id} + method: getDetails + httpMethod: get + tag: Teams + typeScriptTag: teams + description: Get a specific team. + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + responses: + - statusCode: '200' + description: '' + - url: /teams/{id} + method: updateSpecificTeam + httpMethod: put + tag: Teams + typeScriptTag: teams + description: Update the specific team + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + - name: id + schema: integer + description: '' + - name: name + schema: string + description: '' + - name: visibility + schema: string + description: '' + - name: members + schema: array + description: '' + - name: createdAt + schema: string + description: '' + - name: updatedAt + schema: string + description: '' + responses: + - statusCode: '200' + description: '' + - url: /teams/{id}/members + method: addNewMember + httpMethod: post + tag: Teams + typeScriptTag: teams + description: Add a new team member to specific team + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + - name: user + schema: object + description: '' + - name: role + schema: string + description: '' + responses: + - statusCode: '200' + description: '' + - url: /teams/{id}/members/{id} + method: removeSpecificMember + httpMethod: delete + tag: Teams + typeScriptTag: teams + description: Remove a specific member of a specific team. + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + responses: + - statusCode: '204' + description: Empty body delete response + - url: /reports/alerts + method: listAlertMetrics + httpMethod: get + tag: Reports + typeScriptTag: reports + description: List alert metrics for the requested resources + parameters: + - name: sources + schema: number + required: false + description: alert source ids to filter metrics for + - name: policies + schema: number + required: false + description: escalation policy ids to filter metrics for + - name: numbers + schema: string + required: false + description: phone numbers of call routing numbers to filter metrics for + - name: from + schema: string + required: true + description: >- + date-time ISO-UTC e.g. 2021-05-25T21:24:56.771Z, start of the time + range, may not exceed 1 year in total span + example: FROM + - name: until + schema: string + required: true + description: >- + date-time ISO-UTC e.g. 2021-05-25T21:24:56.771Z, end of the time + range, must be after 'from', must not be in the future + example: UNTIL + - name: timezone + schema: string + required: false + description: >- + Time zone in which the results will be rendered, defaults to tenant's + configured default timezone + - name: metric + schema: string + required: false + description: >- + Describes the metric that should be fetched choose one of: COUNT, MTTA + or MTTR - defaults to COUNT + - name: groupBy + schema: string + required: false + description: >- + Defines the grouping of metrics, choose one of: DAY, WEEK or MONTH - + defaults to WEEK + - name: priority + schema: string + required: false + description: >- + Sets the priority filter that should be applied, choose one of: LOW, + HIGH or ALL - defaults to ALL + responses: + - statusCode: '200' + description: '' + - url: /reports/alerts/summary + method: summarizeAlertMetrics + httpMethod: get + tag: Reports + typeScriptTag: reports + description: Summarize a list of alert metrics + parameters: + - name: sources + schema: number + required: false + description: alert source ids to filter metrics for + - name: policies + schema: number + required: false + description: escalation policy ids to filter metrics for + - name: numbers + schema: string + required: false + description: phone numbers of call routing numbers to filter metrics for + - name: from + schema: string + required: true + description: >- + date-time ISO-UTC e.g. 2021-05-25T21:24:56.771Z, start of the time + range, may not exceed 1 year in total span + example: FROM + - name: until + schema: string + required: true + description: >- + date-time ISO-UTC e.g. 2021-05-25T21:24:56.771Z, end of the time + range, must be after 'from', must not be in the future + example: UNTIL + - name: timezone + schema: string + required: false + description: >- + Time zone in which the results will be rendered, defaults to tenant's + configured default timezone + - name: metric + schema: string + required: false + description: >- + Describes the metric that should be fetched choose one of: COUNT, MTTA + or MTTR - defaults to COUNT + - name: groupBy + schema: string + required: false + description: >- + Defines the grouping of metrics, choose one of: DAY, WEEK or MONTH - + defaults to WEEK + - name: priority + schema: string + required: false + description: >- + Sets the priority filter that should be applied, choose one of: LOW, + HIGH or ALL - defaults to ALL + responses: + - statusCode: '200' + description: '' + - url: /reports/api-keys/usage + method: listApiKeyUsageMetrics + httpMethod: get + tag: Reports + typeScriptTag: reports + description: List API key usage metrics for the requested resources + parameters: + - name: scopes + schema: string + required: false + description: >- + scopes of our API resources e.g. alert see + https://docs.ilert.com/rest-api/developing-ilert-apps/token-lifetimes-error-codes-app-verification-etc.#ilert-oauth2-scopes + - name: from + schema: string + required: true + description: >- + date-time ISO-UTC e.g. 2021-05-25T21:24:56.771Z, start of the time + range, may not exceed 1 month (31 days) in total span (use this to + paginate) + example: FROM + - name: until + schema: string + required: true + description: >- + date-time ISO-UTC e.g. 2021-05-25T21:24:56.771Z, end of the time + range, must be after 'from', must not be in the future (use this to + paginate) + example: UNTIL + - name: timezone + schema: string + required: false + description: >- + Time zone in which the results will be rendered, defaults to tenant's + configured default timezone + responses: + - statusCode: '200' + description: '' + - url: /incident-templates + method: getList + httpMethod: get + tag: Incident Templates + typeScriptTag: incidentTemplates + description: Get incident templates. + parameters: + - name: startIndex + schema: integer + required: false + description: >- + an integer specifying the starting point (beginning with 0) when + paging through a list of entities + default: 0 + - name: maxResults + schema: integer + required: false + description: the maximum number of results when paging through a list of entities. + default: 50 + responses: + - statusCode: '200' + description: '' + - url: /incident-templates + method: createNewTemplate + httpMethod: post + tag: Incident Templates + typeScriptTag: incidentTemplates + description: Create a new incident template. + parameters: + - name: summary + schema: string + description: '' + - name: id + schema: number + description: '' + - name: name + schema: string + description: '' + - name: status + schema: string + description: '' + - name: message + schema: string + description: '' + - name: sendNotification + schema: boolean + description: '' + - name: teams + schema: array + description: '' + responses: + - statusCode: '200' + description: '' + - url: /incident-templates/{id} + method: removeSpecificTemplate + httpMethod: delete + tag: Incident Templates + typeScriptTag: incidentTemplates + description: Remove a specific incident template. + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + responses: + - statusCode: '204' + description: Empty body delete response + - url: /incident-templates/{id} + method: getSpecificTemplate + httpMethod: get + tag: Incident Templates + typeScriptTag: incidentTemplates + description: Get a specific incident template. + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + responses: + - statusCode: '200' + description: '' + - url: /incident-templates/{id} + method: updateSpecificTemplate + httpMethod: put + tag: Incident Templates + typeScriptTag: incidentTemplates + description: Update the specific incident template + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + - name: summary + schema: string + description: '' + - name: id + schema: number + description: '' + - name: name + schema: string + description: '' + - name: status + schema: string + description: '' + - name: message + schema: string + description: '' + - name: sendNotification + schema: boolean + description: '' + - name: teams + schema: array + description: '' + responses: + - statusCode: '200' + description: '' + - url: /services + method: listAvailableServices + httpMethod: get + tag: Services + typeScriptTag: services + description: Get services. + parameters: + - name: startIndex + schema: integer + required: false + description: >- + an integer specifying the starting point (beginning with 0) when + paging through a list of entities + default: 0 + - name: maxResults + schema: integer + required: false + description: >- + the maximum number of results when paging through a list of services. + (Note: when using ?include maximum is reduced to 25) + default: 10 + - name: include + schema: array + required: false + description: >- + Describes optional properties that should be included in the response. + You may declare multiple. (subscribed, uptime, incidents) + responses: + - statusCode: '200' + description: '' + - url: /services + method: createService + httpMethod: post + tag: Services + typeScriptTag: services + description: Create a new service. + parameters: + - name: description + schema: string + description: '' + - name: id + schema: number + description: '' + - name: name + schema: string + description: '' + - name: status + schema: string + description: '' + - name: oneOpenIncidentOnly + schema: boolean + description: '' + - name: showUptimeHistory + schema: boolean + description: '' + - name: teams + schema: array + description: '' + responses: + - statusCode: '200' + description: '' + - url: /services/{id} + method: removeSpecificService + httpMethod: delete + tag: Services + typeScriptTag: services + description: Remove a specific service. + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + responses: + - statusCode: '204' + description: Empty body delete response + - url: /services/{id} + method: getSpecificService + httpMethod: get + tag: Services + typeScriptTag: services + description: Get a specific service. + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + - name: include + schema: array + required: false + description: >- + Describes optional properties that should be included in the response. + You may declare multiple. (subscribed, uptime, incidents) + responses: + - statusCode: '200' + description: '' + - url: /services/{id} + method: updateSpecificService + httpMethod: put + tag: Services + typeScriptTag: services + description: Update the specific service + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + - name: description + schema: string + description: '' + - name: id + schema: number + description: '' + - name: name + schema: string + description: '' + - name: status + schema: string + description: '' + - name: oneOpenIncidentOnly + schema: boolean + description: '' + - name: showUptimeHistory + schema: boolean + description: '' + - name: teams + schema: array + description: '' + responses: + - statusCode: '200' + description: '' + - url: /automation-rules + method: getDeprecatedRules + httpMethod: get + tag: Automation Rules + typeScriptTag: automationRules + description: Get automation rules. + parameters: + - name: startIndex + schema: integer + required: false + description: >- + an integer specifying the starting point (beginning with 0) when + paging through a list of entities + default: 0 + - name: maxResults + schema: integer + required: false + description: the maximum number of results when paging through a list of entities. + default: 50 + - name: service + schema: number + required: true + description: >- + The service id for which automation rules are filtered for, this param + is required + example: 0 + - name: source + schema: number + required: false + description: >- + The alert source id for which automation rules are filtered for, this + param is an alternative to service + - name: statusPage + schema: number + required: false + description: >- + The status page id for which automation rules are filtered for, this + param is an alternative to service + responses: + - statusCode: '200' + description: '' + - url: /automation-rules + method: createNewRule + httpMethod: post + tag: Automation Rules + typeScriptTag: automationRules + description: Create a new automation rule. + parameters: + - name: id + schema: string + description: '' + - name: alertType + schema: string + description: '' + - name: resolveIncident + schema: boolean + description: '' + - name: resolveService + schema: boolean + description: '' + - name: serviceStatus + schema: string + description: '' + - name: template + schema: object + description: '' + - name: service + schema: object + description: '' + - name: alertSource + schema: object + description: '' + - name: sendNotification + schema: boolean + description: '' + responses: + - statusCode: '200' + description: '' + - url: /automation-rules/{id} + method: removeSpecificRule + httpMethod: delete + tag: Automation Rules + typeScriptTag: automationRules + description: Remove a specific automation rule. + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + responses: + - statusCode: '204' + description: Empty body delete response + - url: /automation-rules/{id} + method: getSpecificRule + httpMethod: get + tag: Automation Rules + typeScriptTag: automationRules + description: Get a specific automation rule. + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + responses: + - statusCode: '200' + description: '' + - url: /automation-rules/{id} + method: updateSpecificRule + httpMethod: put + tag: Automation Rules + typeScriptTag: automationRules + description: Update the specific automation rule + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + - name: id + schema: string + description: '' + - name: alertType + schema: string + description: '' + - name: resolveIncident + schema: boolean + description: '' + - name: resolveService + schema: boolean + description: '' + - name: serviceStatus + schema: string + description: '' + - name: template + schema: object + description: '' + - name: service + schema: object + description: '' + - name: alertSource + schema: object + description: '' + - name: sendNotification + schema: boolean + description: '' + responses: + - statusCode: '200' + description: '' + - url: /incidents + method: getIncidentList + httpMethod: get + tag: Incidents + typeScriptTag: incidents + description: Get incidents. + parameters: + - name: startIndex + schema: integer + required: false + description: >- + an integer specifying the starting point (beginning with 0) when + paging through a list of entities + default: 0 + - name: maxResults + schema: integer + required: false + description: >- + the maximum number of results when paging through a list of incidents. + (Note: when using ?include maximum is reduced to 25) + default: 10 + - name: include + schema: array + required: false + description: >- + Describes optional properties that should be included in the response. + You may declare multiple. (https://api.ilert.com/api-docs + - name: states + schema: array + description: state of the alert + - name: services + schema: array + description: service IDs of the incident's affected services + - name: from + schema: string + description: from date, ISO-UTC e.g. 2021-05-25T21:24:56.771Z, based on reportTime + - name: until + schema: string + description: until date, ISO-UTC e.g. 2021-05-26T21:24:56.771Z, based on reportTime + responses: + - statusCode: '200' + description: '' + - url: /incidents + method: createNewIncident + httpMethod: post + tag: Incidents + typeScriptTag: incidents + description: Create a new incident. + parameters: + - name: summary + schema: string + description: '' + - name: id + schema: number + description: '' + - name: status + schema: string + description: '' + - name: message + schema: string + description: '' + - name: sendNotification + schema: boolean + description: '' + - name: createdAt + schema: string + description: '' + - name: updatedAt + schema: string + description: '' + - name: affectedServices + schema: array + description: '' + - name: resolvedOn + schema: string + description: '' + responses: + - statusCode: '200' + description: '' + - url: /incidents/publish-info + method: forecastAffectedSubscribersAndStatusPages + httpMethod: post + tag: Incidents + typeScriptTag: incidents + description: Forecast the affected subscribers and status pages + parameters: + - name: summary + schema: string + description: '' + - name: id + schema: number + description: '' + - name: status + schema: string + description: '' + - name: message + schema: string + description: '' + - name: sendNotification + schema: boolean + description: '' + - name: createdAt + schema: string + description: '' + - name: updatedAt + schema: string + description: '' + - name: affectedServices + schema: array + description: '' + - name: resolvedOn + schema: string + description: '' + responses: + - statusCode: '200' + description: '' + - url: /incidents/{id} + method: getSpecificIncident + httpMethod: get + tag: Incidents + typeScriptTag: incidents + description: Get a specific incident. + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + - name: include + schema: array + required: false + description: >- + Describes optional properties that should be included in the response. + You may declare multiple. (subscribed, affectedTeams, history) + responses: + - statusCode: '200' + description: '' + - url: /incidents/{id} + method: updateSpecificIncident + httpMethod: put + tag: Incidents + typeScriptTag: incidents + description: Update the specific incident. + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + - name: ifMatch + schema: string + required: false + description: >- + Should be the ETag response header retrieved from GET /incidents/{id} + to prevent updating the incident based on outdated information. Will + return 412 status code in case of conflict. + - name: summary + schema: string + description: '' + - name: id + schema: number + description: '' + - name: status + schema: string + description: '' + - name: message + schema: string + description: '' + - name: sendNotification + schema: boolean + description: '' + - name: createdAt + schema: string + description: '' + - name: updatedAt + schema: string + description: '' + - name: affectedServices + schema: array + description: '' + - name: resolvedOn + schema: string + description: '' + responses: + - statusCode: '200' + description: '' + - url: /incidents/{id}/private-subscribers + method: getPrivateSubscribers + httpMethod: get + tag: Incidents + typeScriptTag: incidents + description: Get the subscribers (users and teams) of an incident + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + responses: + - statusCode: '200' + description: '' + - url: /incidents/{id}/private-subscribers + method: addSubscribers + httpMethod: post + tag: Incidents + typeScriptTag: incidents + description: Add subscribers (users and teams) to an incident + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + responses: + - statusCode: '204' + description: '' + - url: /services/{id}/private-subscribers + method: getSubscribers + httpMethod: get + tag: Services + typeScriptTag: services + description: Get the subscribers (users and teams) of a service + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + responses: + - statusCode: '200' + description: '' + - url: /services/{id}/private-subscribers + method: setPrivateSubscribers + httpMethod: put + tag: Services + typeScriptTag: services + description: Set subscribers (users and teams) of a service + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + responses: + - statusCode: '204' + description: '' + - url: /status-pages + method: getStatusPages + httpMethod: get + tag: Status Pages + typeScriptTag: statusPages + description: Get status pages. + parameters: + - name: startIndex + schema: integer + required: false + description: >- + an integer specifying the starting point (beginning with 0) when + paging through a list of entities + default: 0 + - name: maxResults + schema: integer + required: false + description: >- + the maximum number of results when paging through a list of status + pages. + default: 25 + - name: include + schema: array + required: false + description: >- + Describes optional properties that should be included in the response. + You may declare multiple. (https://api.ilert.com/api-docs + responses: + - statusCode: '200' + description: '' + - url: /status-pages + method: createNewStatusPage + httpMethod: post + tag: Status Pages + typeScriptTag: statusPages + description: Create a new status page. + parameters: + - name: id + schema: number + description: '' + - name: name + schema: string + description: '' + - name: domain + schema: string + description: '' + - name: subdomain + schema: string + description: '' + - name: timezone + schema: string + description: '' + - name: faviconUrl + schema: string + description: '' + - name: logoUrl + schema: string + description: '' + - name: visibility + schema: string + description: '' + - name: hiddenFromSearch + schema: boolean + description: '' + - name: showSubscribeAction + schema: boolean + description: '' + - name: showIncidentHistoryOption + schema: boolean + description: '' + - name: pageTitle + schema: string + description: '' + - name: pageDescription + schema: string + description: '' + - name: pageLayout + schema: string + description: '' + - name: logoRedirectUrl + schema: string + description: '' + - name: activated + schema: boolean + description: '' + - name: status + schema: string + description: '' + - name: teams + schema: array + description: '' + - name: services + schema: array + description: '' + - name: metrics + schema: array + description: '' + - name: ipWhitelist + schema: array + description: '' + - name: structure + schema: object + description: '' + - name: appearance + schema: string + description: '' + responses: + - statusCode: '200' + description: '' + - url: /status-pages/{id} + method: removeSpecificPage + httpMethod: delete + tag: Status Pages + typeScriptTag: statusPages + description: Remove a specific status page. + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + responses: + - statusCode: '204' + description: Empty body delete response + - url: /status-pages/{id} + method: getPageDetails + httpMethod: get + tag: Status Pages + typeScriptTag: statusPages + description: Get a specific status page. + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + - name: include + schema: array + required: false + description: >- + Describes optional properties that should be included in the response. + You may declare multiple. (subscribed, uptime, groups, structure). + Note: structure is always included by default. + responses: + - statusCode: '200' + description: '' + - url: /status-pages/{id} + method: updateSpecificPage + httpMethod: put + tag: Status Pages + typeScriptTag: statusPages + description: Update the specific status page + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + - name: id + schema: number + description: '' + - name: name + schema: string + description: '' + - name: domain + schema: string + description: '' + - name: subdomain + schema: string + description: '' + - name: timezone + schema: string + description: '' + - name: faviconUrl + schema: string + description: '' + - name: logoUrl + schema: string + description: '' + - name: visibility + schema: string + description: '' + - name: hiddenFromSearch + schema: boolean + description: '' + - name: showSubscribeAction + schema: boolean + description: '' + - name: showIncidentHistoryOption + schema: boolean + description: '' + - name: pageTitle + schema: string + description: '' + - name: pageDescription + schema: string + description: '' + - name: pageLayout + schema: string + description: '' + - name: logoRedirectUrl + schema: string + description: '' + - name: activated + schema: boolean + description: '' + - name: status + schema: string + description: '' + - name: teams + schema: array + description: '' + - name: services + schema: array + description: '' + - name: metrics + schema: array + description: '' + - name: ipWhitelist + schema: array + description: '' + - name: structure + schema: object + description: '' + - name: appearance + schema: string + description: '' + responses: + - statusCode: '200' + description: '' + - url: /status-pages/{id}/groups + method: getGroups + httpMethod: get + tag: Status Pages + typeScriptTag: statusPages + description: Get the groups of a status page + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + - name: startIndex + schema: integer + required: false + description: >- + an integer specifying the starting point (beginning with 0) when + paging through a list of entities + default: 0 + - name: maxResults + schema: integer + required: false + description: the maximum number of results when paging through a list of entities. + default: 50 + responses: + - statusCode: '200' + description: '' + - url: /status-pages/{id}/groups + method: addGroupToPage + httpMethod: post + tag: Status Pages + typeScriptTag: statusPages + description: Add a group to a status page + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + - name: id + schema: number + description: '' + - name: name + schema: string + description: '' + responses: + - statusCode: '201' + description: '' + - url: /status-pages/{id}/groups/{group-id} + method: removeGroup + httpMethod: delete + tag: Status Pages + typeScriptTag: statusPages + description: Remove group from a status page + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + - name: groupId + schema: number + required: true + description: entity ID + example: 0 + responses: + - statusCode: '204' + description: '' + - url: /status-pages/{id}/groups/{group-id} + method: getSpecificGroup + httpMethod: get + tag: Status Pages + typeScriptTag: statusPages + description: Get a specific group of a status page + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + - name: groupId + schema: number + required: true + description: entity ID + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '404' + description: '' + - url: /status-pages/{id}/groups/{group-id} + method: updateGroup + httpMethod: put + tag: Status Pages + typeScriptTag: statusPages + description: Update a group of a status page + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + - name: groupId + schema: number + required: true + description: entity ID + example: 0 + - name: id + schema: number + description: '' + - name: name + schema: string + description: '' + responses: + - statusCode: '200' + description: '' + - url: /status-pages/{id}/private-subscribers + method: removeSubscriber + httpMethod: delete + tag: Status Pages + typeScriptTag: statusPages + description: Remove subscriber (user and team) from a status page + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + - name: id + schema: number + description: '' + - name: name + schema: string + description: '' + - name: type + schema: string + description: '' + responses: + - statusCode: '204' + description: '' + - url: /status-pages/{id}/private-subscribers + method: getPrivateSubscribers + httpMethod: get + tag: Status Pages + typeScriptTag: statusPages + description: Get the subscribers (users and teams) of a status page + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + responses: + - statusCode: '200' + description: '' + - url: /status-pages/{id}/private-subscribers + method: addSubscriber + httpMethod: post + tag: Status Pages + typeScriptTag: statusPages + description: Add subscriber (user and team) to a status page + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + - name: id + schema: number + description: '' + - name: name + schema: string + description: '' + - name: type + schema: string + description: '' + responses: + - statusCode: '204' + description: '' + - url: /status-pages/{id}/private-subscribers + method: setPrivateSubscribers + httpMethod: put + tag: Status Pages + typeScriptTag: statusPages + description: Set subscribers (users and teams) of a status page + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + responses: + - statusCode: '204' + description: '' + - url: /service-outages + method: getServiceOutages + httpMethod: get + tag: Service Outages + typeScriptTag: serviceOutages + description: Get the outages (including applied overrides) of a specific service + parameters: + - name: service + schema: number + description: the id of the service for which the outages should be fetched + - name: from + schema: string + description: from date, ISO-UTC e.g. 2021-05-25T21:24:56.771Z + - name: until + schema: string + description: until date, ISO-UTC e.g. 2021-05-26T21:24:56.771Z + - name: ignoreOverrides + schema: boolean + description: >- + if the outages should not take overrides into account, default is + false + responses: + - statusCode: '200' + description: '' + - url: /service-outages/overrides + method: getOverrides + httpMethod: get + tag: Service Outages + typeScriptTag: serviceOutages + description: Get the overrides of a specific service + parameters: + - name: service + schema: number + description: the id of the service for which the overrides should be fetched + - name: from + schema: string + description: from date, ISO-UTC e.g. 2021-05-25T21:24:56.771Z + - name: until + schema: string + description: until date, ISO-UTC e.g. 2021-05-26T21:24:56.771Z + responses: + - statusCode: '200' + description: '' + - url: /service-outages/overrides + method: overridePartHistory + httpMethod: post + tag: Service Outages + typeScriptTag: serviceOutages + description: Override a part of a service's outage history + parameters: + - name: id + schema: string + description: '' + - name: service + schema: object + description: '' + - name: status + schema: string + description: '' + - name: from + schema: string + description: '' + - name: until + schema: string + description: '' + responses: + - statusCode: '201' + description: '' + - url: /service-outages/overrides/{id} + method: removeOverride + httpMethod: delete + tag: Service Outages + typeScriptTag: serviceOutages + description: Remove a service outage override + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + responses: + - statusCode: '204' + description: '' + - url: /service-outages/overrides/{id} + method: getSpecificOverride + httpMethod: get + tag: Service Outages + typeScriptTag: serviceOutages + description: Get the specific service outage override + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + responses: + - statusCode: '200' + description: '' + - url: /service-outages/overrides/{id} + method: updateOverride + httpMethod: put + tag: Service Outages + typeScriptTag: serviceOutages + description: Update an existing service outage override + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + - name: id + schema: string + description: '' + - name: service + schema: object + description: '' + - name: status + schema: string + description: '' + - name: from + schema: string + description: '' + - name: until + schema: string + description: '' + responses: + - statusCode: '200' + description: '' + - url: /metric-data-sources + method: list + httpMethod: get + tag: Metric Data Sources + typeScriptTag: metricDataSources + description: Get Metric Data Sources + parameters: + - name: startIndex + schema: integer + required: false + description: >- + an integer specifying the starting point (beginning with 0) when + paging through a list of entities + default: 0 + - name: maxResults + schema: integer + required: false + description: >- + the maximum number of results when paging through a list of metric + data sources + default: 10 + responses: + - statusCode: '200' + description: '' + - url: /metric-data-sources + method: createNewMetricDataSource + httpMethod: post + tag: Metric Data Sources + typeScriptTag: metricDataSources + description: Create a new Metric Data Source. + parameters: + - name: name + schema: string + required: true + description: '' + example: NAME + - name: type + schema: string + required: true + description: '' + example: TYPE + - name: teams + schema: array + required: false + description: '' + - name: metadata + schema: undefined + required: true + description: '' + responses: + - statusCode: '200' + description: '' + - url: /metric-data-sources/{id} + method: deleteSpecificDataSource + httpMethod: delete + tag: Metric Data Sources + typeScriptTag: metricDataSources + description: Delete a specific Metric Data Source + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + responses: + - statusCode: '204' + description: Empty body delete response + - url: /metric-data-sources/{id} + method: getSpecificDataSource + httpMethod: get + tag: Metric Data Sources + typeScriptTag: metricDataSources + description: Get a specific Metric Data Source + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + responses: + - statusCode: '200' + description: '' + - url: /metric-data-sources/{id} + method: updateSpecificDataSource + httpMethod: put + tag: Metric Data Sources + typeScriptTag: metricDataSources + description: Update the specific Metric Data Source + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + - name: name + schema: string + required: true + description: '' + example: NAME + - name: type + schema: string + required: true + description: '' + example: TYPE + - name: teams + schema: array + required: false + description: '' + - name: metadata + schema: undefined + required: true + description: '' + responses: + - statusCode: '200' + description: '' + - url: /metrics + method: getMetrics + httpMethod: get + tag: Metrics + typeScriptTag: metrics + description: Get metrics. + parameters: + - name: startIndex + schema: integer + required: false + description: >- + an integer specifying the starting point (beginning with 0) when + paging through a list of entities + default: 0 + - name: maxResults + schema: integer + required: false + description: >- + the maximum number of results when paging through a list of metrics. + (Note: when using ?include maximum is reduced to 25) + default: 10 + - name: include + schema: array + required: false + description: >- + Describes optional properties that should be included in the response. + You may declare multiple. (dataSource, integrationKey) + responses: + - statusCode: '200' + description: '' + - url: /metrics + method: createNewMetric + httpMethod: post + tag: Metrics + typeScriptTag: metrics + description: Create a new metric. + parameters: + - name: description + schema: string + required: false + description: '' + - name: name + schema: string + required: true + description: '' + example: NAME + - name: aggregationType + schema: string + required: true + description: '' + example: AGGREGATIONTYPE + - name: displayType + schema: string + required: true + description: '' + example: DISPLAYTYPE + - name: interpolateGaps + schema: boolean + required: false + description: '' + default: 'false' + - name: lockYAxisMax + schema: number + required: false + description: '' + default: null + - name: lockYAxisMin + schema: number + required: false + description: '' + default: null + - name: mouseOverDecimal + schema: number + required: false + description: '' + default: 0 + - name: showValuesOnMouseOver + schema: boolean + required: false + description: '' + default: false + - name: teams + schema: array + required: false + description: '' + - name: unitLabel + schema: string + required: false + description: '' + - name: metadata + schema: undefined + required: false + description: '' + default: null + - name: dataSource + schema: object + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - url: /metric/{id} + method: deleteSpecificMetric + httpMethod: delete + tag: Metrics + typeScriptTag: metrics + description: Delete the specific Metric + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + responses: + - statusCode: '204' + description: Empty body delete response + - url: /metric/{id} + method: getSpecificMetric + httpMethod: get + tag: Metrics + typeScriptTag: metrics + description: Get a specific Metric + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + responses: + - statusCode: '200' + description: '' + - url: /metric/{id} + method: updateSpecificMetric + httpMethod: put + tag: Metrics + typeScriptTag: metrics + description: Update the specific Metric + parameters: + - name: id + schema: number + required: true + description: entity ID + example: 0 + - name: description + schema: string + required: false + description: '' + - name: name + schema: string + required: true + description: '' + example: NAME + - name: aggregationType + schema: string + required: true + description: '' + example: AGGREGATIONTYPE + - name: displayType + schema: string + required: true + description: '' + example: DISPLAYTYPE + - name: interpolateGaps + schema: boolean + required: false + description: '' + default: 'false' + - name: lockYAxisMax + schema: number + required: false + description: '' + default: null + - name: lockYAxisMin + schema: number + required: false + description: '' + default: null + - name: mouseOverDecimal + schema: number + required: false + description: '' + default: 0 + - name: showValuesOnMouseOver + schema: boolean + required: false + description: '' + default: false + - name: teams + schema: array + required: false + description: '' + - name: unitLabel + schema: string + required: false + description: '' + - name: metadata + schema: undefined + required: false + description: '' + default: null + - name: dataSource + schema: object + required: false + description: '' + responses: + - statusCode: '200' + description: '' +numberOfSchemas: 207 +apiDescription: >- + + The ilert API is a + [RESTful](https://en.wikipedia.org/wiki/Representational_state_transfer) API + and provides programmatic access to entities in ilert and lets you easily + integrate ilert with 3rd party tools. If you are looking to develop an inbound + integration (e.g. for a monitoring tool), please use our [Events + API](https://api.ilert.com). + + + The API supports the JSON content type for requests and responses. The + response content type is requested via the HTTP Accept header + (`application/json`). All resources are accessible via https and are located + at `api.ilert.com/api`. + + ## Authentication + + The REST API accepts bearer API tokens. Each user may create API keys using + the ilert web application. Note: Make sure to send the `Bearer ` prefix e.g. + `Bearer APIKEY` when sending api key requests. By default, access to all + resources (using any method) requires the client to be authenticated. + + + ## Team Context + When using API tokens, the currently selected team context of the user will not be taken into account, i.e. list results will always return all entities to which the user has a view permission. When using basic auth credentials the currently selected team context of the user will be used to filter resource results. The context may be overwritten for API key calls using the `team-context` HTTP header. Specifying `0` for ALL teams, `-1` for MY teams or a specific team id e.g. `team-context=901` to fetch results for a certain team. + + ## Errors + + ilert uses HTTP response codes to indicate success or failure of an API + request. Codes in the 2xx range indicate success, codes in the 4xx range + indicate a client error (e.g. a missing required parameter) and codes in the + 5xx range indicate an error with ilert's servers. In case of an error, the + response body contains the following information: + + Attribute | Description + ------------- | ------------- + status | the corresponsing HTTP status code + message | a human readable description of the error + code | error code, used to identify error type + + ## API Versioning + + Changes to our API are always backwards-compatible. To get more information + about our API versioning and historical changes, please take a look here. diff --git a/sdks/db/cached-method-objects/from-custom-request_inmobile.com.yaml b/sdks/db/cached-method-objects/from-custom-request_inmobile.com.yaml new file mode 100644 index 0000000000..83152d3720 --- /dev/null +++ b/sdks/db/cached-method-objects/from-custom-request_inmobile.com.yaml @@ -0,0 +1,1062 @@ +hash: 15c70ef6e4b8e6661dd7a866838e21afd458cd188f6d65b3b338c31408ca0386 +methodObjects: + - url: /v4/blacklist + method: getAll + httpMethod: get + tag: Blacklist + typeScriptTag: blacklist + description: Returns all blacklists (Paged result. Follow _links.next to fetch all) + parameters: + - name: pageLimit + schema: integer + description: How many records to return (must be between 1 and 250) + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '500' + description: '' + - url: /v4/blacklist + method: create + httpMethod: post + tag: Blacklist + typeScriptTag: blacklist + description: Create an entry in blacklist + parameters: [] + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '409' + description: '' + - statusCode: '500' + description: '' + - url: /v4/blacklist/{blackListId} + method: delete + httpMethod: delete + tag: Blacklist + typeScriptTag: blacklist + description: Delete entry by id + parameters: + - name: blackListId + schema: string + required: true + description: Id of the blacklist + example: BLACKLISTID + responses: + - statusCode: '204' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '404' + description: '' + - statusCode: '500' + description: '' + - url: /v4/blacklist/{blackListId} + method: get + httpMethod: get + tag: Blacklist + typeScriptTag: blacklist + description: Get entry by id + parameters: + - name: blackListId + schema: string + required: true + description: Id of the blacklist + example: BLACKLISTID + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '404' + description: '' + - statusCode: '500' + description: '' + - url: /v4/blacklist/ByNumber + method: deleteByNumber + httpMethod: delete + tag: Blacklist + typeScriptTag: blacklist + description: Delete entry by number + parameters: + - name: countryCode + schema: string + description: '' + - name: phoneNumber + schema: string + description: '' + responses: + - statusCode: '204' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '404' + description: '' + - statusCode: '500' + description: '' + - url: /v4/blacklist/ByNumber + method: getByNumber + httpMethod: get + tag: Blacklist + typeScriptTag: blacklist + description: Get entry by number + parameters: + - name: countryCode + schema: string + description: '' + - name: phoneNumber + schema: string + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '404' + description: '' + - statusCode: '500' + description: '' + - url: /v4/email/outgoing/sendusingtemplate + method: sendUsingTemplate + httpMethod: post + tag: Email + typeScriptTag: email + description: Send an email using a template + parameters: [] + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '500' + description: '' + - url: /v4/email/outgoing + method: send + httpMethod: post + tag: Email + typeScriptTag: email + description: Send an email + parameters: [] + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '500' + description: '' + - url: /v4/email/outgoing/events + method: getEvents + httpMethod: get + tag: Email + typeScriptTag: email + description: Get email events + parameters: + - name: limit + schema: integer + description: How many events to return (must be between 1 and 250) + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '500' + description: '' + - url: /v4/email/templates + method: getAllEmailTemplates + httpMethod: get + tag: Email Templates + typeScriptTag: emailTemplates + description: Get all email templates + parameters: + - name: pageLimit + schema: integer + description: How many records to return (must be between 1 and 250) + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '500' + description: '' + - url: /v4/email/templates/{id} + method: getEmailTemplate + httpMethod: get + tag: Email Templates + typeScriptTag: emailTemplates + description: Get email template by id + parameters: + - name: id + schema: string + required: true + description: '' + example: ID + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '404' + description: '' + - statusCode: '500' + description: '' + - url: /v4/sms/gdpr/deletionrequests + method: deletionRequests + httpMethod: post + tag: Gdpr + typeScriptTag: gdpr + description: Create information Deletion Request + parameters: + - name: numberInfo + schema: object + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '500' + description: '' + - url: /v4/lists + method: getAllLists + httpMethod: get + tag: Lists + typeScriptTag: lists + description: Get all lists + parameters: + - name: pageLimit + schema: integer + description: How many records to return (must be between 1 and 250) + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '500' + description: '' + - url: /v4/lists + method: createList + httpMethod: post + tag: Lists + typeScriptTag: lists + description: Create list + parameters: + - name: name + schema: string + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '500' + description: '' + - url: /v4/lists/{listId} + method: deleteList + httpMethod: delete + tag: Lists + typeScriptTag: lists + description: Delete list + parameters: + - name: listId + schema: string + required: true + description: Id of the list + example: LISTID + responses: + - statusCode: '204' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '404' + description: '' + - statusCode: '500' + description: '' + - url: /v4/lists/{listId} + method: getList + httpMethod: get + tag: Lists + typeScriptTag: lists + description: Get list + parameters: + - name: listId + schema: string + required: true + description: Id of the list + example: LISTID + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '404' + description: '' + - statusCode: '500' + description: '' + - url: /v4/lists/{listId} + method: updateList + httpMethod: put + tag: Lists + typeScriptTag: lists + description: Update list + parameters: + - name: listId + schema: string + required: true + description: The id of the list + example: LISTID + - name: name + schema: string + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '404' + description: '' + - statusCode: '500' + description: '' + - url: /v4/lists/{listId}/recipients + method: getAllRecipient + httpMethod: get + tag: Lists + typeScriptTag: lists + description: Get all recipients in a list + parameters: + - name: listId + schema: string + required: true + description: Id of the list + example: LISTID + - name: pageLimit + schema: integer + description: How many records to return (must be between 1 and 250) + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '500' + description: '' + - url: /v4/lists/{listId}/recipients + method: createRecipient + httpMethod: post + tag: Lists + typeScriptTag: lists + description: Create recipient + parameters: + - name: listId + schema: string + required: true + description: Id of the list + example: LISTID + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '404' + description: '' + - statusCode: '409' + description: '' + - statusCode: '500' + description: '' + - url: /v4/lists/{listId}/recipients/all + method: deleteAllRecipients + httpMethod: delete + tag: Lists + typeScriptTag: lists + description: Deletes all recipients from a list + parameters: + - name: listId + schema: string + required: true + description: Id of the list + example: LISTID + responses: + - statusCode: '204' + description: The affected count + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '404' + description: '' + - statusCode: '500' + description: '' + - url: /v4/lists/{listId}/recipients/{recipientId} + method: deleteRecipient + httpMethod: delete + tag: Lists + typeScriptTag: lists + description: Delete recipient by id + parameters: + - name: listId + schema: string + required: true + description: Id of the list + example: LISTID + - name: recipientId + schema: string + required: true + description: Id of the recipient + example: RECIPIENTID + responses: + - statusCode: '204' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '404' + description: '' + - statusCode: '500' + description: '' + - url: /v4/lists/{listId}/recipients/{recipientId} + method: getRecipient + httpMethod: get + tag: Lists + typeScriptTag: lists + description: Get recipient by id + parameters: + - name: listId + schema: string + required: true + description: Id of the list + example: LISTID + - name: recipientId + schema: string + required: true + description: Id of the recipient + example: RECIPIENTID + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '404' + description: '' + - statusCode: '500' + description: '' + - url: /v4/lists/{listId}/recipients/{recipientId} + method: updateRecipient + httpMethod: put + tag: Lists + typeScriptTag: lists + description: Update recipient + parameters: + - name: listId + schema: string + required: true + description: Id of the list + example: LISTID + - name: recipientId + schema: string + required: true + description: '' + example: RECIPIENTID + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '404' + description: '' + - statusCode: '409' + description: '' + - statusCode: '500' + description: '' + - url: /v4/lists/{listId}/recipients/ByNumber + method: deleteRecipientByNumber + httpMethod: delete + tag: Lists + typeScriptTag: lists + description: Delete recipient by number + parameters: + - name: listId + schema: string + required: true + description: Id of the list + example: LISTID + - name: countryCode + schema: string + description: Target countryCode + - name: phoneNumber + schema: string + description: Target phoneNumber + responses: + - statusCode: '204' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '404' + description: '' + - statusCode: '500' + description: '' + - url: /v4/lists/{listId}/recipients/ByNumber + method: getRecipientByNumber + httpMethod: get + tag: Lists + typeScriptTag: lists + description: Get recipient by number + parameters: + - name: listId + schema: string + required: true + description: Id of the list + example: LISTID + - name: countryCode + schema: string + description: Target countryCode + - name: phoneNumber + schema: string + description: Target phoneNumber + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '404' + description: '' + - statusCode: '500' + description: '' + - url: /v4/lists/{listId}/recipients/ByNumber + method: createOrUpdateRecipientByNumber + httpMethod: post + tag: Lists + typeScriptTag: lists + description: Create or update recipient by number + parameters: + - name: listId + schema: string + required: true + description: Id of the list + example: LISTID + - name: countryCode + schema: string + description: Target countryCode + - name: phoneNumber + schema: string + description: Target phoneNumber + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '404' + description: '' + - statusCode: '500' + description: '' + - url: /v4/sms/incoming/messages + method: getMessages + httpMethod: get + tag: Sms - Incoming + typeScriptTag: smsIncoming + description: Get incoming sms messages. + parameters: + - name: limit + schema: integer + description: How many records to return (must be between 1 and 250) + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '500' + description: '' + - url: /v4/sms/outgoing + method: create + httpMethod: post + tag: Sms - Outgoing + typeScriptTag: smsOutgoing + description: Send sms messages. + parameters: + - name: messages + schema: array + required: true + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '500' + description: '' + - url: /v4/sms/outgoing/sendusingquery + method: sendUsingQueryGet + httpMethod: get + tag: Sms - Outgoing + typeScriptTag: smsOutgoing + description: Send sms messages using query parameters. + parameters: + - name: text + schema: string + description: |- + The text message. + If the max length is exceeded, the message text is truncated and sent. + example: This is a message text to be sent + - name: from + schema: string + description: >- + The sender. This can either be a 3-11 chars text sender or an up to 14 + digit long sender number. + + If the max length is exceeded, the string is truncated. + example: PetShop + - name: flash + schema: boolean + description: >- + If true, the message will be shown as a flash message (also known as a + class0 message) on the target phone. If false, it will be received as + a standard text message. + + Default: false + example: false + - name: encoding + schema: string + description: >- + The encoding of the message. Can be either "gsm7", "ucs2" or "auto". + + "gsm7" is the default alfabet for text messages and when using gsm7, a + single sms message can contain 160 characters. If the length exceeeds + 160 characters, the message is actually split up into parts of 153 + characters and charged according to this. Please note, that a few, + specific characters fill up 2 bytes and count for 2 letters. Ref: + https://en.wikipedia.org/wiki/GSM_03.38 + + "ucs2"" allows for more non-roman characters to be used along with + smileys. When using this encoding, a single message can consist of 70 + characters. If the message exceeds 70 characters, the final message is + actually split into parts of 67 characters. + + "auto" can be used in case the sender wishes to support non-roman + characters but wants to save the expenses on all the trafic that only + contains gsm characters anyway. + + Default: "gsm7" + example: gsm7 + - name: to + schema: string + description: >- + The msisdn (country code and number) to send to. (Remember to include + countrycode in all numbers, e.g. 4512345678). + + If max length is exceeded, the entire api call will fail. + example: '4512345678' + - name: countryHint + schema: string + description: >- + For optimal phone number validation, we encourage you to provide us + with a country code. This can be the numeric country code (like 44) or + the two-letter suffix (like GB). If this field is empty it is + important that you add the country code (e.g 44) in front of the phone + number in “to”. + example: '45' + - name: messageId + schema: string + description: >- + An optional message id used to identify the message. + + If no message id is provided, a new message id is generated and + assigned to the message. This id must be unique across all messages + created on the same account. + + (In case a previous message has been deleted according to GDPR + deletion rules setup on the specific account, the messageId is allowed + to be reused) + + If max length is exceeded, the entire api call will fail. + example: PetShop + - name: respectBlacklist + schema: boolean + description: >- + If true, this message will be blocked from sending if the target + number is on the account's blacklist. If false, the message will be + sent no matter blacklist settings. + + Default: true + example: true + - name: validityPeriodInSeconds + schema: integer + description: >- + The validity period in seconds. Minimum is 60 seconds and maximum is + 172800 (48 hours). + + If not specified, the messages is attempted to be delivered in 48 + hours. A typical use of validityPeriod is for messages that makes no + sense to delivery efter er certain time frame, in the case the phone + is turned of, e.g. two factor codes. + + Please note, that messages are still charged even though the operator + is cancelling the delivery attempt due to an exceeded validity period. + example: 90 + - name: statusCallbackUrl + schema: string + description: >- + In case you would like a callback from us when the message is + delivered, you can specify it here and we will call it when we have + new message statuses. + + The callback payload will be an array of status objects. + + Api calls sending messages with the same apikey will be subject to + being bulked together. + example: https://[your_domain]/your/desired/path + - name: sendTimeUtcTime + schema: string + description: '' + - name: sendTimeLocalServerTime + schema: string + description: '' + - name: msisdnCooldownInMinutes + schema: integer + description: >- + If set, the message will be cancelled if the same mobile number + already have received a SMS within this specified time period. + + Fx. used to prevent spamming a mobile number. + + Minimum 60 minutes (1 hour) and maximum is 43200 minutes (30 days). + example: 1440 + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '500' + description: '' + - url: /v4/sms/outgoing/sendusingquery + method: sendUsingQueryPost + httpMethod: post + tag: Sms - Outgoing + typeScriptTag: smsOutgoing + description: Send sms messages using query parameters. + parameters: + - name: text + schema: string + description: |- + The text message. + If the max length is exceeded, the message text is truncated and sent. + example: This is a message text to be sent + - name: from + schema: string + description: >- + The sender. This can either be a 3-11 chars text sender or an up to 14 + digit long sender number. + + If the max length is exceeded, the string is truncated. + example: PetShop + - name: flash + schema: boolean + description: >- + If true, the message will be shown as a flash message (also known as a + class0 message) on the target phone. If false, it will be received as + a standard text message. + + Default: false + example: false + - name: encoding + schema: string + description: >- + The encoding of the message. Can be either "gsm7", "ucs2" or "auto". + + "gsm7" is the default alfabet for text messages and when using gsm7, a + single sms message can contain 160 characters. If the length exceeeds + 160 characters, the message is actually split up into parts of 153 + characters and charged according to this. Please note, that a few, + specific characters fill up 2 bytes and count for 2 letters. Ref: + https://en.wikipedia.org/wiki/GSM_03.38 + + "ucs2"" allows for more non-roman characters to be used along with + smileys. When using this encoding, a single message can consist of 70 + characters. If the message exceeds 70 characters, the final message is + actually split into parts of 67 characters. + + "auto" can be used in case the sender wishes to support non-roman + characters but wants to save the expenses on all the trafic that only + contains gsm characters anyway. + + Default: "gsm7" + example: gsm7 + - name: to + schema: string + description: >- + The msisdn (country code and number) to send to. (Remember to include + countrycode in all numbers, e.g. 4512345678). + + If max length is exceeded, the entire api call will fail. + example: '4512345678' + - name: countryHint + schema: string + description: >- + For optimal phone number validation, we encourage you to provide us + with a country code. This can be the numeric country code (like 44) or + the two-letter suffix (like GB). If this field is empty it is + important that you add the country code (e.g 44) in front of the phone + number in “to”. + example: '45' + - name: messageId + schema: string + description: >- + An optional message id used to identify the message. + + If no message id is provided, a new message id is generated and + assigned to the message. This id must be unique across all messages + created on the same account. + + (In case a previous message has been deleted according to GDPR + deletion rules setup on the specific account, the messageId is allowed + to be reused) + + If max length is exceeded, the entire api call will fail. + example: PetShop + - name: respectBlacklist + schema: boolean + description: >- + If true, this message will be blocked from sending if the target + number is on the account's blacklist. If false, the message will be + sent no matter blacklist settings. + + Default: true + example: true + - name: validityPeriodInSeconds + schema: integer + description: >- + The validity period in seconds. Minimum is 60 seconds and maximum is + 172800 (48 hours). + + If not specified, the messages is attempted to be delivered in 48 + hours. A typical use of validityPeriod is for messages that makes no + sense to delivery efter er certain time frame, in the case the phone + is turned of, e.g. two factor codes. + + Please note, that messages are still charged even though the operator + is cancelling the delivery attempt due to an exceeded validity period. + example: 90 + - name: statusCallbackUrl + schema: string + description: >- + In case you would like a callback from us when the message is + delivered, you can specify it here and we will call it when we have + new message statuses. + + The callback payload will be an array of status objects. + + Api calls sending messages with the same apikey will be subject to + being bulked together. + example: https://[your_domain]/your/desired/path + - name: sendTimeUtcTime + schema: string + description: '' + - name: sendTimeLocalServerTime + schema: string + description: '' + - name: msisdnCooldownInMinutes + schema: integer + description: >- + If set, the message will be cancelled if the same mobile number + already have received a SMS within this specified time period. + + Fx. used to prevent spamming a mobile number. + + Minimum 60 minutes (1 hour) and maximum is 43200 minutes (30 days). + example: 1440 + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '500' + description: '' + - url: /v4/sms/outgoing/sendusingtemplate + method: sendUsingTemplate + httpMethod: post + tag: Sms - Outgoing + typeScriptTag: smsOutgoing + description: Send sms messages using a template. + parameters: + - name: templateId + schema: string + required: true + description: '' + example: ecdcb257-c1e9-4b44-8a4e-f05822372d82 + - name: messages + schema: array + required: true + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '500' + description: '' + - url: /v4/sms/outgoing/cancel + method: cancel + httpMethod: post + tag: Sms - Outgoing + typeScriptTag: smsOutgoing + description: Cancel sms messages + parameters: + - name: messageIds + schema: array + required: true + description: '' + example: + - id1 + - id2 + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '500' + description: '' + - url: /v4/sms/outgoing/reports + method: getReports + httpMethod: get + tag: Sms - Outgoing + typeScriptTag: smsOutgoing + description: Get sms status reports. + parameters: + - name: limit + schema: integer + description: How many records to return (must be between 1 and 250) + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '500' + description: '' + - url: /v4/sms/templates + method: getAllTemplates + httpMethod: get + tag: Templates + typeScriptTag: templates + description: Get all templates + parameters: + - name: pageLimit + schema: integer + description: How many records to return (must be between 1 and 250) + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '500' + description: '' + - url: /v4/sms/templates/{id} + method: getTemplate + httpMethod: get + tag: Templates + typeScriptTag: templates + description: Get template by id + parameters: + - name: id + schema: string + required: true + description: '' + example: ID + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '404' + description: '' + - statusCode: '500' + description: '' + - url: /v4/tools/parsephonenumbers + method: parsePhoneNumbers + httpMethod: post + tag: Tools + typeScriptTag: tools + description: Parse phone numbers + parameters: + - name: numbersToParse + schema: array + required: true + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - statusCode: '404' + description: '' + - statusCode: '500' + description: '' +numberOfSchemas: 66 +apiDescription: "\r\n# Introduction\r\n\r\nThis document is a technical description of our REST API used for external systems to send sms messages and to retrieve a status for each sms message sent and to maintain lists and blacklists.\r\n\r\nIn order to call our API, you need an api key. Log in to your account at https://mm.inmobile.dk, go to the \"API\" menu section and your api key will be available here.\r\n\r\nNOTE: It is required for clients to support tls 1.2 or higher.\r\n\r\n\r\n# Firewall openings\r\n\r\nThis is relevant for status callbacks and incoming SMS messages.\r\n\r\nYou can expect callbacks from one of the following IP ranges:\r\n\r\n* 46.36.205.80/28\r\n* 185.221.37.96/28\r\n\r\nThese are also the ip addresses which will be used for api.inmobile.com and mm.inmobile.dk - ensure access to these 2 ranges are opened in your firewall." diff --git a/sdks/db/cached-method-objects/from-custom-request_innoship.io.yaml b/sdks/db/cached-method-objects/from-custom-request_innoship.io.yaml new file mode 100644 index 0000000000..af70b086f1 --- /dev/null +++ b/sdks/db/cached-method-objects/from-custom-request_innoship.io.yaml @@ -0,0 +1,1863 @@ +hash: 0c7303561178c56a87987d87d12c1c8c545c54b3e55b3b1cb8b961338b39d2db +methodObjects: + - url: /api/ClientLocation + method: getDetail + httpMethod: get + tag: ClientLocation + typeScriptTag: clientLocation + description: '' + parameters: + - name: countryCode + schema: string + description: '' + - name: apiVersion + schema: string + required: true + description: The requested API version + example: API-VERSION + default: '1.0' + - name: apiVersion + schema: string + description: The requested API version + default: '1.0' + responses: + - statusCode: '200' + description: Success + - url: /api/ClientLocation + method: createNew + httpMethod: post + tag: ClientLocation + typeScriptTag: clientLocation + description: '' + parameters: + - name: apiVersion + schema: string + required: true + description: The requested API version + example: API-VERSION + default: '1.0' + - name: apiVersion + schema: string + description: The requested API version + default: '1.0' + - name: address + schema: object + description: '' + - name: courierCutOffTimes + schema: string + description: '' + - name: courierAutomaticCallTimes + schema: string + description: '' + - name: useSameCourierForSameAddress + schema: boolean + description: '' + - name: courierFailPolicy + schema: integer + description: '' + - name: timeZoneId + schema: string + description: '' + - name: priceGroupId + schema: integer + description: '' + - name: notificationEmail + schema: string + description: '' + - name: notificationPhone + schema: string + description: '' + - name: courierVoucherService + schema: object + description: '' + - name: marketPlaceCallBackSettings + schema: object + description: '' + - name: importIsActive + schema: boolean + description: '' + - name: setHandoverOnManifest + schema: boolean + description: '' + - name: id + schema: integer + description: '' + - name: name + schema: string + description: '' + - name: externalLocationId + schema: string + description: '' + responses: + - statusCode: '200' + description: Success + - url: /api/ClientLocation/{id} + method: removeById + httpMethod: delete + tag: ClientLocation + typeScriptTag: clientLocation + description: '' + parameters: + - name: id + schema: integer + required: true + description: '' + example: 0 + - name: apiVersion + schema: string + required: true + description: The requested API version + example: API-VERSION + default: '1.0' + - name: apiVersion + schema: string + description: The requested API version + default: '1.0' + responses: + - statusCode: '200' + description: Success + - url: /api/ClientLocation/{id} + method: getById + httpMethod: get + tag: ClientLocation + typeScriptTag: clientLocation + description: '' + parameters: + - name: id + schema: integer + required: true + description: '' + example: 0 + - name: apiVersion + schema: string + required: true + description: The requested API version + example: API-VERSION + default: '1.0' + - name: apiVersion + schema: string + description: The requested API version + default: '1.0' + responses: + - statusCode: '200' + description: Success + - url: /api/ClientLocation/{id} + method: updateById + httpMethod: put + tag: ClientLocation + typeScriptTag: clientLocation + description: '' + parameters: + - name: id + schema: integer + required: true + description: '' + example: 0 + - name: apiVersion + schema: string + required: true + description: The requested API version + example: API-VERSION + default: '1.0' + - name: apiVersion + schema: string + description: The requested API version + default: '1.0' + - name: address + schema: object + description: '' + - name: courierCutOffTimes + schema: string + description: '' + - name: courierAutomaticCallTimes + schema: string + description: '' + - name: useSameCourierForSameAddress + schema: boolean + description: '' + - name: courierFailPolicy + schema: integer + description: '' + - name: timeZoneId + schema: string + description: '' + - name: priceGroupId + schema: integer + description: '' + - name: notificationEmail + schema: string + description: '' + - name: notificationPhone + schema: string + description: '' + - name: courierVoucherService + schema: object + description: '' + - name: marketPlaceCallBackSettings + schema: object + description: '' + - name: importIsActive + schema: boolean + description: '' + - name: setHandoverOnManifest + schema: boolean + description: '' + - name: id + schema: integer + description: '' + - name: name + schema: string + description: '' + - name: externalLocationId + schema: string + description: '' + responses: + - statusCode: '200' + description: Success + - url: /api/ClientLocation/Summary + method: createSummaryReport + httpMethod: post + tag: ClientLocation + typeScriptTag: clientLocation + description: '' + parameters: + - name: apiVersion + schema: string + required: true + description: The requested API version + example: API-VERSION + default: '1.0' + - name: apiVersion + schema: string + description: The requested API version + default: '1.0' + - name: name + schema: array + description: '' + - name: countryId + schema: array + description: '' + - name: countyId + schema: array + description: '' + - name: localityId + schema: array + description: '' + - name: addressText + schema: string + description: '' + - name: courierId + schema: array + description: '' + - name: ids + schema: array + description: '' + - name: createdAtLe + schema: string + description: '' + - name: createdAtGe + schema: string + description: '' + - name: userId + schema: array + description: '' + - name: skip + schema: integer + description: '' + - name: take + schema: integer + description: '' + - name: orderBy + schema: string + description: '' + - name: orderByAsc + schema: boolean + description: '' + responses: + - statusCode: '200' + description: Success + - url: /api/ClientLocation/Validate + method: validateLocationDetails + httpMethod: post + tag: ClientLocation + typeScriptTag: clientLocation + description: '' + parameters: + - name: apiVersion + schema: string + required: true + description: The requested API version + example: API-VERSION + default: '1.0' + - name: apiVersion + schema: string + description: The requested API version + default: '1.0' + - name: address + schema: object + description: '' + - name: courierCutOffTimes + schema: string + description: '' + - name: courierAutomaticCallTimes + schema: string + description: '' + - name: useSameCourierForSameAddress + schema: boolean + description: '' + - name: courierFailPolicy + schema: integer + description: '' + - name: timeZoneId + schema: string + description: '' + - name: priceGroupId + schema: integer + description: '' + - name: notificationEmail + schema: string + description: '' + - name: notificationPhone + schema: string + description: '' + - name: courierVoucherService + schema: object + description: '' + - name: marketPlaceCallBackSettings + schema: object + description: '' + - name: importIsActive + schema: boolean + description: '' + - name: setHandoverOnManifest + schema: boolean + description: '' + - name: courierServices + schema: array + description: '' + - name: id + schema: integer + description: '' + - name: name + schema: string + description: '' + - name: externalLocationId + schema: string + description: '' + responses: + - statusCode: '200' + description: Success + - url: /api/ClientLocation/{locationId}/Courier + method: createCourier + httpMethod: post + tag: ClientLocation + typeScriptTag: clientLocation + description: '' + parameters: + - name: locationId + schema: integer + required: true + description: '' + example: 0 + - name: apiVersion + schema: string + required: true + description: The requested API version + example: API-VERSION + default: '1.0' + - name: apiVersion + schema: string + description: The requested API version + default: '1.0' + - name: courierId + schema: integer + description: '' + - name: isEmagMarketPlace + schema: boolean + description: '' + responses: + - statusCode: '200' + description: Success + - url: /api/ClientLocation/{locationId}/Courier/{courierId} + method: removeCourierById + httpMethod: delete + tag: ClientLocation + typeScriptTag: clientLocation + description: '' + parameters: + - name: locationId + schema: integer + required: true + description: '' + example: 0 + - name: courierId + schema: integer + required: true + description: '' + example: 0 + - name: force + schema: boolean + description: '' + - name: isEmagMarketPlace + schema: boolean + description: '' + - name: apiVersion + schema: string + required: true + description: The requested API version + example: API-VERSION + default: '1.0' + - name: apiVersion + schema: string + description: The requested API version + default: '1.0' + responses: + - statusCode: '200' + description: Success + - url: /api/ClientLocation/{locationId}/CourierServices + method: updateCourierServices + httpMethod: patch + tag: ClientLocation + typeScriptTag: clientLocation + description: '' + parameters: + - name: locationId + schema: integer + required: true + description: '' + example: 0 + - name: applyToAllLocations + schema: boolean + description: '' + - name: apiVersion + schema: string + required: true + description: The requested API version + example: API-VERSION + default: '1.0' + - name: apiVersion + schema: string + description: The requested API version + default: '1.0' + responses: + - statusCode: '200' + description: Success + - url: /api/ClientLocation/{locationId}/CourierServices + method: updateCourierServices + httpMethod: put + tag: ClientLocation + typeScriptTag: clientLocation + description: '' + parameters: + - name: locationId + schema: integer + required: true + description: '' + example: 0 + - name: applyToAllLocations + schema: boolean + description: '' + - name: apiVersion + schema: string + required: true + description: The requested API version + example: API-VERSION + default: '1.0' + - name: apiVersion + schema: string + description: The requested API version + default: '1.0' + responses: + - statusCode: '200' + description: Success + - url: /api/Courier/RequestPickup + method: requestPickup + httpMethod: post + tag: Courier + typeScriptTag: courier + description: Request pickup to courier + parameters: + - name: apiVersion + schema: string + required: true + description: The requested API version + example: API-VERSION + default: '1.0' + - name: apiVersion + schema: string + description: The requested API version + default: '1.0' + - name: courierId + schema: integer + description: '' + - name: locationId + schema: integer + description: '' + - name: lastPickupHour + schema: integer + description: '' + - name: lastPickMinute + schema: integer + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: Unable to authorize request + - url: /api/Courier/All + method: getAll + httpMethod: get + tag: Courier + typeScriptTag: courier + description: Get all couriers + parameters: + - name: apiVersion + schema: string + required: true + description: The requested API version + example: API-VERSION + default: '1.0' + - name: apiVersion + schema: string + description: The requested API version + default: '1.0' + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: Unable to authorize request + - url: /api/Feedback/{from}/{to} + method: getBetweenDates + httpMethod: get + tag: Feedback + typeScriptTag: feedback + description: '' + parameters: + - name: from + schema: string + required: true + description: '' + example: FROM + - name: to + schema: string + required: true + description: '' + example: TO + - name: apiVersion + schema: string + required: true + description: The requested API version + example: API-VERSION + default: '1.0' + - name: apiVersion + schema: string + description: The requested API version + default: '1.0' + responses: + - statusCode: '200' + description: Success + - url: /api/Label/by-courier/{courierId}/awb/{awb} + method: getByCourierAwb + httpMethod: get + tag: Label + typeScriptTag: label + description: Gets the label for the specified courier awb number + parameters: + - name: courierId + schema: integer + required: true + description: '' + example: 0 + - name: awb + schema: string + required: true + description: '' + example: AWB + - name: type + schema: string + description: '' + default: PDF + - name: format + schema: string + description: '' + default: A6 + - name: includeVoucher + schema: boolean + description: '' + default: false + - name: useFile + schema: boolean + description: '' + default: true + - name: skipCache + schema: boolean + description: '' + default: false + - name: apiVersion + schema: string + required: true + description: The requested API version + example: API-VERSION + default: '1.0' + - name: apiVersion + schema: string + description: The requested API version + default: '1.0' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: Unable to authorize request + - url: /api/Label/by-courier/{courierId}/voucher/{awb} + method: getVoucherByCourierAwb + httpMethod: get + tag: Label + typeScriptTag: label + description: Gets the voucher label for the specified courier awb number + parameters: + - name: courierId + schema: integer + required: true + description: '' + example: 0 + - name: awb + schema: string + required: true + description: '' + example: AWB + - name: type + schema: string + description: '' + default: PDF + - name: format + schema: string + description: '' + default: A6 + - name: useFile + schema: boolean + description: '' + default: true + - name: skipCache + schema: boolean + description: '' + default: false + - name: apiVersion + schema: string + required: true + description: The requested API version + example: API-VERSION + default: '1.0' + - name: apiVersion + schema: string + description: The requested API version + default: '1.0' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: Unable to authorize request + - url: /api/Label/by-courier/{courierId}/awb/{awb}/parcel/{barcodes} + method: getByAwbAndParcel + httpMethod: get + tag: Label + typeScriptTag: label + description: Gets the label for the specified courier parcel barcode and order awb + parameters: + - name: courierId + schema: integer + required: true + description: '' + example: 0 + - name: awb + schema: string + required: true + description: '' + example: AWB + - name: barcodes + schema: string + required: true + description: '' + example: BARCODES + - name: type + schema: string + description: '' + default: PDF + - name: format + schema: string + description: '' + default: A6 + - name: useFile + schema: boolean + description: '' + default: true + - name: skipCache + schema: boolean + description: '' + default: false + - name: apiVersion + schema: string + required: true + description: The requested API version + example: API-VERSION + default: '1.0' + - name: apiVersion + schema: string + description: The requested API version + default: '1.0' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: Unable to authorize request + - url: /api/Label/bulk + method: createBulk + httpMethod: post + tag: Label + typeScriptTag: label + description: Create bulk labels operation + parameters: + - name: apiVersion + schema: string + required: true + description: The requested API version + example: API-VERSION + default: '1.0' + - name: apiVersion + schema: string + description: The requested API version + default: '1.0' + - name: labelType + schema: string + description: '' + - name: labelFormat + schema: string + description: '' + - name: useFile + schema: boolean + description: '' + - name: includeVoucher + schema: boolean + description: '' + - name: awBs + schema: array + description: '' + responses: + - statusCode: '200' + description: Returns OperationId + - statusCode: '400' + description: '' + - statusCode: '401' + description: Unable to authorize request + - url: /api/Label/bulk/{operationId} + method: getBulkByOperationId + httpMethod: get + tag: Label + typeScriptTag: label + description: Get bulk labels by operationId + parameters: + - name: operationId + schema: string + required: true + description: '' + example: OPERATIONID + - name: apiVersion + schema: string + required: true + description: The requested API version + example: API-VERSION + default: '1.0' + - name: apiVersion + schema: string + description: The requested API version + default: '1.0' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: Unable to authorize request + - url: /api/Location/ClientLocations + method: getClientLocations + httpMethod: get + tag: Location + typeScriptTag: location + description: '' + parameters: [] + responses: + - statusCode: '200' + description: Success + - url: /api/Location/FixedLocation/{id} + method: getFixedLocationById + httpMethod: get + tag: Location + typeScriptTag: location + description: '' + parameters: + - name: id + schema: integer + required: true + description: '' + example: 0 + responses: + - statusCode: '200' + description: Success + - url: /api/Location/FixedLocations + method: getFixedLocations + httpMethod: get + tag: Location + typeScriptTag: location + description: '' + parameters: + - name: courier + schema: string + description: '' + - name: countryCode + schema: string + description: '' + - name: countyName + schema: string + description: '' + - name: localityName + schema: string + description: '' + - name: fixedLocationType + schema: string + description: '' + - name: showInactive + schema: boolean + description: '' + - name: restrictionParcelsCount + schema: integer + description: '' + - name: restrictionSizeHeight + schema: integer + description: '' + - name: restrictionSizeWidth + schema: integer + description: '' + - name: restrictionSizeLength + schema: integer + description: '' + - name: externalLocationId + schema: string + description: '' + - name: latitude + schema: number + description: '' + - name: longitude + schema: number + description: '' + - name: radius + schema: number + description: '' + responses: + - statusCode: '200' + description: Success + - url: /api/Location/Countries + method: getCountryList + httpMethod: get + tag: Location + typeScriptTag: location + description: '' + parameters: [] + responses: + - statusCode: '200' + description: Success + - url: /api/Location/Counties/{countryCode} + method: getCountiesByCountryCode + httpMethod: get + tag: Location + typeScriptTag: location + description: '' + parameters: + - name: countryCode + schema: string + required: true + description: '' + example: COUNTRYCODE + responses: + - statusCode: '200' + description: Success + - url: /api/Location/Localities/{countyId} + method: getLocalitiesByCountyId + httpMethod: get + tag: Location + typeScriptTag: location + description: '' + parameters: + - name: countyId + schema: integer + required: true + description: '' + example: 0 + responses: + - statusCode: '200' + description: Success + - url: /api/Location/Postalcodes/{CountryCode}/{PostalCode} + method: getPostalCodeDetails + httpMethod: get + tag: Location + typeScriptTag: location + description: '' + parameters: + - name: countryCode + schema: string + required: true + description: '' + example: COUNTRYCODE + - name: postalCode + schema: string + required: true + description: '' + example: POSTALCODE + - name: courierId + schema: integer + description: '' + responses: + - statusCode: '200' + description: '' + - url: /api/Location/Postalcodes/{LocalityId} + method: getPostalcodesByLocalityId + httpMethod: get + tag: Location + typeScriptTag: location + description: '' + parameters: + - name: localityId + schema: integer + required: true + description: '' + example: 0 + - name: courierId + schema: integer + description: '' + - name: filter + schema: string + description: '' + responses: + - statusCode: '200' + description: '' + - url: /api/Location/Postalcodes/Country/{CountryCode} + method: getPostalCodesByCountry + httpMethod: get + tag: Location + typeScriptTag: location + description: '' + parameters: + - name: countryCode + schema: string + required: true + description: '' + example: COUNTRYCODE + - name: courierId + schema: integer + description: '' + responses: + - statusCode: '200' + description: '' + - url: /api/Manifest + method: reportById + httpMethod: get + tag: Manifest + typeScriptTag: manifest + description: Requests manifest report by id + parameters: + - name: manifestId + schema: integer + description: '' + - name: apiVersion + schema: string + required: true + description: The requested API version + example: API-VERSION + default: '1.0' + - name: apiVersion + schema: string + description: The requested API version + default: '1.0' + responses: + - statusCode: '200' + description: Returns PDF + - statusCode: '400' + description: '' + - statusCode: '401' + description: Unable to authorize request + - url: /api/Manifest + method: requestPickupAndManifestId + httpMethod: post + tag: Manifest + typeScriptTag: manifest + description: Requests pickup and get manifest id + parameters: + - name: apiVersion + schema: string + required: true + description: The requested API version + example: API-VERSION + default: '1.0' + - name: apiVersion + schema: string + description: The requested API version + default: '1.0' + - name: courierId + schema: string + description: '' + - name: externalLocationId + schema: string + description: '' + - name: lastPickHour + schema: integer + description: '' + responses: + - statusCode: '200' + description: Returns ManifestId + - statusCode: '400' + description: '' + - statusCode: '401' + description: Unable to authorize request + - url: /api/Notifications/sendsms + method: sendSmsNotification + httpMethod: post + tag: Notifications + typeScriptTag: notifications + description: '' + parameters: + - name: apiVersion + schema: string + required: true + description: The requested API version + example: API-VERSION + default: '1.0' + - name: apiVersion + schema: string + description: The requested API version + default: '1.0' + - name: campaignName + schema: string + description: '' + - name: data + schema: array + description: '' + responses: + - statusCode: '200' + description: Success + - url: /api/OfflineOrder/Activate + method: activateOrder + httpMethod: put + tag: OfflineOrder + typeScriptTag: offlineOrder + description: Activate Offline Orders + parameters: + - name: apiVersion + schema: string + required: true + description: The requested API version + example: API-VERSION + default: '1.0' + - name: apiVersion + schema: string + description: The requested API version + default: '1.0' + responses: + - statusCode: '200' + description: Activated successfully + - statusCode: '400' + description: Unable to process due to validation errors + - statusCode: '401' + description: Unable to authorize request + - url: /api/OfflineOrder/Edit + method: updateOrderDetails + httpMethod: put + tag: OfflineOrder + typeScriptTag: offlineOrder + description: Edit Offline Orders + parameters: + - name: apiVersion + schema: string + required: true + description: The requested API version + example: API-VERSION + default: '1.0' + - name: apiVersion + schema: string + description: The requested API version + default: '1.0' + responses: + - statusCode: '200' + description: Activated successfully + - statusCode: '400' + description: Unable to process due to validation errors + - statusCode: '401' + description: Unable to authorize request + - url: /api/OfflineOrder/Add + method: addOrder + httpMethod: post + tag: OfflineOrder + typeScriptTag: offlineOrder + description: Add Offline Orders + parameters: + - name: apiVersion + schema: string + required: true + description: The requested API version + example: API-VERSION + default: '1.0' + - name: apiVersion + schema: string + description: The requested API version + default: '1.0' + responses: + - statusCode: '200' + description: Added successfully + - statusCode: '400' + description: Unable to process due to validation errors + - statusCode: '401' + description: Unable to authorize request + - url: /api/Order + method: createNewOrder + httpMethod: post + tag: Order + typeScriptTag: order + description: Creates a new order + parameters: + - name: apiVersion + schema: string + required: true + description: The requested API version + example: API-VERSION + default: '1.0' + - name: apiVersion + schema: string + description: The requested API version + default: '1.0' + - name: parameters + schema: object + description: '' + - name: serviceId + schema: integer + description: '' + - name: courierId + schema: string + description: '' + - name: shipmentDate + schema: string + description: '' + - name: shipmentDateEnd + schema: string + description: '' + - name: addressFrom + schema: object + description: '' + - name: addressTo + schema: object + description: '' + - name: addressReturn + schema: object + description: '' + - name: payment + schema: string + description: '' + - name: content + schema: object + description: '' + - name: extra + schema: object + description: '' + - name: externalClientLocation + schema: string + description: '' + - name: externalOrderId + schema: string + description: '' + - name: metadata + schema: string + description: '' + - name: sourceChannel + schema: string + description: '' + - name: observation + schema: string + description: '' + - name: customAttributes + schema: object + description: '' + - name: clientSettings + schema: object + description: '' + responses: + - statusCode: '201' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - url: /api/Order/simulate + method: simulateOrder + httpMethod: post + tag: Order + typeScriptTag: order + description: '' + parameters: + - name: apiVersion + schema: string + required: true + description: The requested API version + example: API-VERSION + default: '1.0' + - name: apiVersion + schema: string + description: The requested API version + default: '1.0' + - name: parameters + schema: object + description: '' + - name: serviceId + schema: integer + description: '' + - name: courierId + schema: string + description: '' + - name: shipmentDate + schema: string + description: '' + - name: shipmentDateEnd + schema: string + description: '' + - name: addressFrom + schema: object + description: '' + - name: addressTo + schema: object + description: '' + - name: addressReturn + schema: object + description: '' + - name: payment + schema: string + description: '' + - name: content + schema: object + description: '' + - name: extra + schema: object + description: '' + - name: externalClientLocation + schema: string + description: '' + - name: externalOrderId + schema: string + description: '' + - name: metadata + schema: string + description: '' + - name: sourceChannel + schema: string + description: '' + - name: observation + schema: string + description: '' + - name: customAttributes + schema: object + description: '' + - name: clientSettings + schema: object + description: '' + responses: + - statusCode: '201' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - url: /api/Order/validate + method: validateNewOrder + httpMethod: post + tag: Order + typeScriptTag: order + description: Validates a new order request + parameters: + - name: apiVersion + schema: string + required: true + description: The requested API version + example: API-VERSION + default: '1.0' + - name: apiVersion + schema: string + description: The requested API version + default: '1.0' + - name: parameters + schema: object + description: '' + - name: serviceId + schema: integer + description: '' + - name: courierId + schema: string + description: '' + - name: shipmentDate + schema: string + description: '' + - name: shipmentDateEnd + schema: string + description: '' + - name: addressFrom + schema: object + description: '' + - name: addressTo + schema: object + description: '' + - name: addressReturn + schema: object + description: '' + - name: payment + schema: string + description: '' + - name: content + schema: object + description: '' + - name: extra + schema: object + description: '' + - name: externalClientLocation + schema: string + description: '' + - name: externalOrderId + schema: string + description: '' + - name: metadata + schema: string + description: '' + - name: sourceChannel + schema: string + description: '' + - name: observation + schema: string + description: '' + - name: customAttributes + schema: object + description: '' + - name: clientSettings + schema: object + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '201' + description: Creates an new order in the system + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - url: /api/Order/multiple/simulate + method: simulateMultiple + httpMethod: post + tag: Order + typeScriptTag: order + description: '' + parameters: + - name: apiVersion + schema: string + required: true + description: The requested API version + example: API-VERSION + default: '1.0' + - name: apiVersion + schema: string + description: The requested API version + default: '1.0' + responses: + - statusCode: '201' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - url: /api/Order/file + method: uploadFile + httpMethod: post + tag: Order + typeScriptTag: order + description: '' + parameters: + - name: apiVersion + schema: string + required: true + description: The requested API version + example: API-VERSION + default: '1.0' + - name: apiVersion + schema: string + description: The requested API version + default: '1.0' + responses: + - statusCode: '201' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - url: /api/Order/{courierId}/awb/{awbNo} + method: deleteExistingOrder + httpMethod: delete + tag: Order + typeScriptTag: order + description: Deletes an existing order + parameters: + - name: courierId + schema: integer + required: true + description: Courier id + example: 0 + - name: awbNo + schema: string + required: true + description: AWB number + example: AWBNO + - name: apiVersion + schema: string + required: true + description: The requested API version + example: API-VERSION + default: '1.0' + - name: apiVersion + schema: string + description: The requested API version + default: '1.0' + responses: + - statusCode: '201' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - url: /api/Order/UpdateStatus + method: updateStatus + httpMethod: post + tag: Order + typeScriptTag: order + description: Updates orders statuses + parameters: + - name: apiVersion + schema: string + required: true + description: The requested API version + example: API-VERSION + default: '1.0' + - name: apiVersion + schema: string + description: The requested API version + default: '1.0' + responses: + - statusCode: '200' + description: Request was processed successfully + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - url: /api/Order/UpdateParcels + method: updateParcels + httpMethod: post + tag: Order + typeScriptTag: order + description: Create a new order based on the existing one and cancel the original + parameters: + - name: apiVersion + schema: string + required: true + description: The requested API version + example: API-VERSION + default: '1.0' + - name: apiVersion + schema: string + description: The requested API version + default: '1.0' + - name: parameters + schema: object + description: '' + - name: courierId + schema: string + description: '' + - name: courierShipmentId + schema: string + description: '' + - name: envelopeCount + schema: integer + description: '' + - name: parcelsCount + schema: integer + description: '' + - name: palettesCount + schema: integer + description: '' + - name: oversizedPackage + schema: boolean + description: '' + - name: totalWeight + schema: number + description: '' + - name: parcels + schema: array + description: '' + responses: + - statusCode: '200' + description: Creates an new order in the system + - statusCode: '201' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - url: /api/Order/UpdateCustomAttributes/{courierId}/awb/{awb} + method: updateCustomAttributes + httpMethod: post + tag: Order + typeScriptTag: order + description: Updates custom attributes + parameters: + - name: courierId + schema: integer + required: true + description: Courier id + example: 0 + - name: awb + schema: string + required: true + description: AWB number + example: AWB + - name: apiVersion + schema: string + required: true + description: The requested API version + example: API-VERSION + default: '1.0' + - name: apiVersion + schema: string + description: The requested API version + default: '1.0' + responses: + - statusCode: '200' + description: Request was processed successfully + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - url: /api/Order/by-location/{externalLocationId}/{from}/{to} + method: getByLocationDates + httpMethod: get + tag: Order + typeScriptTag: order + description: Retrieve orders by externalLocationId with dates filter + parameters: + - name: externalLocationId + schema: string + required: true + description: External Location Id + example: EXTERNALLOCATIONID + - name: from + schema: string + required: true + description: From date + example: FROM + - name: to + schema: string + required: true + description: To date + example: TO + - name: apiVersion + schema: string + required: true + description: The requested API version + example: API-VERSION + default: '1.0' + - name: apiVersion + schema: string + description: The requested API version + default: '1.0' + responses: + - statusCode: '200' + description: Request was processed successfully + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - url: /api/Order/ReturnAwbInfo/{courierId}/{returnAwb} + method: getReturnAwbInfo + httpMethod: get + tag: Order + typeScriptTag: order + description: '' + parameters: + - name: courierId + schema: integer + required: true + description: '' + example: 0 + - name: returnAwb + schema: string + required: true + description: '' + example: RETURNAWB + - name: apiVersion + schema: string + required: true + description: The requested API version + example: API-VERSION + default: '1.0' + - name: apiVersion + schema: string + description: The requested API version + default: '1.0' + responses: + - statusCode: default + description: '' + - url: /api/Order/UploadDocuments + method: uploadDocuments + httpMethod: post + tag: Order + typeScriptTag: order + description: UploadDocuments + parameters: + - name: apiVersion + schema: string + required: true + description: The requested API version + example: API-VERSION + default: '1.0' + - name: apiVersion + schema: string + description: The requested API version + default: '1.0' + - name: courierId + schema: string + description: '' + - name: courierShipmentId + schema: string + description: '' + - name: attachments + schema: array + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - url: /api/Price + method: getPrices + httpMethod: post + tag: Price + typeScriptTag: price + description: Gets the prices for the specified request + parameters: + - name: apiVersion + schema: string + required: true + description: The requested API version + example: API-VERSION + default: '1.0' + - name: apiVersion + schema: string + description: The requested API version + default: '1.0' + - name: parameters + schema: object + description: '' + - name: serviceId + schema: integer + description: '' + - name: courierId + schema: string + description: '' + - name: shipmentDate + schema: string + description: '' + - name: shipmentDateEnd + schema: string + description: '' + - name: addressFrom + schema: object + description: '' + - name: addressTo + schema: object + description: '' + - name: addressReturn + schema: object + description: '' + - name: payment + schema: string + description: '' + - name: content + schema: object + description: '' + - name: extra + schema: object + description: '' + - name: externalClientLocation + schema: string + description: '' + - name: externalOrderId + schema: string + description: '' + - name: metadata + schema: string + description: '' + - name: sourceChannel + schema: string + description: '' + - name: observation + schema: string + description: '' + - name: customAttributes + schema: object + description: '' + - name: clientSettings + schema: object + description: '' + responses: + - statusCode: '201' + description: '' + - statusCode: '400' + description: '' + - statusCode: '401' + description: '' + - url: /api/Track/by-awb/with-return + method: orderCourierAwbWithReturn + httpMethod: post + tag: Track + typeScriptTag: track + description: Track by Order Courier AWB with return info + parameters: + - name: apiVersion + schema: string + required: true + description: The requested API version + example: API-VERSION + default: '1.0' + - name: apiVersion + schema: string + description: The requested API version + default: '1.0' + - name: courier + schema: string + description: '' + - name: awbList + schema: array + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /api/Track/return/by-awb + method: byAwb + httpMethod: post + tag: Track + typeScriptTag: track + description: Track Retrun by Courier AWB + parameters: + - name: apiVersion + schema: string + required: true + description: The requested API version + example: API-VERSION + default: '1.0' + - name: apiVersion + schema: string + description: The requested API version + default: '1.0' + - name: courier + schema: string + description: '' + - name: awbList + schema: array + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /api/Voucher/Create + method: generateNewVoucher + httpMethod: post + tag: Voucher + typeScriptTag: voucher + description: Create Voucher + parameters: + - name: apiVersion + schema: string + required: true + description: The requested API version + example: API-VERSION + default: '1.0' + - name: apiVersion + schema: string + description: The requested API version + default: '1.0' + - name: courier + schema: string + description: '' + - name: courierShipmentId + schema: string + description: '' + - name: voucherCourier + schema: string + description: '' + - name: insuranceAmount + schema: number + description: '' + - name: insuranceCurrency + schema: string + description: '' + responses: + - statusCode: '200' + description: Activated successfully + - statusCode: '400' + description: Unable to process due to validation errors + - statusCode: '401' + description: Unable to authorize request + - url: /api/Voucher/Activate + method: activateVoucher + httpMethod: post + tag: Voucher + typeScriptTag: voucher + description: Activate Voucher + parameters: + - name: apiVersion + schema: string + required: true + description: The requested API version + example: API-VERSION + default: '1.0' + - name: apiVersion + schema: string + description: The requested API version + default: '1.0' + - name: courier + schema: string + description: '' + - name: courierShipmentId + schema: string + description: '' + - name: courierShipmentVoucher + schema: string + description: '' + responses: + - statusCode: '200' + description: Activated successfully + - statusCode: '400' + description: Unable to process due to validation errors + - statusCode: '401' + description: Unable to authorize request +numberOfSchemas: 118 +apiDescription: Api service implementation (version:6.0.1.503) diff --git a/sdks/db/cached-method-objects/from-custom-request_lucca-hr.com_Figgo.yaml b/sdks/db/cached-method-objects/from-custom-request_lucca-hr.com_Figgo.yaml index 1a03ef3972..b836117d27 100644 --- a/sdks/db/cached-method-objects/from-custom-request_lucca-hr.com_Figgo.yaml +++ b/sdks/db/cached-method-objects/from-custom-request_lucca-hr.com_Figgo.yaml @@ -1,4 +1,4 @@ -hash: 8388558ab39267868eb7fe70e63444d05d45c00a2e9b0cb03e6cc987fc571d4c +hash: 386a7a99bbda5b45499f49fe635462d9037fadfbaf6dda9550a0b4eb05739d9d methodObjects: - url: /api/v3/leaves method: getApprovedList @@ -130,7 +130,7 @@ methodObjects: httpMethod: post tag: Imports typeScriptTag: imports - description: Import entitlements (deprecated) + description: Import entitlements (https://developers.lucca.fr/ parameters: - name: strict schema: boolean @@ -196,7 +196,7 @@ methodObjects: httpMethod: post tag: Imports typeScriptTag: imports - description: Replace entitlements (deprecated) + description: Replace entitlements (https://developers.lucca.fr/ parameters: - name: strict schema: boolean @@ -270,7 +270,7 @@ methodObjects: httpMethod: post tag: Imports typeScriptTag: imports - description: Import leaves (deprecated) + description: Import leaves (https://developers.lucca.fr/ parameters: - name: type schema: string diff --git a/sdks/db/cached-method-objects/from-custom-request_measureone.com.yaml b/sdks/db/cached-method-objects/from-custom-request_measureone.com.yaml index 8fcd9cbb5b..0aee2fc551 100644 --- a/sdks/db/cached-method-objects/from-custom-request_measureone.com.yaml +++ b/sdks/db/cached-method-objects/from-custom-request_measureone.com.yaml @@ -1,4 +1,4 @@ -hash: 42c10bae16e764cff84d45537f4dddfe3983bf2d622a39578998abf997dd18b7 +hash: 53f58655dfb1761005c8c0ecd4d8ff4928a31cd4321e0512265128299eed5cb7 methodObjects: - url: /v3/invitations/new method: invitation diff --git a/sdks/db/category-cache.yaml b/sdks/db/category-cache.yaml index c17c72e435..1f9ab6bdf6 100644 --- a/sdks/db/category-cache.yaml +++ b/sdks/db/category-cache.yaml @@ -313,3 +313,6 @@ apis: FORDEFI-undefined: Finance Golioth-undefined: AI Tools Keatext AI-undefined: AI Tools + inMobile-undefined: Phone & SMS + Innoship-undefined: eCommerce + ilert-undefined: Compliance & Security diff --git a/sdks/db/custom-request-last-fetched.yaml b/sdks/db/custom-request-last-fetched.yaml index a29af23623..1d854ee26c 100644 --- a/sdks/db/custom-request-last-fetched.yaml +++ b/sdks/db/custom-request-last-fetched.yaml @@ -293,3 +293,6 @@ lastUpdated: fordefi.com: 2024-03-29T21:53:01.040Z golioth.io: 2024-03-29T21:53:02.205Z keatext.ai: 2024-03-29T21:55:04.078Z + innoship.io: 2024-03-29T22:08:02.635Z + ilert.com: 2024-03-29T22:08:03.509Z + inmobile.com: 2024-03-29T22:08:04.694Z diff --git a/sdks/db/custom-request-specs/ilert.com.yaml b/sdks/db/custom-request-specs/ilert.com.yaml new file mode 100644 index 0000000000..1ce9d79315 --- /dev/null +++ b/sdks/db/custom-request-specs/ilert.com.yaml @@ -0,0 +1,7270 @@ +openapi: 3.0.0 +info: + version: '' + title: ilert REST API + description: >- + + The ilert API is a + [RESTful](https://en.wikipedia.org/wiki/Representational_state_transfer) API + and provides programmatic access to entities in ilert and lets you easily + integrate ilert with 3rd party tools. If you are looking to develop an + inbound integration (e.g. for a monitoring tool), please use our [Events + API](https://api.ilert.com). + + + The API supports the JSON content type for requests and responses. The + response content type is requested via the HTTP Accept header + (`application/json`). All resources are accessible via https and are located + at `api.ilert.com/api`. + + ## Authentication + + The REST API accepts bearer API tokens. Each user may create API keys using + the ilert web application. Note: Make sure to send the `Bearer ` prefix e.g. + `Bearer APIKEY` when sending api key requests. By default, access to all + resources (using any method) requires the client to be authenticated. + + + ## Team Context + When using API tokens, the currently selected team context of the user will not be taken into account, i.e. list results will always return all entities to which the user has a view permission. When using basic auth credentials the currently selected team context of the user will be used to filter resource results. The context may be overwritten for API key calls using the `team-context` HTTP header. Specifying `0` for ALL teams, `-1` for MY teams or a specific team id e.g. `team-context=901` to fetch results for a certain team. + + ## Errors + + ilert uses HTTP response codes to indicate success or failure of an API + request. Codes in the 2xx range indicate success, codes in the 4xx range + indicate a client error (e.g. a missing required parameter) and codes in the + 5xx range indicate an error with ilert's servers. In case of an error, the + response body contains the following information: + + Attribute | Description + ------------- | ------------- + status | the corresponsing HTTP status code + message | a human readable description of the error + code | error code, used to identify error type + + ## API Versioning + + Changes to our API are always backwards-compatible. To get more information + about our API versioning and historical changes, please take a look here. + x-logo: + url: ./ilert-logo-spaced.png + backgroundColor: '#fafafa' + altText: ilert documentation logo +security: + - apiKey: [] +tags: + - name: Numbers + - name: Integrations + - name: Events + - name: Heartbeats + - name: Series + - name: Users + - name: Contacts + - name: Notification Preferences + - name: Escalation Policies + - name: Schedules + - name: Alert Sources + - name: Alerts + - name: Alert Actions + - name: Support Hours + - name: Log-Entries + - name: Notifications + - name: Connectors + - name: Teams + - name: On-Calls + - name: Maintenance Windows + - name: Incident Templates + - name: Services + - name: Service Outages + - name: Automation Rules + - name: Incidents + - name: Metrics + - name: Metric Data Sources + - name: Status Pages + - name: Reports +paths: + /users/{user-id}: + get: + tags: + - Users + parameters: + - $ref: '#/components/parameters/user-id-in-path' + summary: Get the specified user. + responses: + '200': + description: the user object + content: + application/json: + schema: + $ref: '#/components/schemas/User' + put: + tags: + - Users + parameters: + - $ref: '#/components/parameters/user-id-in-path' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/User' + description: the user object + summary: Update an existing user. + responses: + '200': + description: the updated user + content: + application/json: + schema: + $ref: '#/components/schemas/User' + delete: + tags: + - Users + parameters: + - $ref: '#/components/parameters/user-id-in-path' + summary: Delete the specified user. + responses: + '204': + description: if deletion was successful + /users/{user-id}/contacts/emails: + get: + tags: + - Contacts + parameters: + - $ref: '#/components/parameters/user-id-in-path' + summary: Get a user's emails + responses: + '200': + description: '' + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ContactEmail' + post: + tags: + - Contacts + parameters: + - $ref: '#/components/parameters/user-id-in-path' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ContactEmailPost' + required: true + summary: Create a new email + responses: + '201': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ContactEmail' + /users/{user-id}/contacts/emails/{id}: + get: + tags: + - Contacts + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + summary: Get a specific email + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ContactEmail' + put: + tags: + - Contacts + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ContactEmailPost' + summary: Update a user's email + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ContactEmail' + delete: + tags: + - Contacts + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + summary: Delete the user's specified email + responses: + '204': + description: if deletion was successful + /users/{user-id}/contacts/phone-numbers: + get: + tags: + - Contacts + parameters: + - $ref: '#/components/parameters/user-id-in-path' + summary: Get a user's phone numbers + responses: + '200': + description: '' + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ContactPhoneNumber' + post: + tags: + - Contacts + parameters: + - $ref: '#/components/parameters/user-id-in-path' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ContactPhoneNumberPost' + required: true + summary: Create a phone number + responses: + '201': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ContactPhoneNumber' + /users/{user-id}/contacts/phone-numbers/{id}: + get: + tags: + - Contacts + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + summary: Get specific phone number + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ContactPhoneNumber' + put: + tags: + - Contacts + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ContactPhoneNumberPost' + summary: Update a user's phone number + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ContactPhoneNumber' + delete: + tags: + - Contacts + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + summary: Delete the user's specified phone number + responses: + '204': + description: if deletion was successful + /users/{user-id}/notification-preferences/alerts: + get: + tags: + - Notification Preferences + parameters: + - $ref: '#/components/parameters/user-id-in-path' + summary: Get alert notification preferences of a user + responses: + '200': + description: '' + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/NotificationPreferencesAlert' + post: + tags: + - Notification Preferences + parameters: + - $ref: '#/components/parameters/user-id-in-path' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesAlertPost' + required: true + summary: Create an alert notification preference + responses: + '201': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesAlert' + /users/{user-id}/notification-preferences/alerts/{id}: + get: + tags: + - Notification Preferences + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + summary: Get specific notification preferences alert + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesAlert' + put: + tags: + - Notification Preferences + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesAlertPost' + summary: Update a user's alert notification preference + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesAlert' + delete: + tags: + - Notification Preferences + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + summary: Delete the user's specified notification preferences alert + responses: + '204': + description: if deletion was successful + /users/{user-id}/notification-preferences/duties: + get: + tags: + - Notification Preferences + parameters: + - $ref: '#/components/parameters/user-id-in-path' + summary: Get duty notification preferences of a user + responses: + '200': + description: '' + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/NotificationPreferencesDuty' + post: + tags: + - Notification Preferences + parameters: + - $ref: '#/components/parameters/user-id-in-path' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesDutyPost' + required: true + summary: Create a duty notification preference + responses: + '201': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesDuty' + /users/{user-id}/notification-preferences/duties/{id}: + get: + tags: + - Notification Preferences + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + summary: Get specific notification preferences duty + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesDuty' + put: + tags: + - Notification Preferences + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesDutyPost' + summary: Update a user's duty notification preference + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesDuty' + delete: + tags: + - Notification Preferences + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + summary: Delete the user's specified notification preferences duty + responses: + '204': + description: if deletion was successful + /users/{user-id}/notification-preferences/updates: + get: + tags: + - Notification Preferences + parameters: + - $ref: '#/components/parameters/user-id-in-path' + summary: Get update notification preferences of a user + responses: + '200': + description: '' + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/NotificationPreferencesUpdate' + post: + tags: + - Notification Preferences + parameters: + - $ref: '#/components/parameters/user-id-in-path' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesUpdatePost' + required: true + summary: Create an update notification preference + responses: + '201': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesUpdate' + /users/{user-id}/notification-preferences/updates/{id}: + get: + tags: + - Notification Preferences + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + summary: Get specific notification preferences update + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesUpdate' + put: + tags: + - Notification Preferences + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesUpdatePost' + summary: Update a user's update notification preference + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesUpdate' + delete: + tags: + - Notification Preferences + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + summary: Delete the user's specified notification preferences update + responses: + '204': + description: if deletion was successful + /users/{user-id}/notification-preferences/subscriptions: + get: + tags: + - Notification Preferences + parameters: + - $ref: '#/components/parameters/user-id-in-path' + summary: Get subscription notification preferences of a user + responses: + '200': + description: '' + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/NotificationPreferencesSubscription' + post: + tags: + - Notification Preferences + parameters: + - $ref: '#/components/parameters/user-id-in-path' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesSubscriptionPost' + required: true + summary: Create a subscription notification preference + responses: + '201': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesSubscription' + /users/{user-id}/notification-preferences/subscriptions/{id}: + get: + tags: + - Notification Preferences + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + summary: Get specific notification preferences subscription + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesSubscription' + put: + tags: + - Notification Preferences + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesSubscriptionPost' + summary: Update a user's subscription notification preference + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesSubscription' + delete: + tags: + - Notification Preferences + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + summary: Delete the user's specified notification preferences subscription + responses: + '204': + description: if deletion was successful + /numbers: + get: + tags: + - Numbers + security: [] + summary: >- + List available phone numbers that ilert uses to send voice and SMS + notifications + responses: + '200': + description: List of phone numbers + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/OutboundNumber' + /integrations: + get: + tags: + - Integrations + security: [] + parameters: + - $ref: '#/components/parameters/start-index' + - $ref: '#/components/parameters/max-results' + summary: >- + List available inbound and outbound integrations. Note: this resource is + paginated. + responses: + '200': + description: list of integrations + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Integration' + /users: + get: + tags: + - Users + parameters: + - $ref: '#/components/parameters/start-index' + - $ref: '#/components/parameters/max-results' + summary: List existing users. + responses: + '200': + description: list of users + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/User' + post: + tags: + - Users + summary: Create a new user. Requires ADMIN privileges. + description: | + **Sample request** + + ```json + Request URL: https://api.ilert.com/api/users + + { + "firstName": "John", + "lastName": "Doe", + "email": "john@acme.com", + "position": "Software Engineer", + } + ``` + + **Response** + + ````json + { + "id": 2188373, + "firstName": "John", + "lastName": "Doe", + "email": "john@acme.com", + "position": "Software Engineer", + "timezone": "Europe/Berlin", + "language": "de", + "role": "RESPONDER", + } + ```` + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UserPost' + description: the user object + responses: + '201': + description: >- + Created. The URI of the created user entity is included in the + Location header and the user object is included in the body. + content: + application/json: + schema: + $ref: '#/components/schemas/User' + /users/current: + get: + tags: + - Users + summary: Get the currently authenticated user. + responses: + '200': + description: user object + content: + application/json: + schema: + $ref: '#/components/schemas/User' + put: + summary: Update the current user. + tags: + - Users + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UserPost' + description: user object + responses: + '200': + description: the updated user + content: + application/json: + schema: + $ref: '#/components/schemas/User' + /alerts: + post: + tags: + - Alerts + summary: >- + Create alerts with customised parameters without requiring events from + monitoring tools that use our Events API. + description: >- + Escalation of the alert will be based on the alert source's escalation + policy or may be overridden by providing a specific escalation policy or + lastly specific set of responders (users), latter will only notify the + user(s) and will not escalate any further. + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ManualAlert' + description: the alert + required: true + responses: + '201': + description: the created and freshly escalated alert + content: + application/json: + schema: + $ref: '#/components/schemas/Alert' + get: + tags: + - Alerts + summary: >- + List alerts (optionally matching certain criteria that are specified by + query parameters). + description: >- + **Sample URLs** + + * List only alerts that are either in state `PENDING` or `ACCEPTED`:
https://api.ilert.com/api/alerts?states=PENDING&states=ACCEPTED + + * List only alerts that belong to the alert source with ID `1243` or + `1743` and where user `jd` is a responder:
+ https://api.ilert.com/api/alerts?sources=1243&sources=1743&responders=jd + * Paginate first batch for a range of alerts (note: query parameters + should be url encoded):
+ https://api.ilert.com/api/alerts?start-index=0&max-results=100&from=2021-03-01T21:24:56.771Z&until=2021-04-01T21:24:56.771Z + * Fetch next page, assuming equal to max-results were returned:
+ https://api.ilert.com/api/alerts?start-index=100&max-results=100&from=2021-03-01T21:24:56.771Z&until=2021-04-01T21:24:56.771Z + * Pagination should be done based on the `reportTime` field using the + parameters `from` and `until` as well as `start-index`. When building a + local alert state store the `id` field should be used as identifier. The + `alertKey` field is not suitable for this, as it is used to group + related alerts to each other. + parameters: + - $ref: '#/components/parameters/start-index' + - $ref: '#/components/parameters/max-results' + - name: include + in: query + description: >- + Describes optional properties that should be included in the + response. You may declare multiple. (nextEscalationUser) + required: false + explode: true + schema: + type: array + items: + type: string + enum: + - nextEscalationUser + - in: query + name: states + description: state of the alert + explode: true + schema: + type: array + items: + type: string + enum: + - PENDING + - ACCEPTED + - RESOLVED + - in: query + name: sources + description: alert source IDs of the alert's alert source + explode: true + schema: + type: array + items: + type: integer + format: int64 + - in: query + name: policies + description: escalation policy IDs of the alert's escalation policy + explode: true + schema: + type: array + items: + type: integer + format: int64 + - in: query + name: responders + description: user ids of the user that is a responder of the alert + explode: true + schema: + type: array + items: + type: string + - in: query + name: from + description: >- + from date, ISO-UTC e.g. 2021-05-25T21:24:56.771Z, based on + reportTime + schema: + type: string + format: date-time + - in: query + name: until + description: >- + until date, ISO-UTC e.g. 2021-05-26T21:24:56.771Z, based on + reportTime + schema: + type: string + format: date-time + responses: + '200': + description: OK + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Alert' + /alerts/count: + get: + tags: + - Alerts + summary: Get the alert count matching the specified criteria. + parameters: + - in: query + name: states + description: state of the alert + explode: true + schema: + type: array + items: + type: string + enum: + - PENDING + - ACCEPTED + - RESOLVED + - in: query + name: sources + description: alert source IDs of the alert's alert source + explode: true + schema: + type: array + items: + type: integer + format: int64 + - in: query + name: responders + description: user ids of the user that is a responder of the alert + explode: true + schema: + type: array + items: + type: string + - in: query + name: from + description: from date + schema: + type: string + format: date-time + - in: query + name: until + description: until date + schema: + type: string + format: date-time + responses: + '200': + description: the number of alerts matching the specified criteria + content: + application/json: + schema: + $ref: '#/components/schemas/CountResponse' + /alerts/{id}: + get: + tags: + - Alerts + parameters: + - $ref: '#/components/parameters/id' + - name: include + in: query + description: >- + Describes optional properties that should be included in the + response. You may declare multiple. (escalationRules, + nextEscalationUser) + required: false + explode: true + schema: + type: array + items: + type: string + enum: + - escalationRules + - nextEscalationUser + summary: Get the alert with the specified id. + responses: + '200': + description: alert object + content: + application/json: + schema: + $ref: '#/components/schemas/Alert' + /alerts/{id}/suggested-responders: + get: + tags: + - Alerts + parameters: + - $ref: '#/components/parameters/id' + - name: lang + in: query + description: locale for response text eg. 'en' or 'de' + schema: + type: string + summary: >- + Get available (assignable) responders for the alert with the specified + id. + responses: + '200': + description: the list of alert responders + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/SuggestedResponder' + /alerts/{id}/responders: + post: + tags: + - Alerts + parameters: + - $ref: '#/components/parameters/id' + summary: Add an additional responder to the alert. + responses: + '201': + description: the created alert responder object + content: + application/json: + schema: + $ref: '#/components/schemas/AlertResponder' + '404': + description: Responder did not exist + '405': + description: Responder is already present on the alert + /alerts/{id}/responders/{user-id}: + delete: + tags: + - Alerts + parameters: + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/user-id-in-path' + summary: Remove a responder from the alert. + responses: + '204': + description: Responder has been removed + '404': + description: Responder did not exist + /alerts/{id}/assign: + put: + tags: + - Alerts + parameters: + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/user-id-in-query' + - name: policy + in: query + description: numeric policy id + schema: + type: string + - name: schedule + in: query + description: numeric schedule id + schema: + type: string + summary: Assign the alert. + description: >- + Either provide a user-id, policy-id (escalation policy) or schedule-id + (on-call schedule) that the specific alert should be assigned to. + responses: + '200': + description: the updated alert object + content: + application/json: + schema: + $ref: '#/components/schemas/Alert' + /alerts/{id}/accept: + put: + tags: + - Alerts + parameters: + - $ref: '#/components/parameters/id' + summary: Accept the Alert. + responses: + '200': + description: the updated alert object + content: + application/json: + schema: + $ref: '#/components/schemas/Alert' + /alerts/{id}/resolve: + put: + tags: + - Alerts + parameters: + - $ref: '#/components/parameters/id' + summary: Resolve the alert. + responses: + '200': + description: the updated alert object + content: + application/json: + schema: + $ref: '#/components/schemas/Alert' + /alerts/{id}/notifications: + get: + tags: + - Alerts + - Notifications + parameters: + - $ref: '#/components/parameters/id' + summary: Get notifications for the specified alert. + responses: + '200': + description: a list of notification objects + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Notification' + /alerts/{id}/log-entries: + get: + tags: + - Alerts + - Log-Entries + parameters: + - $ref: '#/components/parameters/id' + - name: lang + in: query + description: log entry language + schema: + type: string + enum: + - en + - de + - $ref: '#/components/parameters/start-index' + - $ref: '#/components/parameters/max-results' + - name: include + in: query + description: >- + Describes optional properties that should be included in the + response. You may declare multiple. (vars) + required: false + explode: true + schema: + type: array + items: + type: string + enum: + - vars + - in: query + name: filter-types + description: filter-type (group) of the log + explode: true + schema: + type: array + items: + type: string + enum: + - NOTIFICATIONS + - ALERT_SOURCE_EVENTS + - CALL_ROUTING_EVENTS + - ALERT_UPDATES + - CONNECTOR_EVENTS + - INCIDENT_COMMUNICATIONS + summary: Get log entries for the specified alert. + responses: + '200': + description: list of log entries + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/LogEntry' + /alerts/{id}/actions: + get: + tags: + - Alert Actions + parameters: + - $ref: '#/components/parameters/id' + summary: Get available actions for specified alert. + responses: + '200': + description: list of alert actions + content: + application/json: + schema: + $ref: '#/components/schemas/AlertActionTrigger' + post: + tags: + - Alert Actions + parameters: + - $ref: '#/components/parameters/id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AlertActionTrigger' + description: the alert action, you might skip the 'history' field + required: true + summary: Invoke a specific alert action. + responses: + '201': + description: the alert action result, validate the 'success' field + content: + application/json: + schema: + $ref: '#/components/schemas/AlertActionResult' + /schedules: + get: + tags: + - Schedules + summary: List on-call schedules. + parameters: + - name: include + in: query + description: >- + Describes optional properties that should be included in the + response. You may declare multiple. (currentShift, nextShift, + scheduleLayers [only available for RECURRING schedules], shifts + [only available for STATIC schedules], past [show shifts in the + past, only for STATIC]) + required: false + explode: true + schema: + type: array + items: + type: string + enum: + - scheduleLayers + - shifts + - currentShift + - nextShift + - past + - $ref: '#/components/parameters/start-index' + - in: query + name: max-results + description: >- + the maximum number of results when paging through a list of + schedules. + required: false + schema: + type: integer + format: int32 + maximum: 20 + default: 20 + responses: + '200': + description: a list of on-call schedules + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Schedule' + post: + tags: + - Schedules + parameters: + - name: abort-on-gaps + in: query + required: false + description: Used for static schedules to prevent creating schedules with gaps + schema: + type: boolean + requestBody: + $ref: '#/components/requestBodies/Schedule' + summary: Create a new on-call schedule. + responses: + '201': + description: The created on-call schedule + content: + application/json: + schema: + $ref: '#/components/schemas/Schedule' + /schedules/{id}: + get: + tags: + - Schedules + summary: Get the on-call schedule with the specified id. + parameters: + - $ref: '#/components/parameters/id' + - name: include + in: query + description: >- + Describes optional properties that should be included in the + response. You may declare multiple. (currentShift, nextShift, + scheduleLayers [only available for RECURRING schedules], shifts + [only available for STATIC schedules], past [show shifts in the + past, only for STATIC]) + required: false + explode: true + schema: + type: array + items: + type: string + enum: + - scheduleLayers + - shifts + - currentShift + - nextShift + - past + responses: + '200': + description: >- + The schedule object. (scheduleLayers [only available for RECURRING + schedules], shifts [only available for STATIC schedules]) + content: + application/json: + schema: + $ref: '#/components/schemas/Schedule' + put: + tags: + - Schedules + parameters: + - $ref: '#/components/parameters/id' + - name: abort-on-gaps + in: query + required: false + description: Used for static schedules to prevent updating schedules with gaps + schema: + type: boolean + requestBody: + $ref: '#/components/requestBodies/Schedule' + summary: Update an on-call schedule. + responses: + '200': + description: The updated on-call schedule + content: + application/json: + schema: + $ref: '#/components/schemas/Schedule' + delete: + tags: + - Schedules + summary: Delete the on-call schedule with the specified id. + parameters: + - $ref: '#/components/parameters/id' + responses: + '204': + description: empty response + /schedules/{id}/shifts: + get: + tags: + - Schedules + summary: Get shifts for the specified schedule and date range. + parameters: + - $ref: '#/components/parameters/id' + - in: query + name: from + description: from date, default is start of last month + schema: + type: string + format: date-time + - in: query + name: until + description: until date, default is from date plus 3 months + schema: + type: string + - in: query + name: exclude-overrides + description: if true, shifts won't include overrides + schema: + type: boolean + default: false + responses: + '200': + description: the shift objects + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Shift' + /schedules/{id}/overrides: + get: + tags: + - Schedules + summary: Get overrides for the specified schedule. + parameters: + - $ref: '#/components/parameters/id' + responses: + '200': + description: the shift objects + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Shift' + put: + tags: + - Schedules + summary: Add an override shift to a schedule. + parameters: + - $ref: '#/components/parameters/id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Shift' + description: >- + the shift which should overwrite the schedule (must not be in the + past) + required: true + responses: + '200': + description: the overwritten schedule object + content: + application/json: + schema: + $ref: '#/components/schemas/ScheduleRel' + /schedules/{id}/user-on-call: + get: + tags: + - Schedules + summary: >- + Get the user (wrapped in a shift object) on-call for the specified + schedule. + parameters: + - $ref: '#/components/parameters/id' + responses: + '200': + description: the current shift + content: + application/json: + schema: + $ref: '#/components/schemas/Shift' + '204': + description: if no user is on-call + /on-calls: + get: + tags: + - On-Calls + parameters: + - name: policies + in: query + required: false + description: escalation policy ids to filter on call duties for + schema: + type: number + - name: policy-levels + in: query + required: false + description: >- + can be provided instead of 'policies', must be a serialised and + urlencoded JSON object e.g. ?policy-levels="{ "id": 12, "level": 1 + }" where id is the policy id and level is the escalation level that + should be included + schema: + type: string + - name: schedules + in: query + required: false + description: on call schedule ids to filter on call duties for + schema: + type: number + - name: users + in: query + required: false + description: user ids to filter on call duties for + schema: + type: number + - name: expand + in: query + required: false + description: 'include full entities for: policy, escalationPolicy or user' + schema: + type: string + - name: from + in: query + required: false + description: >- + date-time ISO-UTC e.g. 2021-05-25T21:24:56.771Z, start of the time + range, may not exceed 3 months in total span, defaults to current + time + schema: + type: string + - name: until + in: query + required: false + description: >- + date-time ISO-UTC e.g. 2021-05-25T21:24:56.771Z, end of the time + range, must be after 'from', defaults to current time + schema: + type: string + - name: timezone + in: query + required: false + description: Time zone in which the results will be rendered, defaults to UTC + schema: + type: string + - name: start-index + in: query + required: false + description: offset for the search results, defaults to 0 + schema: + type: number + - name: max-results + in: query + required: false + description: limit for the search results, defaults to 50, may not exceed 250 + schema: + type: number + summary: List on-calls with flexible filters + responses: + '200': + description: returns a list of on-call objects for the searched window + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/OnCall' + /alert-sources: + get: + tags: + - Alert Sources + parameters: + - $ref: '#/components/parameters/start-index' + - in: query + name: max-results + description: >- + the maximum number of results when paging through a list of alert + sources. + required: false + schema: + type: integer + format: int32 + maximum: 50 + default: 50 + summary: List alert sources. + responses: + '200': + description: the alert source object + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/AlertSourceNoIncludes' + post: + tags: + - Alert Sources + requestBody: + $ref: '#/components/requestBodies/AlertSourceRel' + summary: Create a new alert source. + responses: + '201': + description: >- + The URI of the alert source will be included in the location header + and the alert source will be included in the body. + content: + application/json: + schema: + $ref: '#/components/schemas/AlertSource' + /alert-sources/{id}: + get: + tags: + - Alert Sources + parameters: + - $ref: '#/components/parameters/source-id-or-key' + - name: include + in: query + description: >- + Describes optional properties that should be included in the + response. You may declare multiple. (detailsTemplate, + summaryTemplate, routingTemplate, linkTemplates, priorityTemplate, + textTemplate) + required: false + explode: true + schema: + type: array + items: + type: string + enum: + - detailsTemplate + - summaryTemplate + - routingTemplate + - linkTemplates + - priorityTemplate + - textTemplate + summary: Get the alert source with specified id or alternatively api key. + responses: + '200': + description: the alert source object + content: + application/json: + schema: + $ref: '#/components/schemas/AlertSource' + put: + tags: + - Alert Sources + parameters: + - $ref: '#/components/parameters/id' + requestBody: + $ref: '#/components/requestBodies/AlertSourceRel' + summary: Update an existing alert source. + responses: + '200': + description: the updated alert source object + content: + application/json: + schema: + $ref: '#/components/schemas/AlertSource' + delete: + tags: + - Alert Sources + parameters: + - $ref: '#/components/parameters/id' + summary: Delete the specified alert source. + responses: + '204': + description: if deletion was successful + /support-hours: + get: + tags: + - Support Hours + parameters: + - $ref: '#/components/parameters/start-index' + - in: query + name: max-results + description: >- + the maximum number of results when paging through a list of support + hours. + required: false + schema: + type: integer + format: int32 + maximum: 50 + default: 50 + summary: List support hours. + responses: + '200': + description: list of support hours + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/SupportHour' + post: + tags: + - Support Hours + requestBody: + $ref: '#/components/requestBodies/SupportHour' + summary: Create a new support hour. + responses: + '201': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/SupportHour' + /support-hours/{id}: + get: + tags: + - Support Hours + parameters: + - $ref: '#/components/parameters/id' + summary: Get the support hour with specified id. + responses: + '200': + description: the support hour object + content: + application/json: + schema: + $ref: '#/components/schemas/SupportHour' + put: + tags: + - Support Hours + parameters: + - $ref: '#/components/parameters/id' + requestBody: + $ref: '#/components/requestBodies/SupportHour' + summary: Update an existing support hour. + responses: + '200': + description: the updated support hour object + content: + application/json: + schema: + $ref: '#/components/schemas/SupportHour' + delete: + tags: + - Support Hours + parameters: + - $ref: '#/components/parameters/id' + summary: Delete the specified support hour. + responses: + '204': + description: if deletion was successful + /maintenance-windows: + get: + tags: + - Maintenance Windows + parameters: + - $ref: '#/components/parameters/start-index' + - $ref: '#/components/parameters/max-results' + summary: List maintenance windows. + responses: + '200': + description: the maintenance window object + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/MaintenanceWindow' + post: + tags: + - Maintenance Windows + requestBody: + $ref: '#/components/requestBodies/MaintenanceWindow' + summary: Create a new maintenance window. + responses: + '200': + description: >- + The URI of the maintenance window will be included in the location + header and the maintenance window will be included in the body. + content: + application/json: + schema: + $ref: '#/components/schemas/MaintenanceWindow' + /maintenance-windows/{id}: + get: + tags: + - Maintenance Windows + parameters: + - $ref: '#/components/parameters/id' + summary: Get the maintenance window with specified id. + responses: + '200': + description: the maintenance window object + content: + application/json: + schema: + $ref: '#/components/schemas/MaintenanceWindow' + put: + tags: + - Maintenance Windows + parameters: + - $ref: '#/components/parameters/id' + requestBody: + $ref: '#/components/requestBodies/MaintenanceWindow' + summary: Update an existing maintenance window. + responses: + '200': + description: the updated maintenance window object + content: + application/json: + schema: + $ref: '#/components/schemas/MaintenanceWindow' + delete: + tags: + - Maintenance Windows + parameters: + - $ref: '#/components/parameters/id' + summary: Delete the specified maintenance window. + responses: + '204': + description: if deletion was successful + /escalation-policies: + get: + tags: + - Escalation Policies + summary: List escalation policies. + parameters: + - $ref: '#/components/parameters/start-index' + - in: query + name: max-results + description: >- + the maximum number of results when paging through a list of + escalation policies. + required: false + schema: + type: integer + format: int32 + maximum: 50 + default: 50 + responses: + '200': + description: OK + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/EscalationPolicy' + post: + tags: + - Escalation Policies + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/EscalationPolicy' + description: the escalation polocy + required: true + summary: Create a new escalation policy. + responses: + '201': + description: >- + Created. The URI of the escalation policy is included in the + Location header and the entity in the body + content: + application/json: + schema: + $ref: '#/components/schemas/EscalationPolicy' + /escalation-policies/{id}: + get: + tags: + - Escalation Policies + parameters: + - $ref: '#/components/parameters/id' + summary: Get escalation policy with the specified id. + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/EscalationPolicy' + put: + tags: + - Escalation Policies + parameters: + - $ref: '#/components/parameters/id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/EscalationPolicy' + description: the escalation policy + required: true + summary: Update an existing escalation policy. + responses: + '200': + description: The updated escalation policy + content: + application/json: + schema: + $ref: '#/components/schemas/EscalationPolicy' + delete: + tags: + - Escalation Policies + parameters: + - $ref: '#/components/parameters/id' + summary: Delete the specified escalation policy. + responses: + '204': + description: if deletion was successful + /series/{key}: + post: + tags: + - Series + security: [] + summary: Ingest a series for a metric + description: >- + Post a time point or multiple time points (series) to a metric. User + authorization is not required instead provide the integration key of + your metric. + parameters: + - $ref: '#/components/parameters/key' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SeriesOption' + description: the time point or series of time points + required: true + responses: + '202': + description: The time points have been accepted + /events: + post: + tags: + - Events + security: [] + summary: Post an event to ilert. + description: > + Use the Event API to integrate your monitoring or ticketing tools with + ilert. It provides a single API endpoint that allows you to create, + accept and resolve alerts in ilert. It is designed around the notion + that monitoring tools send events when + + * a problem occurs (an `ALERT` event in ilert terminology) + + * a problem is acknowledged, indicating that someone is working on the + resolution of the problem (an `ACCEPT`event) + + * a problem is resolved (a `RESOLVED`event) + + + The API accepts these events, routes them to the alert source to which + the api key belongs, and takes appropriate action. + + + An event object contains the following attributes: + + + Attribute | Desription + + ------------- | ------------- + + apiKey | **Required**. The API key of the alert source. + + eventType | **Required**. Must be either `ALERT`, `ACCEPT`, or + `RESOLVE` + + summary | **Required**. The event summary. Will be used as the alert + summary if a new alert is created. + + details | Optional. The event details. Will be used as the alert details + if a new alert is created. + + alertKey | Optional. For `ALERT` events, the alertKey can be used to + deduplicate or group events. If an open alert with the key already + exists, the event will be appended to the alert's event log. Otherwise a + new alert will be created. For `ACCEPT` and `RESOLVE` events, the + alertKey is used to reference the open alert which is to be accepted or + resolved by this event. + + priority | Optional. Must be either HIGH or LOW. Will overwrite the + evaluated priority of the alert source. + + images | Optional. A list of images containing src, href and alt. + + links | Optional. A list of links, containing href and text. + + customDetails | Optional. Additional custom details for the event. + + routingKey | Optional. Overwrite escalation policy for ALERT events. + + + + ### Getting started + + Before you can start making API requests, you need to create an API + alert source in the ilert web interface: + + 1. Go to "Alert sources" + + 2. Click on "Add a new alert source" + + 3. Fill out the form chosing "API" as the integration type and save. + + + An API key will be generated for the alert source after creation. You + can obtain the key on the alert sources' details page. You can only use + the key to post events to this alert source and you don't need to + provide any other credentials when using the Event API. + + + ### Example: create, accept and resolve an alert + + The following example will guide you through a basic workflow where an + alert is created, accepted, and resolved. + + + #### Create alert + + An alert can be created by posting an `ALERT` event: + + + **Request** + + ```json + + https://api.ilert.com/api/events + + + { + "apiKey": "edf0235f-a720-458e-a7fd-6b001042a4f4", + "eventType": "ALERT", + "alertKey": "srv/mail01", + "summary": "Host srv/mail01 is CRITICAL" + } + + ``` + + + Let's say we want to post an update saying that the host is down. To do + that, we will post another `ALERT` event using the same alertKey: + + + **Request** + + ```json + + https://api.ilert.com/api/events + + + { + "apiKey": "edf0235f-a720-458e-a7fd-6b001042a4f4", + "eventType": "ALERT", + "alertKey": "srv/mail01", + "summary": "Host srv/mail01 is DOWN" + } + + ``` + + + #### Accept an + + Continuing our example from above, we want to accept the alert that we + created. In order to that, we post an `ACCEPT`event using the same + alertKey that we used when we posted the `ALERT` event. + + + **Request** + + ```json + + https://api.ilert.com/api/events + + + { + "apiKey": "edf0235f-a720-458e-a7fd-6b001042a4f4", + "eventType": "ACCEPT", + "alertKey": "srv/mail01" + } + + ``` + + + The alert is now in ACCEPTED state stopping any further notifications. + + + #### Resolve an alert + + To resolve the alert, we simply post a `RESOLVE` event using the alert + key from above. + + + **Request** + + ```json + + https://api.ilert.com/api/events + + + { + "apiKey": "edf0235f-a720-458e-a7fd-6b001042a4f4", + "eventType": "RESOLVE", + "alertKey": "srv/mail01" + } + + ``` + + + The alert is now resolved. + + + + + ### Dealing with errors and retries + + We strongly recommend to implement a retry logic on the client side if + an error occurs (ideally using an [exponential + backoff](https://en.wikipedia.org/wiki/Exponential_backoff)). + + + Retry a failed request for the following errors: + + * any network errors + + * 5xx errors: this indicates an error in ilert + + * 429 Too Many Requests: you have reached your rate limit + + + + Do NOT retry a request for the following HTTP response codes: + + * 202 Accepted: the request was successful + + * 400 Bad Request: (check the error message for details) + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Event' + description: the event + required: true + responses: + '202': + description: The event has been accepted + /heartbeats/{key}: + head: + tags: + - Heartbeats + security: [] + parameters: + - $ref: '#/components/parameters/key' + summary: Ping heartbeat alert source. + responses: + '202': + description: Arbitrary accept response + get: + tags: + - Heartbeats + security: [] + parameters: + - $ref: '#/components/parameters/key' + summary: Ping heartbeat alert source. + responses: + '202': + description: Arbitrary accept response + post: + tags: + - Heartbeats + security: [] + parameters: + - $ref: '#/components/parameters/key' + summary: Ping heartbeat alert source. + responses: + '202': + description: Arbitrary accept response + /alert-actions: + get: + tags: + - Alert Actions + parameters: + - name: source + in: query + description: alert source id + schema: + type: number + - name: connector + in: query + description: connector id + schema: + type: string + - $ref: '#/components/parameters/start-index' + - in: query + name: max-results + description: >- + the maximum number of results when paging through a list of alert + actions. + required: false + schema: + type: integer + format: int32 + maximum: 100 + default: 100 + summary: Get alert actions. + responses: + '200': + description: The filtered alert actions + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/AlertAction' + post: + tags: + - Alert Actions + requestBody: + $ref: '#/components/requestBodies/AlertAction' + summary: Create a new alert action. + responses: + '200': + description: The newly created alert action + content: + application/json: + schema: + $ref: '#/components/schemas/AlertAction' + /alert-actions/{id}: + get: + tags: + - Alert Actions + parameters: + - $ref: '#/components/parameters/string-id' + summary: Get a specific alert action. + responses: + '200': + description: The requested alert action + content: + application/json: + schema: + $ref: '#/components/schemas/AlertAction' + put: + tags: + - Alert Actions + parameters: + - $ref: '#/components/parameters/string-id' + requestBody: + $ref: '#/components/requestBodies/AlertAction' + summary: 'Update the specific alert action. (note: type cannot be changed)' + responses: + '200': + description: The updated alert action + content: + application/json: + schema: + $ref: '#/components/schemas/AlertAction' + delete: + tags: + - Alert Actions + parameters: + - $ref: '#/components/parameters/string-id' + summary: Remove a specific alert action. + responses: + '204': + description: Empty body delete response + /connectors: + get: + tags: + - Connectors + parameters: + - $ref: '#/components/parameters/start-index' + - $ref: '#/components/parameters/max-results' + summary: Get connectors. + responses: + '200': + description: The connectors + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Connector' + post: + tags: + - Connectors + requestBody: + $ref: '#/components/requestBodies/Connector' + summary: Create a new connector. + responses: + '200': + description: The newly created connector + content: + application/json: + schema: + $ref: '#/components/schemas/Connector' + /connectors/{id}: + get: + tags: + - Connectors + parameters: + - $ref: '#/components/parameters/string-id' + summary: Get a specific connector. + responses: + '200': + description: The requested connector + content: + application/json: + schema: + $ref: '#/components/schemas/Connector' + put: + tags: + - Connectors + parameters: + - $ref: '#/components/parameters/string-id' + requestBody: + $ref: '#/components/requestBodies/Connector' + summary: 'Update the specific connector. (note: type cannot be changed)' + responses: + '200': + description: The updated connector + content: + application/json: + schema: + $ref: '#/components/schemas/Connector' + delete: + tags: + - Connectors + parameters: + - $ref: '#/components/parameters/string-id' + summary: Remove a specific connector. + responses: + '204': + description: Empty body delete response + /teams: + get: + tags: + - Teams + parameters: + - $ref: '#/components/parameters/start-index' + - $ref: '#/components/parameters/max-results' + - name: members + in: query + required: false + description: >- + optional, filter teams for specific members (currently only a single + occurrence of this param is allowed) + schema: + type: number + summary: Get teams. + responses: + '200': + description: The teams + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Team' + post: + tags: + - Teams + requestBody: + $ref: '#/components/requestBodies/Team' + summary: Create a new team. + responses: + '200': + description: The newly created team + content: + application/json: + schema: + $ref: '#/components/schemas/Team' + /teams/{id}: + get: + tags: + - Teams + parameters: + - $ref: '#/components/parameters/id' + summary: Get a specific team. + responses: + '200': + description: The requested team + content: + application/json: + schema: + $ref: '#/components/schemas/Team' + put: + tags: + - Teams + parameters: + - $ref: '#/components/parameters/id' + requestBody: + $ref: '#/components/requestBodies/Team' + summary: Update the specific team + responses: + '200': + description: The updated team + content: + application/json: + schema: + $ref: '#/components/schemas/Team' + delete: + tags: + - Teams + parameters: + - $ref: '#/components/parameters/id' + summary: Remove a specific team. + responses: + '204': + description: Empty body delete response + /teams/{id}/members: + post: + tags: + - Teams + parameters: + - $ref: '#/components/parameters/id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TeamMember' + description: the team member + required: true + summary: Add a new team member to specific team + responses: + '200': + description: The added team member + content: + application/json: + schema: + $ref: '#/components/schemas/TeamMember' + /teams/{id}/members/{id}: + delete: + tags: + - Teams + parameters: + - $ref: '#/components/parameters/id' + summary: Remove a specific member of a specific team. + responses: + '204': + description: Empty body delete response + /reports/alerts: + get: + tags: + - Reports + parameters: + - name: sources + in: query + required: false + description: alert source ids to filter metrics for + schema: + type: number + - name: policies + in: query + required: false + description: escalation policy ids to filter metrics for + schema: + type: number + - name: numbers + in: query + required: false + description: phone numbers of call routing numbers to filter metrics for + schema: + type: string + - name: from + in: query + required: true + description: >- + date-time ISO-UTC e.g. 2021-05-25T21:24:56.771Z, start of the time + range, may not exceed 1 year in total span + schema: + type: string + - name: until + in: query + required: true + description: >- + date-time ISO-UTC e.g. 2021-05-25T21:24:56.771Z, end of the time + range, must be after 'from', must not be in the future + schema: + type: string + - name: timezone + in: query + required: false + description: >- + Time zone in which the results will be rendered, defaults to + tenant's configured default timezone + schema: + type: string + - name: metric + in: query + required: false + description: >- + Describes the metric that should be fetched choose one of: COUNT, + MTTA or MTTR - defaults to COUNT + schema: + type: string + - name: group-by + in: query + required: false + description: >- + Defines the grouping of metrics, choose one of: DAY, WEEK or MONTH - + defaults to WEEK + schema: + type: string + - name: priority + in: query + required: false + description: >- + Sets the priority filter that should be applied, choose one of: LOW, + HIGH or ALL - defaults to ALL + schema: + type: string + summary: List alert metrics for the requested resources + responses: + '200': + description: >- + an array of alert report metrics, each metric is another array + containing data in the following order: + + + [long:alertSourceId, long:escalationPolicyId, + string:callRoutingNumberPhoneNumber, string:ISO-8601, long:value] + + + e.g. [ [202541, 13541, "", "2021-08", 15] ] + + + Please note: the ISO-8601 (4th column) in this case depends on the + chosen 'group-by' parameter. DAY=2021-08-01, WEEK=2021-W12, + MONTH=2021-08 + content: + application/json: + schema: + type: array + items: + type: array + items: + oneOf: + - type: number + - type: string + metric sample: + examples: + response: + value: + summary: metric sample + value: + - - 202541 + - 13541 + - '' + - 2021-08 + - 15 + /reports/alerts/summary: + get: + tags: + - Reports + parameters: + - name: sources + in: query + required: false + description: alert source ids to filter metrics for + schema: + type: number + - name: policies + in: query + required: false + description: escalation policy ids to filter metrics for + schema: + type: number + - name: numbers + in: query + required: false + description: phone numbers of call routing numbers to filter metrics for + schema: + type: string + - name: from + in: query + required: true + description: >- + date-time ISO-UTC e.g. 2021-05-25T21:24:56.771Z, start of the time + range, may not exceed 1 year in total span + schema: + type: string + - name: until + in: query + required: true + description: >- + date-time ISO-UTC e.g. 2021-05-25T21:24:56.771Z, end of the time + range, must be after 'from', must not be in the future + schema: + type: string + - name: timezone + in: query + required: false + description: >- + Time zone in which the results will be rendered, defaults to + tenant's configured default timezone + schema: + type: string + - name: metric + in: query + required: false + description: >- + Describes the metric that should be fetched choose one of: COUNT, + MTTA or MTTR - defaults to COUNT + schema: + type: string + - name: group-by + in: query + required: false + description: >- + Defines the grouping of metrics, choose one of: DAY, WEEK or MONTH - + defaults to WEEK + schema: + type: string + - name: priority + in: query + required: false + description: >- + Sets the priority filter that should be applied, choose one of: LOW, + HIGH or ALL - defaults to ALL + schema: + type: string + summary: Summarize a list of alert metrics + responses: + '200': + description: >- + an array containing summarized alert report metrics for the + requested resource + content: + application/json: + schema: + type: array + items: + type: object + properties: + alertSourceId: + type: number + escalationPolicyId: + type: number + callRoutingNumberPhoneNumber: + type: string + count: + type: number + mtta: + type: number + mttr: + type: number + /reports/api-keys/usage: + get: + tags: + - Reports + parameters: + - name: scopes + in: query + required: false + description: >- + scopes of our API resources e.g. alert see + https://docs.ilert.com/rest-api/developing-ilert-apps/token-lifetimes-error-codes-app-verification-etc.#ilert-oauth2-scopes + schema: + type: string + - name: from + in: query + required: true + description: >- + date-time ISO-UTC e.g. 2021-05-25T21:24:56.771Z, start of the time + range, may not exceed 1 month (31 days) in total span (use this to + paginate) + schema: + type: string + - name: until + in: query + required: true + description: >- + date-time ISO-UTC e.g. 2021-05-25T21:24:56.771Z, end of the time + range, must be after 'from', must not be in the future (use this to + paginate) + schema: + type: string + - name: timezone + in: query + required: false + description: >- + Time zone in which the results will be rendered, defaults to + tenant's configured default timezone + schema: + type: string + summary: List API key usage metrics for the requested resources + description: This endpoint requires 'ADMIN' permissions + responses: + '200': + description: >- + an array of usage metrics, each metric is another array containing + data in the following order: + + + [long:userId, string:scope, string:ISO-8601, long:value] + + + e.g. [ [202541, "source", "2023-04-21", 15] ] + + + Please note: the ISO-8601 (3th column) in this case is always DAY + (2021-08-01) usually 24 hours apart, but there is a slight chance + that the same userId and scope have multiple entries for the same + DAY + content: + application/json: + schema: + type: array + items: + type: array + items: + oneOf: + - type: number + - type: string + metric sample: + examples: + response: + value: + summary: metric sample + value: + - - 202541 + - alert + - 2023-04 + - 15 + /incident-templates: + get: + tags: + - Incident Templates + parameters: + - $ref: '#/components/parameters/start-index' + - $ref: '#/components/parameters/max-results' + summary: Get incident templates. + responses: + '200': + description: The incident templates + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/IncidentTemplate' + post: + tags: + - Incident Templates + requestBody: + $ref: '#/components/requestBodies/IncidentTemplate' + summary: Create a new incident template. + responses: + '200': + description: The newly created incident template + content: + application/json: + schema: + $ref: '#/components/schemas/IncidentTemplate' + /incident-templates/{id}: + get: + tags: + - Incident Templates + parameters: + - $ref: '#/components/parameters/id' + summary: Get a specific incident template. + responses: + '200': + description: The requested incident template + content: + application/json: + schema: + $ref: '#/components/schemas/IncidentTemplate' + put: + tags: + - Incident Templates + parameters: + - $ref: '#/components/parameters/id' + requestBody: + $ref: '#/components/requestBodies/IncidentTemplate' + summary: Update the specific incident template + responses: + '200': + description: The updated incident template + content: + application/json: + schema: + $ref: '#/components/schemas/IncidentTemplate' + delete: + tags: + - Incident Templates + parameters: + - $ref: '#/components/parameters/id' + summary: Remove a specific incident template. + responses: + '204': + description: Empty body delete response + /services: + get: + tags: + - Services + parameters: + - $ref: '#/components/parameters/start-index' + - in: query + name: max-results + description: >- + the maximum number of results when paging through a list of + services. (Note: when using ?include maximum is reduced to 25) + required: false + schema: + type: integer + format: int32 + maximum: 100 + default: 10 + - name: include + in: query + description: >- + Describes optional properties that should be included in the + response. You may declare multiple. (subscribed, uptime, incidents) + required: false + explode: true + schema: + type: array + items: + type: string + enum: + - subscribed + - uptime + - incidents + summary: Get services. + responses: + '200': + description: The services + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Service' + post: + tags: + - Services + requestBody: + $ref: '#/components/requestBodies/ServiceNoIncludes' + summary: Create a new service. + responses: + '200': + description: The newly created service + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceNoIncludes' + /services/{id}: + get: + tags: + - Services + parameters: + - $ref: '#/components/parameters/id' + - name: include + in: query + description: >- + Describes optional properties that should be included in the + response. You may declare multiple. (subscribed, uptime, incidents) + required: false + explode: true + schema: + type: array + items: + type: string + enum: + - subscribed + - uptime + - incidents + summary: Get a specific service. + responses: + '200': + description: The requested service + content: + application/json: + schema: + $ref: '#/components/schemas/Service' + put: + tags: + - Services + parameters: + - $ref: '#/components/parameters/id' + requestBody: + $ref: '#/components/requestBodies/ServiceNoIncludes' + summary: Update the specific service + responses: + '200': + description: The updated service + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceNoIncludes' + delete: + tags: + - Services + parameters: + - $ref: '#/components/parameters/id' + summary: Remove a specific service. + responses: + '204': + description: Empty body delete response + /automation-rules: + get: + description: >- + This API has been deprecated, use /alert-actions of type + 'automation_rule' instead. + tags: + - Automation Rules + parameters: + - $ref: '#/components/parameters/start-index' + - $ref: '#/components/parameters/max-results' + - name: service + in: query + description: >- + The service id for which automation rules are filtered for, this + param is required + required: true + schema: + type: number + - name: source + in: query + description: >- + The alert source id for which automation rules are filtered for, + this param is an alternative to service + required: false + schema: + type: number + - name: status-page + in: query + description: >- + The status page id for which automation rules are filtered for, this + param is an alternative to service + required: false + schema: + type: number + summary: Get automation rules. + responses: + '200': + description: The automation rules + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/AutomationRule' + post: + description: >- + This API has been deprecated, use /alert-actions of type + 'automation_rule' instead. + tags: + - Automation Rules + requestBody: + $ref: '#/components/requestBodies/AutomationRule' + summary: Create a new automation rule. + responses: + '200': + description: The newly created automation rule + content: + application/json: + schema: + $ref: '#/components/schemas/AutomationRule' + /automation-rules/{id}: + get: + description: >- + This API has been deprecated, use /alert-actions of type + 'automation_rule' instead. + tags: + - Automation Rules + parameters: + - $ref: '#/components/parameters/id' + summary: Get a specific automation rule. + responses: + '200': + description: The requested automation rule + content: + application/json: + schema: + $ref: '#/components/schemas/AutomationRule' + put: + description: >- + This API has been deprecated, use /alert-actions of type + 'automation_rule' instead. + tags: + - Automation Rules + parameters: + - $ref: '#/components/parameters/id' + requestBody: + $ref: '#/components/requestBodies/AutomationRule' + summary: Update the specific automation rule + responses: + '200': + description: The updated automation rule + content: + application/json: + schema: + $ref: '#/components/schemas/AutomationRule' + delete: + description: >- + This API has been deprecated, use /alert-actions of type + 'automation_rule' instead. + tags: + - Automation Rules + parameters: + - $ref: '#/components/parameters/id' + summary: Remove a specific automation rule. + responses: + '204': + description: Empty body delete response + /incidents: + get: + tags: + - Incidents + parameters: + - $ref: '#/components/parameters/start-index' + - in: query + name: max-results + description: >- + the maximum number of results when paging through a list of + incidents. (Note: when using ?include maximum is reduced to 25) + required: false + schema: + type: integer + format: int32 + maximum: 100 + default: 10 + - name: include + in: query + description: >- + Describes optional properties that should be included in the + response. You may declare multiple. (subscribed) + required: false + explode: true + schema: + type: array + items: + type: string + enum: + - subscribed + - in: query + name: states + description: state of the alert + explode: true + schema: + type: array + items: + type: string + enum: + - INVESTIGATING + - IDENTIFIED + - MONITORING + - RESOLVED + - in: query + name: services + description: service IDs of the incident's affected services + explode: true + schema: + type: array + items: + type: integer + format: int64 + - in: query + name: from + description: >- + from date, ISO-UTC e.g. 2021-05-25T21:24:56.771Z, based on + reportTime + schema: + type: string + format: date-time + - in: query + name: until + description: >- + until date, ISO-UTC e.g. 2021-05-26T21:24:56.771Z, based on + reportTime + schema: + type: string + format: date-time + summary: Get incidents. + responses: + '200': + description: The incidents + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Incident' + post: + tags: + - Incidents + requestBody: + $ref: '#/components/requestBodies/IncidentNoIncludes' + summary: Create a new incident. + description: >- + Note: depending on affected services this will publish notifications to + subscribers. Use /publish-info to forecast notifications. + responses: + '200': + description: The newly created incident + content: + application/json: + schema: + $ref: '#/components/schemas/IncidentNoIncludes' + /incidents/publish-info: + post: + tags: + - Incidents + requestBody: + $ref: '#/components/requestBodies/IncidentNoIncludes' + summary: Forecast the affected subscribers and status pages + description: >- + Forecast the affected subscribers and status pages as well as + notifications that would be send out due to created or update incident. + responses: + '200': + description: The forecast for the provided incident + content: + application/json: + schema: + type: object + properties: + statusPagesInfo: + $ref: '#/components/schemas/UIMenuItem' + privateStatusPages: + type: number + readOnly: true + publicStatusPages: + type: number + readOnly: true + privateSubscribers: + type: number + readOnly: true + publicSubscribers: + type: number + readOnly: true + /incidents/{id}: + get: + tags: + - Incidents + parameters: + - $ref: '#/components/parameters/id' + - name: include + in: query + description: >- + Describes optional properties that should be included in the + response. You may declare multiple. (subscribed, affectedTeams, + history) + required: false + explode: true + schema: + type: array + items: + type: string + enum: + - subscribed + - affectedTeams + - history + summary: Get a specific incident. + description: >- + Note: returns an ETag header that can be send to the PUT /incidents/{id} + resource as If-Match header to return a 412 Error in case any related + resources e.g. Services or Incident have been updated in the mean time. + responses: + '200': + description: The requested incident + headers: + ETag: + description: >- + Send to the PUT /incidents/{id} resource as If-Match header to + return a 412 Error in case any related resources e.g. Services + or Incident have been updated in the mean time. + schema: + type: string + content: + application/json: + schema: + $ref: '#/components/schemas/IncidentWithHistory' + put: + tags: + - Incidents + parameters: + - $ref: '#/components/parameters/id' + - name: If-Match + in: header + required: false + description: >- + Should be the ETag response header retrieved from GET + /incidents/{id} to prevent updating the incident based on outdated + information. Will return 412 status code in case of conflict. + schema: + type: string + requestBody: + $ref: '#/components/requestBodies/IncidentNoIncludes' + summary: Update the specific incident. + description: >- + Note: the update will be automatically appended to the incident's update + history and publish notifications to subscribers. + responses: + '200': + description: The updated incident + content: + application/json: + schema: + $ref: '#/components/schemas/IncidentNoIncludes' + /incidents/{id}/private-subscribers: + get: + tags: + - Incidents + parameters: + - $ref: '#/components/parameters/id' + summary: Get the subscribers (users and teams) of an incident + responses: + '200': + description: The subscribers of the incident + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TeamUserOption' + post: + tags: + - Incidents + parameters: + - $ref: '#/components/parameters/id' + requestBody: + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TeamUserOption' + description: subscribers that should be added + required: true + summary: Add subscribers (users and teams) to an incident + responses: + '204': + description: '' + /services/{id}/private-subscribers: + get: + tags: + - Services + parameters: + - $ref: '#/components/parameters/id' + summary: Get the subscribers (users and teams) of a service + responses: + '200': + description: The subscribers of the service + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TeamUserOption' + put: + tags: + - Services + parameters: + - $ref: '#/components/parameters/id' + requestBody: + $ref: '#/components/requestBodies/TeamUserOptionArray' + summary: Set subscribers (users and teams) of a service + description: 'Note: this is an in place update' + responses: + '204': + description: '' + /status-pages: + get: + tags: + - Status Pages + parameters: + - $ref: '#/components/parameters/start-index' + - in: query + name: max-results + description: >- + the maximum number of results when paging through a list of status + pages. + required: false + schema: + type: integer + format: int32 + maximum: 50 + default: 25 + - name: include + in: query + description: >- + Describes optional properties that should be included in the + response. You may declare multiple. (subscribed) + required: false + explode: true + schema: + type: array + items: + type: string + enum: + - subscribed + summary: Get status pages. + responses: + '200': + description: The status pages + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/StatusPageList' + post: + tags: + - Status Pages + requestBody: + $ref: '#/components/requestBodies/StatusPageNoIncludes' + summary: Create a new status page. + responses: + '200': + description: The newly created status page + content: + application/json: + schema: + $ref: '#/components/schemas/StatusPageNoIncludes' + /status-pages/{id}: + get: + tags: + - Status Pages + parameters: + - $ref: '#/components/parameters/id' + - name: include + in: query + description: >- + Describes optional properties that should be included in the + response. You may declare multiple. (subscribed, uptime, groups, + structure). Note: structure is always included by default. + required: false + explode: true + schema: + type: array + items: + type: string + enum: + - subscribed + - uptime + - groups + - structure + summary: Get a specific status page. + responses: + '200': + description: The requested status page + content: + application/json: + schema: + $ref: '#/components/schemas/StatusPage' + put: + tags: + - Status Pages + parameters: + - $ref: '#/components/parameters/id' + requestBody: + $ref: '#/components/requestBodies/StatusPageNoIncludes' + summary: Update the specific status page + responses: + '200': + description: The updated status page + content: + application/json: + schema: + $ref: '#/components/schemas/StatusPageNoIncludes' + delete: + tags: + - Status Pages + parameters: + - $ref: '#/components/parameters/id' + summary: Remove a specific status page. + responses: + '204': + description: Empty body delete response + /status-pages/{id}/groups: + get: + tags: + - Status Pages + parameters: + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/start-index' + - $ref: '#/components/parameters/max-results' + summary: Get the groups of a status page + responses: + '200': + description: The groups of the status page + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/StatusPageGroup' + post: + tags: + - Status Pages + parameters: + - $ref: '#/components/parameters/id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/StatusPageGroup' + description: Group that should be added + required: true + summary: Add a group to a status page + responses: + '201': + description: The created group + content: + application/json: + schema: + $ref: '#/components/schemas/StatusPageGroup' + /status-pages/{id}/groups/{group-id}: + get: + tags: + - Status Pages + parameters: + - $ref: '#/components/parameters/id' + - name: group-id + in: path + description: entity ID + required: true + schema: + type: number + summary: Get a specific group of a status page + responses: + '200': + description: The group of the status page + content: + application/json: + schema: + $ref: '#/components/schemas/StatusPageGroup' + '404': + description: '' + put: + tags: + - Status Pages + parameters: + - $ref: '#/components/parameters/id' + - name: group-id + in: path + description: entity ID + required: true + schema: + type: number + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/StatusPageGroup' + description: Group that should be updated + required: true + summary: Update a group of a status page + responses: + '200': + description: The updated group of the status page + content: + application/json: + schema: + $ref: '#/components/schemas/StatusPageGroup' + delete: + tags: + - Status Pages + parameters: + - $ref: '#/components/parameters/id' + - name: group-id + in: path + description: entity ID + required: true + schema: + type: number + summary: Remove group from a status page + responses: + '204': + description: '' + /status-pages/{id}/private-subscribers: + get: + tags: + - Status Pages + parameters: + - $ref: '#/components/parameters/id' + summary: Get the subscribers (users and teams) of a status page + responses: + '200': + description: The subscribers of the status page + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TeamUserOption' + put: + tags: + - Status Pages + parameters: + - $ref: '#/components/parameters/id' + requestBody: + $ref: '#/components/requestBodies/TeamUserOptionArray' + summary: Set subscribers (users and teams) of a status page + description: 'Note: this is an in place update' + responses: + '204': + description: '' + post: + tags: + - Status Pages + parameters: + - $ref: '#/components/parameters/id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TeamUserOption' + description: subscriber that should be added + required: true + summary: Add subscriber (user and team) to a status page + responses: + '204': + description: '' + delete: + tags: + - Status Pages + parameters: + - $ref: '#/components/parameters/id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TeamUserOption' + description: subscriber that should be removed + required: true + summary: Remove subscriber (user and team) from a status page + responses: + '204': + description: '' + /service-outages: + get: + tags: + - Service Outages + parameters: + - in: query + name: service + description: the id of the service for which the outages should be fetched + schema: + type: number + - in: query + name: from + description: from date, ISO-UTC e.g. 2021-05-25T21:24:56.771Z + schema: + type: string + format: date-time + - in: query + name: until + description: until date, ISO-UTC e.g. 2021-05-26T21:24:56.771Z + schema: + type: string + format: date-time + - in: query + name: ignore-overrides + description: >- + if the outages should not take overrides into account, default is + false + schema: + type: boolean + summary: Get the outages (including applied overrides) of a specific service + responses: + '200': + description: The outages of the service + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ServiceOutage' + /service-outages/overrides: + get: + tags: + - Service Outages + parameters: + - in: query + name: service + description: the id of the service for which the overrides should be fetched + schema: + type: number + - in: query + name: from + description: from date, ISO-UTC e.g. 2021-05-25T21:24:56.771Z + schema: + type: string + format: date-time + - in: query + name: until + description: until date, ISO-UTC e.g. 2021-05-26T21:24:56.771Z + schema: + type: string + format: date-time + summary: Get the overrides of a specific service + responses: + '200': + description: The overrides of the service + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ServiceOutageOverride' + post: + tags: + - Service Outages + requestBody: + $ref: '#/components/requestBodies/ServiceOutageOverride' + summary: Override a part of a service's outage history + responses: + '201': + description: The added override + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceOutageOverride' + /service-outages/overrides/{id}: + get: + tags: + - Service Outages + parameters: + - $ref: '#/components/parameters/id' + summary: Get the specific service outage override + responses: + '200': + description: The override + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceOutageOverride' + put: + tags: + - Service Outages + parameters: + - $ref: '#/components/parameters/id' + requestBody: + $ref: '#/components/requestBodies/ServiceOutageOverride' + summary: Update an existing service outage override + responses: + '200': + description: The updated override + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceOutageOverride' + delete: + tags: + - Service Outages + parameters: + - $ref: '#/components/parameters/id' + summary: Remove a service outage override + responses: + '204': + description: '' + /metric-data-sources: + get: + tags: + - Metric Data Sources + parameters: + - $ref: '#/components/parameters/start-index' + - in: query + name: max-results + description: >- + the maximum number of results when paging through a list of metric + data sources + required: false + schema: + type: integer + format: int32 + maximum: 100 + default: 10 + summary: Get Metric Data Sources + responses: + '200': + description: The Metric Data Sources + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/MetricDataSourceNoIncludes' + post: + tags: + - Metric Data Sources + requestBody: + $ref: '#/components/requestBodies/MetricDataSourcePost' + summary: Create a new Metric Data Source. + responses: + '200': + description: The newly created Metric Data Source + content: + application/json: + schema: + $ref: '#/components/schemas/MetricDataSource' + /metric-data-sources/{id}: + get: + tags: + - Metric Data Sources + summary: Get a specific Metric Data Source + parameters: + - name: id + in: path + required: true + description: entity ID + schema: + type: number + responses: + '200': + description: The requested Metric Data Source + content: + application/json: + schema: + $ref: '#/components/schemas/MetricDataSource' + put: + tags: + - Metric Data Sources + parameters: + - name: id + in: path + required: true + description: entity ID + schema: + type: number + requestBody: + $ref: '#/components/requestBodies/MetricDataSourcePost' + summary: Update the specific Metric Data Source + responses: + '200': + description: The updated Metric Data Source + content: + application/json: + schema: + $ref: '#/components/schemas/MetricDataSource' + delete: + tags: + - Metric Data Sources + parameters: + - name: id + in: path + required: true + description: entity ID + schema: + type: number + summary: Delete a specific Metric Data Source + responses: + '204': + description: Empty body delete response + /metrics: + get: + tags: + - Metrics + parameters: + - $ref: '#/components/parameters/start-index' + - in: query + name: max-results + description: >- + the maximum number of results when paging through a list of metrics. + (Note: when using ?include maximum is reduced to 25) + required: false + schema: + type: integer + format: int32 + maximum: 100 + default: 10 + - name: include + in: query + description: >- + Describes optional properties that should be included in the + response. You may declare multiple. (dataSource, integrationKey) + required: false + explode: true + schema: + type: array + items: + type: string + enum: + - dataSource + - integrationKey + summary: Get metrics. + responses: + '200': + description: The metrics + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/MetricList' + post: + tags: + - Metrics + requestBody: + $ref: '#/components/requestBodies/MetricPost' + summary: Create a new metric. + responses: + '200': + description: The newly created metric + content: + application/json: + schema: + $ref: '#/components/schemas/Metric' + /metric/{id}: + get: + tags: + - Metrics + summary: Get a specific Metric + parameters: + - name: id + in: path + required: true + description: entity ID + schema: + type: number + responses: + '200': + description: The requested metric + content: + application/json: + schema: + $ref: '#/components/schemas/Metric' + put: + tags: + - Metrics + summary: Update the specific Metric + parameters: + - name: id + in: path + required: true + description: entity ID + schema: + type: number + requestBody: + $ref: '#/components/requestBodies/MetricPost' + responses: + '200': + description: The updated metric + content: + application/json: + schema: + $ref: '#/components/schemas/Metric' + delete: + tags: + - Metrics + summary: Delete the specific Metric + parameters: + - name: id + in: path + required: true + description: entity ID + schema: + type: number + responses: + '204': + description: Empty body delete response +servers: + - url: /api +components: + parameters: + id: + name: id + in: path + description: entity ID + required: true + schema: + type: number + string-id: + name: id + in: path + description: entity ID + required: true + schema: + type: string + user-id-in-path: + name: user-id + in: path + description: numeric user id + required: true + schema: + type: string + include: + name: include + in: query + description: Describes optional properties that should be included in the response. + required: false + schema: + type: string + user-id-in-query: + name: user + in: query + description: numeric user id + schema: + type: string + source-id-or-key: + name: source-id + in: path + description: numeric source id or api key + required: true + schema: + type: string + requester-id: + in: query + name: requester-id + description: id of the user who requested this operation + schema: + type: string + start-index: + in: query + name: start-index + description: >- + an integer specifying the starting point (beginning with 0) when paging + through a list of entities + required: false + schema: + type: integer + format: int32 + default: 0 + max-results: + in: query + name: max-results + description: the maximum number of results when paging through a list of entities. + required: false + schema: + type: integer + format: int32 + maximum: 100 + default: 50 + key: + name: key + in: path + description: api key of resource + required: true + schema: + type: string + requestBodies: + Connector: + content: + application/json: + schema: + $ref: '#/components/schemas/Connector' + description: the connector + required: true + AlertSourceRel: + content: + application/json: + schema: + $ref: '#/components/schemas/AlertSourceRel' + description: the alert source + required: true + ServiceOutageOverride: + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceOutageOverride' + description: override that should be made + required: true + TeamUserOptionArray: + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TeamUserOption' + description: subscribers that should be adjusted + required: true + MaintenanceWindow: + content: + application/json: + schema: + $ref: '#/components/schemas/MaintenanceWindow' + description: the maintenance window + required: true + MetricPost: + content: + application/json: + schema: + $ref: '#/components/schemas/MetricPost' + description: The metric + required: true + Schedule: + content: + application/json: + schema: + $ref: '#/components/schemas/Schedule' + description: >- + The on-call schedule. (scheduleLayers [only available for RECURRING + schedules], shifts [only available for STATIC schedules]) + required: true + SupportHour: + content: + application/json: + schema: + $ref: '#/components/schemas/SupportHour' + description: the support hour + required: true + AlertAction: + content: + application/json: + schema: + $ref: '#/components/schemas/AlertAction' + description: the alert action + required: true + Team: + content: + application/json: + schema: + $ref: '#/components/schemas/Team' + description: the team + required: true + IncidentTemplate: + content: + application/json: + schema: + $ref: '#/components/schemas/IncidentTemplate' + description: the incident template + required: true + ServiceNoIncludes: + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceNoIncludes' + description: the service + required: true + AutomationRule: + content: + application/json: + schema: + $ref: '#/components/schemas/AutomationRule' + description: the automation rule + required: true + IncidentNoIncludes: + content: + application/json: + schema: + $ref: '#/components/schemas/IncidentNoIncludes' + description: the incident + required: true + StatusPageNoIncludes: + content: + application/json: + schema: + $ref: '#/components/schemas/StatusPageNoIncludes' + description: the status page + required: true + MetricDataSourcePost: + content: + application/json: + schema: + $ref: '#/components/schemas/MetricDataSourcePost' + description: The metric data source + required: true + securitySchemes: + apiKey: + type: apiKey + in: header + name: Authorization + description: >- + The Bearer API key of your user more info. + schemas: + ContactStatus: + type: string + enum: + - OK + - LOCKED + - BLACKLISTED + ContactPhoneNumber: + type: object + properties: + id: + type: integer + format: int64 + regionCode: + type: string + target: + type: string + primary: + type: boolean + description: May only be enabled for a single phone number contact at a time + status: + $ref: '#/components/schemas/ContactStatus' + ContactPhoneNumberPost: + type: object + properties: + regionCode: + type: string + target: + type: string + primary: + type: boolean + description: May only be enabled for a single phone number contact at a time + TimeZone: + type: string + enum: + - Europe/Berlin + - America/New_York + - America/Los_Angeles + - Asia/Istanbul + OutboundNumber: + type: object + properties: + countryCode: + type: string + phoneNumber: + type: string + supportsInboundSms: + type: boolean + types: + type: array + items: + type: string + enum: + - SMS + - VOICE + Integration: + type: object + properties: + id: + type: string + name: + type: string + type: + type: string + enum: + - INBOUND + - NATIVE + - OUTBOUND + iconUrl: + type: string + documentationUrl: + type: string + integrationPath: + type: string + Role: + type: string + enum: + - STAKEHOLDER + - GUEST + - RESPONDER + - USER + - ADMIN + TeamRole: + type: string + enum: + - STAKEHOLDER + - RESPONDER + - USER + - ADMIN + UserRel: + type: object + required: + - id + properties: + id: + type: integer + format: int64 + firstName: + type: string + lastName: + type: string + User: + type: object + required: + - firstName + - lastName + - email + properties: + id: + type: integer + format: int64 + firstName: + type: string + lastName: + type: string + email: + type: string + timezone: + $ref: '#/components/schemas/TimeZone' + position: + type: string + department: + type: string + avatarUrl: + type: string + readOnly: true + language: + type: string + enum: + - DE + - EN + role: + $ref: '#/components/schemas/Role' + shiftColor: + type: string + description: Optional hex-color code for the user's shifts in schedules calendars + mutedUntil: + type: string + format: date-time + description: Date in ISO-8601 + createdAt: + type: string + format: date-time + description: Date in ISO-8601 + updatedAt: + type: string + format: date-time + description: Date in ISO-8601 + UserPost: + type: object + required: + - firstName + - lastName + - email + properties: + firstName: + type: string + lastName: + type: string + email: + type: string + timezone: + $ref: '#/components/schemas/TimeZone' + position: + type: string + department: + type: string + avatarUrl: + type: string + readOnly: true + language: + type: string + enum: + - DE + - EN + role: + $ref: '#/components/schemas/Role' + shiftColor: + type: string + description: Optional hex-color code for the user's shifts in schedules calendars + ContactEmail: + type: object + properties: + id: + type: integer + format: int64 + target: + type: string + status: + $ref: '#/components/schemas/ContactStatus' + ContactEmailPost: + type: object + properties: + target: + type: string + NotificationPreferenceAlertMethod: + type: string + enum: + - EMAIL + - SMS + - PUSH + - VOICE + - WHATSAPP + - TELEGRAM + NotificationPreferenceAlertType: + type: string + enum: + - LOW_PRIORITY + - HIGH_PRIORITY + NotificationPreferencesAlertDelayMin: + type: integer + minimum: '0' + maximum: '120' + NotificationPreferencesAlert: + type: object + properties: + id: + type: integer + format: int64 + method: + $ref: '#/components/schemas/NotificationPreferenceAlertMethod' + contact: + oneOf: + - $ref: '#/components/schemas/ContactPhoneNumber' + - $ref: '#/components/schemas/ContactEmail' + delayMin: + $ref: '#/components/schemas/NotificationPreferencesAlertDelayMin' + type: + $ref: '#/components/schemas/NotificationPreferenceAlertType' + NotificationPreferencesAlertPost: + type: object + properties: + method: + $ref: '#/components/schemas/NotificationPreferenceAlertMethod' + contact: + oneOf: + - $ref: '#/components/schemas/ContactPhoneNumber' + - $ref: '#/components/schemas/ContactEmail' + delayMin: + $ref: '#/components/schemas/NotificationPreferencesAlertDelayMin' + type: + $ref: '#/components/schemas/NotificationPreferenceAlertType' + NotificationPreferencesDutyTypes: + type: string + enum: + - ON_CALL + NotificationPreferencesDutyBeforeMin: + type: integer + enum: + - 0 + - 15 + - 30 + - 60 + - 180 + - 360 + - 720 + - 1440 + NotificationPreferenceDutyMethod: + type: string + enum: + - EMAIL + - SMS + - PUSH + - WHATSAPP + - TELEGRAM + NotificationPreferencesDuty: + type: object + properties: + id: + type: integer + format: int64 + beforeMin: + $ref: '#/components/schemas/NotificationPreferencesDutyBeforeMin' + contact: + oneOf: + - $ref: '#/components/schemas/ContactPhoneNumber' + - $ref: '#/components/schemas/ContactEmail' + method: + $ref: '#/components/schemas/NotificationPreferenceDutyMethod' + type: + $ref: '#/components/schemas/NotificationPreferencesDutyTypes' + NotificationPreferencesDutyPost: + type: object + properties: + beforeMin: + $ref: '#/components/schemas/NotificationPreferencesDutyBeforeMin' + contact: + oneOf: + - $ref: '#/components/schemas/ContactPhoneNumber' + - $ref: '#/components/schemas/ContactEmail' + method: + $ref: '#/components/schemas/NotificationPreferenceDutyMethod' + type: + $ref: '#/components/schemas/NotificationPreferencesDutyTypes' + NotificationPreferenceUpdateMethod: + type: string + enum: + - EMAIL + - SMS + - PUSH + - WHATSAPP + - TELEGRAM + NotificationPreferencesUpdateType: + type: string + enum: + - ALERT_ACCEPTED + - ALERT_RESOLVED + - ALERT_ESCALATED + NotificationPreferencesUpdate: + type: object + properties: + id: + type: integer + format: int64 + contact: + oneOf: + - $ref: '#/components/schemas/ContactPhoneNumber' + - $ref: '#/components/schemas/ContactEmail' + method: + $ref: '#/components/schemas/NotificationPreferenceUpdateMethod' + type: + $ref: '#/components/schemas/NotificationPreferencesUpdateType' + NotificationPreferencesUpdatePost: + type: object + properties: + contact: + oneOf: + - $ref: '#/components/schemas/ContactPhoneNumber' + - $ref: '#/components/schemas/ContactEmail' + method: + $ref: '#/components/schemas/NotificationPreferenceUpdateMethod' + type: + $ref: '#/components/schemas/NotificationPreferencesUpdateType' + NotificationPreferenceSubscriptionMethod: + type: string + enum: + - EMAIL + - SMS + - PUSH + NotificationPreferencesSubscription: + type: object + properties: + id: + type: integer + format: int64 + contact: + oneOf: + - $ref: '#/components/schemas/ContactPhoneNumber' + - $ref: '#/components/schemas/ContactEmail' + method: + $ref: '#/components/schemas/NotificationPreferenceSubscriptionMethod' + NotificationPreferencesSubscriptionPost: + type: object + properties: + contact: + oneOf: + - $ref: '#/components/schemas/ContactPhoneNumber' + - $ref: '#/components/schemas/ContactEmail' + method: + $ref: '#/components/schemas/NotificationPreferenceSubscriptionMethod' + EscalationRule: + type: object + required: + - escalationTimeout + properties: + escalationTimeout: + type: integer + user: + description: 'This field (type: User) is deprecated, please use ''users'' instead' + type: object + properties: + id: + type: number + schedule: + description: >- + This field (type: Schedule) is deprecated, please use 'schedules' + instead + type: object + properties: + id: + type: number + users: + type: array + items: + $ref: '#/components/schemas/UserRel' + schedules: + type: array + items: + $ref: '#/components/schemas/ScheduleRel' + EscalationPolicy: + type: object + required: + - name + - escalationRules + properties: + id: + type: integer + format: int64 + name: + type: string + escalationRules: + type: array + items: + $ref: '#/components/schemas/EscalationRule' + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + repeating: + type: boolean + default: false + frequency: + type: integer + format: int32 + minimum: 1 + maximum: 9 + default: 1 + delayMin: + type: integer + format: int32 + minimum: 0 + maximum: 15 + default: 0 + routingKey: + type: string + description: optional + AlertPriority: + type: string + enum: + - HIGH + - LOW + AlertPriorityRule: + type: string + enum: + - HIGH + - LOW + - HIGH_DURING_SUPPORT_HOURS + - LOW_DURING_SUPPORT_HOURS + SupportHour: + type: object + required: + - name + - timezone + - supportDays + properties: + id: + type: integer + format: int64 + name: + type: string + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + timezone: + $ref: '#/components/schemas/TimeZone' + supportDays: + type: object + properties: + MONDAY: + $ref: '#/components/schemas/SupportDay' + TUESDAY: + $ref: '#/components/schemas/SupportDay' + WEDNESDAY: + $ref: '#/components/schemas/SupportDay' + THURSDAY: + $ref: '#/components/schemas/SupportDay' + FRIDAY: + $ref: '#/components/schemas/SupportDay' + SATURDAY: + $ref: '#/components/schemas/SupportDay' + SUNDAY: + $ref: '#/components/schemas/SupportDay' + SupportDay: + type: object + required: + - start + - end + properties: + start: + type: string + format: time + end: + type: string + format: time + IntegrationType: + type: string + enum: + - NAGIOS + - ICINGA + - EMAIL + - SMS + - API + - CRN + - HEARTBEAT + - PRTG + - PINGDOM + - CLOUDWATCH + - AWSPHD + - STACKDRIVER + - INSTANA + - ZABBIX + - SOLARWINDS + - PROMETHEUS + - NEWRELIC + - GRAFANA + - GITHUB + - DATADOG + - UPTIMEROBOT + - APPDYNAMICS + - DYNATRACE + - TOPDESK + - STATUSCAKE + - MONITOR + - TOOL + - CHECKMK + - AUTOTASK + - AWSBUDGET + - SEARCHGUARD + - SERVERDENSITY + - ZAPIER + - KENTIXAM + - CONSUL + - ZAMMAD + - SIGNALFX + - SPLUNK + - KUBERNETES + - SEMATEXT + - SENTRY + - SUMOLOGIC + - RAYGUN + - MXTOOLBOX + - ESWATCHER + - AMAZONSNS + - KAPACITOR + - CORTEXXSOAR + - SENSU + - JUMPCLOUD + - SALESFORCE + - GUARDDUTY + - STATUSHUB + - IXON + - APIFORTRESS + - FRESHSERVICE + - APPSIGNAL + - LIGHTSTEP + - IBMCLOUDFUNCTIONS + - CROWDSTRIKE + - HUMIO + - OHDEAR + - MONGODBATLAS + - GITLAB + - HYPERPING + - PAPRISMACLOUD + - SAMSARA + - PANDORAFMS + - MSSCOM + - TWILIO + - CISCOMERAKI + - CHECKLY + - POSTHOG + - GOOGLESCC + - SLACK + - MSTEAMS + - UPTIMEKUMA + - TWILIOERRORS + - PARTICLE + - CLOUDFLARE + - TULIP + - GRAYLOG + - CATCHPOINT + - LOKI + - CORTEX + - MIMIR + AlertActionType: + type: string + enum: + - datadog + - autotask + - jira + - microsoft_teams + - servicenow + - slack + - webhook + - zendesk + - discord + - github + - topdesk + - aws_lambda + - azure_faas + - google_faas + - email + - sysdig + - zapier + - zammad + - mattermost + - zoom_chat + - zoom_meeting + - status_page_io + - webex + - dingtalk + - dingtalk_action + - aws_event_bridge + - auvik + - dynamic + - zabbix + - automation_rule + - telegram + ConnectorType: + type: string + enum: + - datadog + - jira + - microsoft_teams + - servicenow + - slack + - zendesk + - discord + - github + - topdesk + - aws_lambda + - azure_faas + - google_faas + - sysdig + - zammad + - mattermost + - zoom_chat + - zoom_meeting + - status_page_io + - webex + - dingtalk + - auvik + - dynamic + - zabbix + ScheduleRel: + type: object + properties: + id: + type: integer + format: int64 + name: + type: string + type: + type: string + enum: + - STATIC + - RECURRING + Schedule: + type: object + properties: + id: + type: integer + format: int64 + name: + type: string + timezone: + $ref: '#/components/schemas/TimeZone' + type: + type: string + enum: + - STATIC + - RECURRING + scheduleLayers: + type: array + items: + $ref: '#/components/schemas/ScheduleLayerConfig' + shifts: + type: array + items: + $ref: '#/components/schemas/ShiftRel' + showGaps: + type: boolean + defaultShiftDuration: + type: string + format: P7D + currentShift: + $ref: '#/components/schemas/ShiftRel' + nextShift: + $ref: '#/components/schemas/ShiftRel' + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + ShiftRel: + type: object + properties: + user: + $ref: '#/components/schemas/UserRel' + end: + type: string + format: date-time + start: + type: string + format: date-time + Shift: + type: object + properties: + user: + $ref: '#/components/schemas/User' + end: + type: string + format: date-time + start: + type: string + format: date-time + ScheduleLayerConfig: + type: object + required: + - startsOn + - users + - rotation + properties: + name: + type: string + startsOn: + type: string + format: date-time + endsOn: + type: string + format: date-time + users: + type: array + items: + $ref: '#/components/schemas/UserRel' + rotation: + type: string + format: P7D + restrictionType: + type: string + description: >- + Note: 'TIMES_OF_DAY' is just a UI state representation, the API + always uses 'TIMES_OF_WEEK' + enum: + - TIMES_OF_WEEK + restrictions: + type: array + items: + $ref: '#/components/schemas/ScheduleLayerRestriction' + ScheduleLayerRestriction: + type: object + required: + - from + - to + properties: + from: + $ref: '#/components/schemas/TimeOfWeek' + to: + $ref: '#/components/schemas/TimeOfWeek' + TimeOfWeek: + type: object + required: + - dayOfWeek + - time + properties: + dayOfWeek: + type: string + enum: + - MONDAY + - TUESDAY + - WEDNESDAY + - THURSDAY + - FRIDAY + - SATURDAY + - SUNDAY + time: + type: string + format: '15:00' + Connector: + type: object + required: + - type + - name + properties: + id: + type: string + type: + $ref: '#/components/schemas/ConnectorType' + name: + type: string + createdAt: + type: string + format: date-time + updatedAt: + type: string + format: date-time + params: + type: object + oneOf: + - $ref: '#/components/schemas/EParamsDatadog' + - $ref: '#/components/schemas/EParamsJira' + - $ref: '#/components/schemas/EParamsMicrosoftTeams' + - $ref: '#/components/schemas/EParamsServiceNow' + - $ref: '#/components/schemas/EParamsSlack' + - $ref: '#/components/schemas/EParamsZendesk' + - $ref: '#/components/schemas/EParamsDiscord' + - $ref: '#/components/schemas/EParamsGithub' + - $ref: '#/components/schemas/EParamsTopdesk' + - $ref: '#/components/schemas/EParamsAWSLambda' + - $ref: '#/components/schemas/EParamsAzureFunction' + - $ref: '#/components/schemas/EParamsGoogleFunction' + - $ref: '#/components/schemas/EParamsSysdig' + - $ref: '#/components/schemas/EParamsStatusPageIO' + - $ref: '#/components/schemas/EParamsDingTalk' + - $ref: '#/components/schemas/EParamsZabbix' + EParamsZabbix: + type: object + properties: + url: + type: string + apiKey: + type: string + EParamsDingTalk: + type: object + properties: + url: + type: string + secret: + type: string + EParamsDatadog: + type: object + properties: + apiKey: + type: string + EParamsJira: + type: object + properties: + url: + type: string + email: + type: string + password: + type: string + EParamsMicrosoftTeams: + type: object + properties: + url: + type: string + EParamsServiceNow: + type: object + properties: + url: + type: string + username: + type: string + password: + type: string + EParamsSlack: + type: object + properties: {} + EParamsZendesk: + type: object + properties: + url: + type: string + email: + type: string + apiKey: + type: string + EParamsDiscord: + type: object + properties: + url: + type: string + EParamsGithub: + type: object + properties: + apiKey: + type: string + EParamsTopdesk: + type: object + properties: + url: + type: string + username: + type: string + password: + type: string + EParamsAWSLambda: + type: object + properties: + authorization: + type: string + EParamsAzureFunction: + type: object + properties: + authorization: + type: string + EParamsGoogleFunction: + type: object + properties: + authorization: + type: string + EParamsSysdig: + type: object + properties: + apiKey: + type: string + EParamsStatusPageIO: + type: object + properties: + apiKey: + type: string + AlertAction: + type: object + required: + - connectorType + - name + properties: + id: + type: string + alertSources: + type: array + items: + $ref: '#/components/schemas/AlertSource' + connectorId: + type: string + connectorType: + $ref: '#/components/schemas/AlertActionType' + name: + type: string + createdAt: + type: string + format: date-time + updatedAt: + type: string + format: date-time + triggerMode: + type: string + enum: + - AUTOMATIC + - MANUAL + bidirectional: + type: boolean + readOnly: true + delaySec: + description: May only be used with triggerType 'alert-escalation-ended' selected + type: number + minimum: 0 + maximum: 7200 + triggerTypes: + type: array + items: + type: string + enum: + - alert-created + - alert-assigned + - alert-auto-escalated + - alert-acknowledged + - alert-raised + - alert-comment-added + - alert-escalation-ended + - alert-resolved + - alert-responder-added + - alert-responder-removed + - alert-channel-attached + - alert-channel-detached + alertFilter: + type: object + properties: + operator: + type: string + enum: + - AND + - OR + predicates: + type: array + items: + type: object + properties: + field: + type: string + enum: + - ALERT_SUMMARY + - ALERT_DETAILS + - ESCALATION_POLICY + - ALERT_PRIORITY + criteria: + type: string + enum: + - CONTAINS_ANY_WORDS + - CONTAINS_NOT_WORDS + - CONTAINS_STRING + - CONTAINS_NOT_STRING + - IS_STRING + - IS_NOT_STRING + - MATCHES_REGEX + - MATCHES_NOT_REGEX + value: + type: string + params: + type: object + oneOf: + - $ref: '#/components/schemas/CParamsDatadog' + - $ref: '#/components/schemas/CParamsJira' + - $ref: '#/components/schemas/CParamsMicrosoftTeams' + - $ref: '#/components/schemas/CParamsMicrosoftTeamsWebhookOnly' + - $ref: '#/components/schemas/CParamsServiceNow' + - $ref: '#/components/schemas/CParamsAutotask' + - $ref: '#/components/schemas/CParamsSlack' + - $ref: '#/components/schemas/CParamsWebhook' + - $ref: '#/components/schemas/CParamsZendesk' + - $ref: '#/components/schemas/CParamsDiscord' + - $ref: '#/components/schemas/CParamsGithub' + - $ref: '#/components/schemas/CParamsTopdesk' + - $ref: '#/components/schemas/CParamsAWSLambda' + - $ref: '#/components/schemas/CParamsAzureFunction' + - $ref: '#/components/schemas/CParamsGoogleFunction' + - $ref: '#/components/schemas/CParamsEmail' + - $ref: '#/components/schemas/CParamsSysdig' + - $ref: '#/components/schemas/CParamsZapier' + - $ref: '#/components/schemas/CParamsZoomChat' + - $ref: '#/components/schemas/CParamsZoomMeeting' + - $ref: '#/components/schemas/CParamsStatusPageIO' + - $ref: '#/components/schemas/CParamsDingTalk' + - $ref: '#/components/schemas/CParamsDingTalkAction' + - $ref: '#/components/schemas/CParamsAutomationRule' + - $ref: '#/components/schemas/CParamsAutomationRule' + - $ref: '#/components/schemas/CParamsTelegram' + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + CParamsAutomationRule: + type: object + required: + - alertType + - serviceStatus + - serviceIds + properties: + alertType: + type: string + enum: + - CREATED + - ACCEPTED + resolveIncident: + type: boolean + default: false + serviceStatus: + $ref: '#/components/schemas/ServiceStatus' + templateId: + type: integer + format: int64 + sendNotification: + type: boolean + default: false + serviceIds: + type: array + items: + type: integer + format: int64 + CParamsTelegram: + type: object + required: + - channelId + properties: + channelId: + type: string + description: The telegram group id, usually i64, as string + CParamsDingTalk: + type: object + properties: + isAtAll: + type: boolean + atMobiles: + type: array + items: + type: string + CParamsDingTalkAction: + type: object + properties: + url: + type: string + secret: + type: string + isAtAll: + type: boolean + atMobiles: + type: array + items: + type: string + CParamsDatadog: + type: object + properties: + tags: + type: array + items: + type: string + priority: + type: string + site: + type: string + CParamsJira: + type: object + properties: + project: + type: string + issueType: + type: string + bodyTemplate: + type: string + CParamsServiceNow: + type: object + properties: + callerId: + type: string + impact: + type: string + urgency: + type: string + closeCode: + type: string + assignmentGroup: + type: string + ownerGroup: + type: string + service: + type: string + serviceOffering: + type: string + contactType: + type: string + CParamsAutotask: + type: object + required: + - queueId + properties: + companyId: + type: string + queueId: + type: string + ticketCategory: + type: string + ticketType: + type: string + noteType: + type: string + notePublish: + type: string + status: + type: string + CParamsMicrosoftTeamsWebhookOnly: + type: object + properties: {} + CParamsMicrosoftTeams: + type: object + required: + - channelId + - teamId + properties: + channelId: + type: string + channelName: + type: string + teamId: + type: string + teamName: + type: string + type: + type: string + enum: + - chat + - meeting + CParamsSlack: + type: object + required: + - channelId + properties: + channelId: + type: string + channelName: + type: string + teamDomain: + type: string + teamId: + type: string + CParamsWebhook: + type: object + properties: + webhookUrl: + type: string + bodyTemplate: + type: string + CParamsZendesk: + type: object + properties: + priority: + type: string + CParamsDiscord: + type: object + properties: {} + CParamsGithub: + type: object + properties: + owner: + type: string + repository: + type: string + labels: + type: array + items: + type: string + CParamsTopdesk: + type: object + properties: + status: + type: string + CParamsAWSLambda: + type: object + properties: + webhookUrl: + type: string + bodyTemplate: + type: string + CParamsAzureFunction: + type: object + properties: + webhookUrl: + type: string + bodyTemplate: + type: string + CParamsGoogleFunction: + type: object + properties: + webhookUrl: + type: string + bodyTemplate: + type: string + CParamsEmail: + type: object + properties: + recipients: + type: array + items: + type: string + subject: + type: string + bodyTemplate: + type: string + CParamsSysdig: + type: object + properties: + tags: + type: array + items: + type: string + eventFilter: + type: string + CParamsZapier: + type: object + properties: + webhookUrl: + type: string + CParamsZoomChat: + type: object + properties: + channelId: + type: string + CParamsZoomMeeting: + type: object + properties: + password: + type: string + CParamsStatusPageIO: + type: object + properties: + pageId: + type: string + MaintenanceWindow: + type: object + properties: + timezone: + $ref: '#/components/schemas/TimeZone' + start: + type: string + format: date-time + end: + type: string + format: date-time + summary: + type: string + description: + type: string + alertSources: + type: array + items: + $ref: '#/components/schemas/AlertSource' + maxItems: 50 + services: + type: array + items: + $ref: '#/components/schemas/ServiceNoIncludes' + maxItems: 50 + createdBy: + type: string + readOnly: true + notifications: + type: object + properties: + atCreation: + type: boolean + atStart: + type: boolean + atEnd: + type: boolean + TeamRel: + type: object + properties: + id: + type: integer + format: int64 + name: + type: string + Team: + type: object + properties: + id: + type: integer + format: int64 + name: + type: string + visibility: + $ref: '#/components/schemas/TeamVisibilityType' + members: + type: array + items: + $ref: '#/components/schemas/TeamMember' + createdAt: + type: string + format: date-time + description: Date in ISO-8601 + updatedAt: + type: string + format: date-time + description: Date in ISO-8601 + TeamVisibilityType: + type: string + enum: + - PUBLIC + - PRIVATE + TeamMember: + type: object + properties: + user: + $ref: '#/components/schemas/User' + role: + $ref: '#/components/schemas/TeamRole' + OnCall: + type: object + properties: + user: + $ref: '#/components/schemas/User' + escalationPolicy: + $ref: '#/components/schemas/EscalationPolicy' + schedule: + $ref: '#/components/schemas/ScheduleRel' + start: + type: string + format: date-time + end: + type: string + format: date-time + escalationLevel: + type: number + AlertSource: + type: object + required: + - name + - escalationPolicy + - integrationType + properties: + id: + type: integer + format: int64 + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + name: + type: string + iconUrl: + type: string + lightIconUrl: + type: string + darkIconUrl: + type: string + escalationPolicy: + $ref: '#/components/schemas/EscalationPolicy' + integrationType: + $ref: '#/components/schemas/IntegrationType' + integrationKey: + type: string + integrationUrl: + type: string + readOnly: true + autoResolutionTimeout: + type: string + format: ISO-8601 + alertGroupingWindow: + type: string + format: ISO-8601 + alertCreation: + type: string + default: ONE_ALERT_PER_EMAIL + enum: + - ONE_ALERT_PER_EMAIL + - ONE_ALERT_PER_EMAIL_SUBJECT + - ONE_PENDING_ALERT_ALLOWED + - ONE_OPEN_ALERT_ALLOWED + - OPEN_RESOLVE_ON_EXTRACTION + - ONE_ALERT_GROUPED_PER_WINDOW + status: + type: string + readOnly: true + enum: + - PENDING + - ALL_ACCEPTED + - ALL_RESOLVED + - IN_MAINTENANCE + - DISABLED + emailFiltered: + type: boolean + default: false + emailResolveFiltered: + type: boolean + default: false + active: + type: boolean + default: true + emailPredicates: + type: array + items: + type: object + properties: + field: + type: string + enum: + - EMAIL_FROM + - EMAIL_SUBJECT + - EMAIL_BODY + criteria: + type: string + enum: + - CONTAINS_ANY_WORDS + - CONTAINS_NOT_WORDS + - CONTAINS_STRING + - CONTAINS_NOT_STRING + - IS_STRING + - IS_NOT_STRING + - MATCHES_REGEX + - MATCHES_NOT_REGEX + value: + type: string + emailResolvePredicates: + type: array + items: + type: object + properties: + field: + type: string + enum: + - EMAIL_FROM + - EMAIL_SUBJECT + - EMAIL_BODY + criteria: + type: string + enum: + - CONTAINS_ANY_WORDS + - CONTAINS_NOT_WORDS + - CONTAINS_STRING + - CONTAINS_NOT_STRING + - IS_STRING + - IS_NOT_STRING + - MATCHES_REGEX + - MATCHES_NOT_REGEX + value: + type: string + resolveKeyExtractor: + type: object + properties: + field: + type: string + enum: + - EMAIL_SUBJECT + - EMAIL_BODY + criteria: + type: string + enum: + - ALL_TEXT_BEFORE + - MATCHES_REGEX + - ALL_TEXT_AFTER + value: + type: string + filterOperator: + type: string + enum: + - AND + - OR + resolveFilterOperator: + type: string + enum: + - AND + - OR + alertPriorityRule: + $ref: '#/components/schemas/AlertPriorityRule' + supportHours: + $ref: '#/components/schemas/SupportHour' + heartbeat: + type: object + properties: + summary: + type: string + intervalSec: + type: integer + status: + type: string + readOnly: true + enum: + - OVERDUE + - ON_TIME + - NEVER_RECEIVED + lastPingReceivedAt: + type: string + format: date-time + readOnly: true + bidirectional: + type: boolean + readOnly: true + summaryTemplate: + $ref: '#/components/schemas/AlertSourceTemplate' + detailsTemplate: + $ref: '#/components/schemas/AlertSourceTemplate' + routingTemplate: + $ref: '#/components/schemas/AlertSourceTemplate' + linkTemplates: + type: array + items: + $ref: '#/components/schemas/AlertSourceLinkTemplate' + priorityTemplate: + $ref: '#/components/schemas/AlertSourcePriorityTemplate' + AlertSourceTemplate: + type: object + properties: + textTemplate: + type: string + description: >- + For more information on alert source templating, please visit: + https://docs.ilert.com/alerting/alert-sources#alert-template. + + Example:
`Hi {{ users[0].name }} there!` + + You can use the text template instead of elements by adding the + include `textTemplate` to your request. Any version can be used for + POST or PUT requests. + elements: + type: array + items: + $ref: '#/components/schemas/AlertSourceTemplateElement' + AlertSourceTemplateElement: + type: object + required: + - type, val + properties: + type: + type: string + enum: + - TEXT + - VAR + - RAW + val: + type: string + func: + type: string + args: + type: array + items: + $ref: '#/components/schemas/AlertSourceTemplateElementArg' + AlertSourceTemplateElementArg: + type: object + properties: + S: + type: string + 'N': + type: integer + AlertSourceLinkTemplate: + type: object + required: + - text + - hrefTemplate + properties: + text: + type: string + hrefTemplate: + $ref: '#/components/schemas/AlertSourceTemplate' + AlertSourcePriorityTemplate: + type: object + required: + - valueTemplate + - mappings + properties: + valueTemplate: + $ref: '#/components/schemas/AlertSourceTemplate' + mappings: + type: array + items: + $ref: '#/components/schemas/AlertSourcePriorityTemplateMapping' + AlertSourcePriorityTemplateMapping: + type: object + required: + - value + - priority + properties: + value: + type: string + priority: + type: string + enum: + - LOW + - HIGH + AlertSourceNoIncludes: + type: object + required: + - name + - escalationPolicy + - integrationType + properties: + id: + type: integer + format: int64 + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + name: + type: string + iconUrl: + type: string + lightIconUrl: + type: string + darkIconUrl: + type: string + escalationPolicy: + $ref: '#/components/schemas/EscalationPolicy' + integrationType: + $ref: '#/components/schemas/IntegrationType' + integrationKey: + type: string + integrationUrl: + type: string + readOnly: true + autoResolutionTimeout: + type: string + format: ISO-8601 + alertGroupingWindow: + type: string + format: ISO-8601 + alertCreation: + type: string + default: ONE_ALERT_PER_EMAIL + enum: + - ONE_ALERT_PER_EMAIL + - ONE_ALERT_PER_EMAIL_SUBJECT + - ONE_PENDING_ALERT_ALLOWED + - ONE_OPEN_ALERT_ALLOWED + - OPEN_RESOLVE_ON_EXTRACTION + - ONE_ALERT_GROUPED_PER_WINDOW + status: + type: string + readOnly: true + enum: + - PENDING + - ALL_ACCEPTED + - ALL_RESOLVED + - IN_MAINTENANCE + - DISABLED + emailFiltered: + type: boolean + default: false + emailResolveFiltered: + type: boolean + default: false + active: + type: boolean + default: true + emailPredicates: + type: array + items: + type: object + properties: + field: + type: string + enum: + - EMAIL_FROM + - EMAIL_SUBJECT + - EMAIL_BODY + criteria: + type: string + enum: + - CONTAINS_ANY_WORDS + - CONTAINS_NOT_WORDS + - CONTAINS_STRING + - CONTAINS_NOT_STRING + - IS_STRING + - IS_NOT_STRING + - MATCHES_REGEX + - MATCHES_NOT_REGEX + value: + type: string + emailResolvePredicates: + type: array + items: + type: object + properties: + field: + type: string + enum: + - EMAIL_FROM + - EMAIL_SUBJECT + - EMAIL_BODY + criteria: + type: string + enum: + - CONTAINS_ANY_WORDS + - CONTAINS_NOT_WORDS + - CONTAINS_STRING + - CONTAINS_NOT_STRING + - IS_STRING + - IS_NOT_STRING + - MATCHES_REGEX + - MATCHES_NOT_REGEX + value: + type: string + resolveKeyExtractor: + type: object + properties: + field: + type: string + enum: + - EMAIL_SUBJECT + - EMAIL_BODY + criteria: + type: string + enum: + - ALL_TEXT_BEFORE + - MATCHES_REGEX + - ALL_TEXT_AFTER + value: + type: string + filterOperator: + type: string + enum: + - AND + - OR + resolveFilterOperator: + type: string + enum: + - AND + - OR + alertPriorityRule: + $ref: '#/components/schemas/AlertPriorityRule' + supportHours: + $ref: '#/components/schemas/SupportHour' + heartbeat: + type: object + properties: + summary: + type: string + intervalSec: + type: integer + status: + type: string + readOnly: true + enum: + - OVERDUE + - ON_TIME + - NEVER_RECEIVED + lastPingReceivedAt: + type: string + format: date-time + readOnly: true + bidirectional: + type: boolean + readOnly: true + AlertSourceRel: + type: object + required: + - name + - escalationPolicy + - integrationType + properties: + id: + type: integer + format: int64 + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + name: + type: string + iconUrl: + type: string + lightIconUrl: + type: string + darkIconUrl: + type: string + escalationPolicy: + $ref: '#/components/schemas/EscalationPolicy' + integrationType: + $ref: '#/components/schemas/IntegrationType' + integrationKey: + type: string + integrationUrl: + type: string + readOnly: true + autoResolutionTimeout: + type: string + format: ISO-8601 + alertGroupingWindow: + type: string + format: ISO-8601 + alertCreation: + type: string + default: ONE_ALERT_PER_EMAIL + enum: + - ONE_ALERT_PER_EMAIL + - ONE_ALERT_PER_EMAIL_SUBJECT + - ONE_PENDING_ALERT_ALLOWED + - ONE_OPEN_ALERT_ALLOWED + - OPEN_RESOLVE_ON_EXTRACTION + - ONE_ALERT_GROUPED_PER_WINDOW + status: + type: string + readOnly: true + enum: + - PENDING + - ALL_ACCEPTED + - ALL_RESOLVED + - IN_MAINTENANCE + - DISABLED + emailFiltered: + type: boolean + default: false + emailResolveFiltered: + type: boolean + default: false + active: + type: boolean + default: true + emailPredicates: + type: array + items: + type: object + properties: + field: + type: string + enum: + - EMAIL_FROM + - EMAIL_SUBJECT + - EMAIL_BODY + criteria: + type: string + enum: + - CONTAINS_ANY_WORDS + - CONTAINS_NOT_WORDS + - CONTAINS_STRING + - CONTAINS_NOT_STRING + - IS_STRING + - IS_NOT_STRING + - MATCHES_REGEX + - MATCHES_NOT_REGEX + value: + type: string + emailResolvePredicates: + type: array + items: + type: object + properties: + field: + type: string + enum: + - EMAIL_FROM + - EMAIL_SUBJECT + - EMAIL_BODY + criteria: + type: string + enum: + - CONTAINS_ANY_WORDS + - CONTAINS_NOT_WORDS + - CONTAINS_STRING + - CONTAINS_NOT_STRING + - IS_STRING + - IS_NOT_STRING + - MATCHES_REGEX + - MATCHES_NOT_REGEX + value: + type: string + resolveKeyExtractor: + type: object + properties: + field: + type: string + enum: + - EMAIL_SUBJECT + - EMAIL_BODY + criteria: + type: string + enum: + - ALL_TEXT_BEFORE + - MATCHES_REGEX + - ALL_TEXT_AFTER + value: + type: string + filterOperator: + type: string + enum: + - AND + - OR + resolveFilterOperator: + type: string + enum: + - AND + - OR + alertPriorityRule: + $ref: '#/components/schemas/AlertPriorityRule' + supportHours: + $ref: '#/components/schemas/SimpleIdField64' + heartbeat: + type: object + properties: + summary: + type: string + intervalSec: + type: integer + status: + type: string + readOnly: true + enum: + - OVERDUE + - ON_TIME + - NEVER_RECEIVED + lastPingReceivedAt: + type: string + format: date-time + readOnly: true + bidirectional: + type: boolean + readOnly: true + summaryTemplate: + $ref: '#/components/schemas/AlertSourceTemplate' + detailsTemplate: + $ref: '#/components/schemas/AlertSourceTemplate' + routingTemplate: + $ref: '#/components/schemas/AlertSourceTemplate' + linkTemplates: + type: array + items: + $ref: '#/components/schemas/AlertSourceLinkTemplate' + priorityTemplate: + $ref: '#/components/schemas/AlertSourcePriorityTemplate' + SimpleIdField64: + type: object + description: >- + For POST and PUT requests only the id field is required for sub + entities, e.g. status page -> service, alert source -> support hour + required: + - id + properties: + id: + type: integer + format: int64 + SimpleIdFieldStr: + type: object + required: + - id + properties: + id: + type: string + ManualAlert: + type: object + required: + - summary + - alertSource + properties: + summary: + type: string + details: + type: string + alertSource: + $ref: '#/components/schemas/SimpleIdField64' + escalationPolicy: + $ref: '#/components/schemas/SimpleIdField64' + priority: + $ref: '#/components/schemas/AlertPriority' + assignedTo: + description: >- + This field (type: User) is deprecated, please use 'responders' + instead + type: object + properties: + id: + type: number + images: + type: array + items: + $ref: '#/components/schemas/EventImage' + links: + type: array + items: + $ref: '#/components/schemas/EventLink' + responders: + description: List of responders (users), only user.id is required. + type: array + items: + type: object + properties: + user: + $ref: '#/components/schemas/UserRel' + AlertResponder: + type: object + properties: + user: + $ref: '#/components/schemas/UserRel' + status: + type: string + enum: + - PENDING + - ACCEPTED + acceptedAt: + type: string + format: date-time + Alert: + type: object + properties: + id: + type: integer + format: int64 + summary: + type: string + details: + type: string + reportTime: + type: string + format: date-time + resolvedOn: + type: string + format: date-time + status: + type: string + enum: + - PENDING + - ACCEPTED + - RESOLVED + alertSource: + $ref: '#/components/schemas/AlertSource' + escalationPolicy: + $ref: '#/components/schemas/EscalationPolicy' + priority: + $ref: '#/components/schemas/AlertPriority' + alertKey: + type: string + assignedTo: + description: >- + This field (type: User) is deprecated, please use 'responders' + instead + type: object + properties: + id: + type: number + nextEscalation: + type: string + format: date-time + readOnly: true + escalationRules: + type: array + items: + $ref: '#/components/schemas/EscalationRule' + readOnly: true + nextEscalationUser: + $ref: '#/components/schemas/User' + nextEscalationRuleIndex: + type: number + readOnly: true + images: + type: array + items: + $ref: '#/components/schemas/EventImage' + links: + type: array + items: + $ref: '#/components/schemas/EventLink' + responders: + readOnly: true + type: array + items: + $ref: '#/components/schemas/AlertResponder' + EventImage: + type: object + properties: + src: + type: string + href: + type: string + alt: + type: string + EventLink: + type: object + properties: + href: + type: string + text: + type: string + EventComment: + type: object + properties: + creator: + type: string + content: + type: string + SuggestedResponder: + type: object + properties: + group: + type: string + enum: + - SUGGESTED + - USER + - ESCALATION_POLICY + - ON_CALL_SCHEDULE + id: + type: number + name: + type: string + disabled: + type: boolean + Notification: + type: object + properties: + id: + type: integer + format: int64 + method: + type: string + enum: + - PUSH + - VOICE + - SMS + - EMAIL + - WHATSAPP + target: + type: string + subject: + type: string + alertId: + type: integer + format: int64 + user: + type: object + properties: + id: + type: integer + format: int64 + firstname: + type: string + lastname: + type: string + notificationTime: + type: string + format: date-time + status: + type: string + enum: + - SCHEDULED + - SUCCESS + - ERROR + errorMessage: + type: string + description: An error message in case the notification status is ERROR. + LogEntry: + type: object + properties: + id: + type: integer + format: int64 + timestamp: + type: string + format: date-time + logEntryType: + type: string + enum: + - ConnectorAutomaticResultErrorLogEntry + - ConnectorAutomaticResultLogEntry + - AlertActionErrorLogEntry + - AlertActionFailLogEntry + - AlertActionSuccessLogEntry + - AlertNotRoutedLogEntry + - AlertReceivedLogEntry + - AlertRoutedSuccessfulLogEntry + - AlertSourceResponseLogEntry + - CallLogEntry + - EmailReceivedLogEntry + - EmailResolvedLogEntry + - FilterableLogEntryType + - HeartbeatOverdueLogEntry + - HeartbeatResolvedLogEntry + - AlertAssignedBySystemLogEntry + - AlertAssignedByUserLogEntry + - AlertAssignedToPolicyLogEntry + - AlertAssignedToScheduleLogEntry + - AlertAutoResolvedLogEntry + - AlertCommentAddedBySystemLogEntry + - AlertCommentAddedLogEntry + - AlertCommentPublishedLogEntry + - AlertCreatedByUserLogEntry + - AlertRaisedBySystemLogEntry + - AlertRaisedByUserLogEntry + - AlertSummaryChangedLogEntry + - IncomingCallLogEntry + - LowPriorityCallLog + - MailboxCallLogEntry + - MailboxRecordReceivedLog + - MailboxTranscribedReceivedLog + - NobodyOnCallLogEntry + - NotificationLogEntry + - ParallelCallLogEntry + - PhoneNumberNotSetLogEntry + - PhoneNumberBlockedLogEntry + - QueueResultLogEntry + - StakeholderAddedBySystemLogEntry + - StakeholderAddedLogEntry + - StakeholderRemovedLogEntry + - StakeholderResubscribedLogEntry + - StakeholderUnsubscribedLogEntry + - UserResponseLogEntry + - InComIncidentCreatedLogEntry + - InComIncidentResolvedLogEntry + - InComServiceTransitionLogEntry + - InComLinkedLogEntry + - InComUnlinkedLogEntry + - AlertChannelAttachedByUserLogEntry + - AlertChannelDetachedByUserLogEntry + - AlertEscalatedToLevelLogEntry + text: + type: string + alertId: + type: integer + format: int64 + filterTypes: + type: array + items: + $ref: '#/components/schemas/LogFilterType' + vars: + type: object + properties: {} + additionalProperties: + type: string + LogFilterType: + type: string + enum: + - NOTIFICATIONS + - ALERT_SOURCE_EVENTS + - CALL_ROUTING_EVENTS + - ALERT_UPDATES + - CONNECTOR_EVENTS + SingleTimePoint: + type: object + required: + - value + properties: + timestamp: + type: number + format: int64 + description: The unix epoch second of your time point + value: + type: number + format: double + description: Value of your time point + MultipleTimePoint: + type: object + required: + - value + properties: + series: + type: array + items: + $ref: '#/components/schemas/SingleTimePoint' + SeriesOption: + type: object + description: >- + Can either be a single time point, omitting timestamp field is allowed + as it will be replaced with now() - or a series of multiple time points + oneOf: + - $ref: '#/components/schemas/SingleTimePoint' + - $ref: '#/components/schemas/MultipleTimePoint' + MetricAggregationType: + type: string + enum: + - AVG + - SUM + - MIN + - MAX + - LAST + MetricDisplayType: + type: string + enum: + - GRAPH + - SINGLE + MetricDataSourceType: + type: string + enum: + - DATADOG + - PROMETHEUS + Event: + type: object + required: + - apiKey + - eventType + - summary + properties: + apiKey: + type: string + eventType: + type: string + description: the event type + enum: + - ALERT + - ACCEPT + - RESOLVE + - COMMENT + summary: + type: string + description: >- + The event summary. Will be used as the alert summary if a new alert + will be created. + details: + type: string + description: >- + The event details. Will be used as the alert details if a new alert + will be created. + alertKey: + type: string + description: >- + Used to deduplicate events. If an open alert with the key already + exists, the event will be appended to the alert's event log. + Otherwise a new alert will be created + priority: + $ref: '#/components/schemas/AlertPriority' + images: + type: array + items: + $ref: '#/components/schemas/EventImage' + links: + type: array + items: + $ref: '#/components/schemas/EventLink' + comments: + type: array + items: + $ref: '#/components/schemas/EventComment' + customDetails: + type: object + properties: {} + additionalProperties: true + routingKey: + type: string + description: >- + Optional routing key that overwrites the escalation policy of the + alert source for ALERT events. Must map to routingKey of escalation + policy + EventResponse: + type: object + properties: {} + CountResponse: + type: object + properties: + count: + type: integer + format: int64 + RestError: + type: object + properties: + status: + type: integer + message: + type: string + AlertActionTrigger: + type: object + properties: + alertActionId: + type: string + connectorId: + type: string + type: + type: string + name: + type: string + iconUrl: + type: string + history: + type: array + items: + $ref: '#/components/schemas/AlertActionResult' + AlertActionResult: + type: object + properties: + id: + type: string + alertActionId: + type: string + connectorId: + type: string + alertId: + type: number + success: + type: boolean + actor: + $ref: '#/components/schemas/User' + IncidentStatus: + type: string + description: the incident status + enum: + - INVESTIGATING + - IDENTIFIED + - MONITORING + - RESOLVED + IncidentTemplate: + type: object + properties: + id: + type: number + name: + type: string + summary: + type: string + status: + $ref: '#/components/schemas/IncidentStatus' + message: + type: string + sendNotification: + type: boolean + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + ServiceStatus: + type: string + description: the service status + enum: + - OPERATIONAL + - UNDER_MAINTENANCE + - DEGRADED + - PARTIAL_OUTAGE + - MAJOR_OUTAGE + ServiceOutage: + type: object + properties: + status: + $ref: '#/components/schemas/ServiceStatus' + from: + type: string + format: date-time + until: + type: string + format: date-time + ServiceOutageOverride: + type: object + properties: + id: + type: string + service: + $ref: '#/components/schemas/ServiceNoIncludes' + status: + $ref: '#/components/schemas/ServiceStatus' + from: + type: string + format: date-time + until: + type: string + format: date-time + ServiceUptimePercentage: + type: object + properties: + uptimePercentage: + type: object + properties: + p90: + type: number + format: float + minimum: 0 + maximum: 100 + readOnly: true + p60: + type: number + format: float + minimum: 0 + maximum: 100 + readOnly: true + p30: + type: number + format: float + minimum: 0 + maximum: 100 + readOnly: true + ServiceUptime: + type: object + properties: + rangeStart: + type: string + format: date-time + rangeEnd: + type: string + format: date-time + outages: + type: array + items: + $ref: '#/components/schemas/ServiceOutage' + uptimePercentage: + $ref: '#/components/schemas/ServiceUptimePercentage' + readOnly: true + Service: + type: object + properties: + id: + type: number + name: + type: string + status: + $ref: '#/components/schemas/ServiceStatus' + description: + type: string + oneOpenIncidentOnly: + type: boolean + showUptimeHistory: + type: boolean + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + subscribed: + type: boolean + readOnly: true + uptime: + $ref: '#/components/schemas/ServiceUptime' + incidents: + type: array + items: + $ref: '#/components/schemas/IncidentNoIncludes' + readOnly: true + description: >- + Note that this only contains the latest 10 unresolved incidents, use + /api/incidents?service=x if more or specific results are needed + ServiceUptimeOnly: + type: object + properties: + id: + type: number + name: + type: string + status: + $ref: '#/components/schemas/ServiceStatus' + description: + type: string + oneOpenIncidentOnly: + type: boolean + showUptimeHistory: + type: boolean + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + uptime: + $ref: '#/components/schemas/ServiceUptime' + ServiceNoIncludes: + type: object + properties: + id: + type: number + name: + type: string + status: + $ref: '#/components/schemas/ServiceStatus' + description: + type: string + oneOpenIncidentOnly: + type: boolean + showUptimeHistory: + type: boolean + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + Incident: + type: object + properties: + id: + type: number + summary: + type: string + status: + $ref: '#/components/schemas/IncidentStatus' + message: + type: string + sendNotification: + type: boolean + createdAt: + type: string + format: date-time + updatedAt: + type: string + format: date-time + affectedServices: + type: array + items: + type: object + properties: + impact: + $ref: '#/components/schemas/ServiceStatus' + service: + $ref: '#/components/schemas/ServiceNoIncludes' + resolvedOn: + type: string + format: date-time + readOnly: true + subscribed: + type: boolean + readOnly: true + affectedTeams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + readOnly: true + IncidentUpdate: + type: object + properties: + id: + type: string + content: + type: string + creator: + $ref: '#/components/schemas/UserRel' + incidentStatus: + $ref: '#/components/schemas/IncidentStatus' + sendNotification: + type: boolean + createdAt: + type: string + format: date-time + IncidentWithHistory: + type: object + properties: + id: + type: number + summary: + type: string + status: + $ref: '#/components/schemas/IncidentStatus' + message: + type: string + sendNotification: + type: boolean + createdAt: + type: string + format: date-time + updatedAt: + type: string + format: date-time + history: + type: array + items: + $ref: '#/components/schemas/IncidentUpdate' + affectedServices: + type: array + items: + type: object + properties: + impact: + $ref: '#/components/schemas/ServiceStatus' + service: + $ref: '#/components/schemas/ServiceNoIncludes' + resolvedOn: + type: string + format: date-time + readOnly: true + subscribed: + type: boolean + readOnly: true + affectedTeams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + readOnly: true + IncidentNoIncludes: + type: object + properties: + id: + type: number + summary: + type: string + status: + $ref: '#/components/schemas/IncidentStatus' + message: + type: string + sendNotification: + type: boolean + createdAt: + description: >- + May be overwritten during the creation of the incident, otherwise + read-only + type: string + format: date-time + updatedAt: + description: >- + May be overwritten during the creation of the incident, otherwise + read-only + type: string + format: date-time + affectedServices: + type: array + items: + type: object + properties: + impact: + $ref: '#/components/schemas/ServiceStatus' + service: + $ref: '#/components/schemas/ServiceNoIncludes' + resolvedOn: + type: string + format: date-time + readOnly: true + AutomationRule: + type: object + properties: + id: + type: string + alertType: + type: string + enum: + - CREATED + - ACCEPTED + resolveIncident: + type: boolean + resolveService: + type: boolean + serviceStatus: + $ref: '#/components/schemas/ServiceStatus' + template: + $ref: '#/components/schemas/IncidentTemplate' + service: + $ref: '#/components/schemas/ServiceNoIncludes' + alertSource: + $ref: '#/components/schemas/AlertSource' + sendNotification: + type: boolean + UIMenuItem: + type: object + properties: + id: + type: number + label: + type: string + TeamUserOption: + type: object + properties: + id: + type: number + name: + type: string + type: + type: string + enum: + - USER + - TEAM + StatusPageGroup: + type: object + properties: + id: + type: number + name: + type: string + StatusPageNoIncludes: + type: object + properties: + id: + type: number + name: + type: string + domain: + type: string + subdomain: + type: string + timezone: + $ref: '#/components/schemas/TimeZone' + faviconUrl: + type: string + logoUrl: + type: string + visibility: + type: string + enum: + - PRIVATE + - PUBLIC + hiddenFromSearch: + type: boolean + showSubscribeAction: + type: boolean + showIncidentHistoryOption: + type: boolean + pageTitle: + type: string + pageDescription: + type: string + pageLayout: + type: string + enum: + - SINGLE_COLUMN + - RESPONSIVE + logoRedirectUrl: + type: string + activated: + type: boolean + status: + $ref: '#/components/schemas/ServiceStatus' + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + services: + type: array + items: + $ref: '#/components/schemas/ServiceNoIncludes' + metrics: + type: array + items: + $ref: '#/components/schemas/MetricNoIncludes' + ipWhitelist: + type: array + description: >- + ipv4 or ipv6 addresses to give access to. Can only be set on + 'PRIVATE' status pages + items: + type: string + structure: + $ref: '#/components/schemas/StatusPageStructure' + appearance: + type: string + enum: + - LIGHT + - DARK + StatusPageElement: + type: object + required: + - id + - type + properties: + id: + type: integer + format: int64 + description: The id of the service or group that this element references + type: + type: string + enum: + - SERVICE + - GROUP + options: + type: string + enum: + - expand + - no-graph + description: >- + Note: 'expand' can only be set when type is 'SERVICE', 'no-graph' + can only be set when type is 'GROUP' + children: + type: array + items: + $ref: '#/components/schemas/StatusPageElement' + description: >- + Optional children of this element. Note: children may only be added + to elements of type 'GROUP' + StatusPageStructure: + type: object + properties: + elements: + type: array + items: + $ref: '#/components/schemas/StatusPageElement' + description: >- + This field is not available in the list resource. Describes the + structure of a status page. Allows for nesting children. It is not + required unless groups are used. + StatusPage: + type: object + properties: + id: + type: number + name: + type: string + domain: + type: string + subdomain: + type: string + timezone: + $ref: '#/components/schemas/TimeZone' + faviconUrl: + type: string + logoUrl: + type: string + visibility: + type: string + enum: + - PRIVATE + - PUBLIC + hiddenFromSearch: + type: boolean + showSubscribeAction: + type: boolean + showIncidentHistoryOption: + type: boolean + pageTitle: + type: string + pageDescription: + type: string + pageLayout: + type: string + enum: + - SINGLE_COLUMN + - RESPONSIVE + logoRedirectUrl: + type: string + activated: + type: boolean + status: + $ref: '#/components/schemas/ServiceStatus' + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + services: + type: array + items: + $ref: '#/components/schemas/ServiceUptimeOnly' + metrics: + type: array + items: + $ref: '#/components/schemas/MetricNoIncludes' + ipWhitelist: + type: array + description: >- + ipv4 or ipv6 addresses to give access to. Can only be set on + 'PRIVATE' status pages + items: + type: string + structure: + $ref: '#/components/schemas/StatusPageStructure' + subscribed: + type: boolean + readOnly: true + description: This is an include field, it is not available in the list resource + groups: + type: array + items: + $ref: '#/components/schemas/StatusPageGroup' + readOnly: true + description: >- + This is an include field, it is not available in the list resource. + Read-only, use the sub resource to manipulate groups. + appearance: + type: string + enum: + - LIGHT + - DARK + StatusPageList: + type: object + properties: + id: + type: number + name: + type: string + domain: + type: string + subdomain: + type: string + timezone: + $ref: '#/components/schemas/TimeZone' + faviconUrl: + type: string + logoUrl: + type: string + visibility: + type: string + enum: + - PRIVATE + - PUBLIC + hiddenFromSearch: + type: boolean + showSubscribeAction: + type: boolean + showIncidentHistoryOption: + type: boolean + pageTitle: + type: string + pageDescription: + type: string + logoRedirectUrl: + type: string + activated: + type: boolean + status: + $ref: '#/components/schemas/ServiceStatus' + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + services: + type: array + items: + $ref: '#/components/schemas/ServiceUptimeOnly' + metrics: + type: array + items: + $ref: '#/components/schemas/MetricNoIncludes' + ipWhitelist: + type: array + description: >- + ipv4 or ipv6 addresses to give access to. Can only be set on + 'PRIVATE' status pages + items: + type: string + subscribed: + type: boolean + readOnly: true + description: This is an include field, it is not available in the list resource + MParamsDatadog: + type: object + required: + - region + - apiKey + - applicationKey + properties: + region: + type: string + apiKey: + type: string + applicationKey: + type: string + MParamsPrometheus: + type: object + required: + - url + - authType + properties: + url: + type: string + authType: + type: string + enum: + - NONE + - BASIC + - HEADER + basicUser: + type: string + description: Optional, required for 'BASIC' + basicPass: + type: string + description: Optional, required for 'BASIC' + headerKey: + type: string + description: Optional, required for 'HEADER' + headerValue: + type: string + description: Optional, required for 'HEADER' + MetricDataSourceMetadata: + oneOf: + - $ref: '#/components/schemas/MParamsDatadog' + - $ref: '#/components/schemas/MParamsPrometheus' + MetricDataSource: + type: object + properties: + id: + type: number + name: + type: string + type: + $ref: '#/components/schemas/MetricDataSourceType' + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + metadata: + $ref: '#/components/schemas/MetricDataSourceMetadata' + MetricDataSourcePost: + type: object + required: + - name + - type + - metadata + properties: + name: + type: string + type: + $ref: '#/components/schemas/MetricDataSourceType' + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + metadata: + $ref: '#/components/schemas/MetricDataSourceMetadata' + MetricDataSourceNoIncludes: + type: object + properties: + id: + type: number + name: + type: string + type: + $ref: '#/components/schemas/MetricDataSourceType' + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + MDataDogMetadata: + type: object + required: + - query + properties: + query: + type: string + MPrometheusMetadata: + type: object + required: + - query + properties: + query: + type: string + MetricMetadata: + oneOf: + - $ref: '#/components/schemas/MDataDogMetadata' + - $ref: '#/components/schemas/MPrometheusMetadata' + description: >- + Only required if the metric has a dataSource. You may not change this + after creation. + default: null + MetricList: + type: object + properties: + id: + type: number + name: + type: string + description: + type: string + aggregationType: + $ref: '#/components/schemas/MetricAggregationType' + displayType: + $ref: '#/components/schemas/MetricDisplayType' + interpolateGaps: + type: boolean + default: false + lockYAxisMax: + type: number + format: double + default: null + lockYAxisMin: + type: number + format: double + default: null + mouseOverDecimal: + type: number + format: int32 + default: 0 + minimum: 0 + maximum: 6 + showValuesOnMouseOver: + type: boolean + default: false + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + unitLabel: + type: string + integrationKey: + type: string + dataSource: + $ref: '#/components/schemas/MetricDataSourceNoIncludes' + Metric: + type: object + properties: + id: + type: number + name: + type: string + description: + type: string + aggregationType: + $ref: '#/components/schemas/MetricAggregationType' + displayType: + $ref: '#/components/schemas/MetricDisplayType' + interpolateGaps: + type: boolean + default: false + lockYAxisMax: + type: number + format: double + default: null + lockYAxisMin: + type: number + format: double + default: null + mouseOverDecimal: + type: number + format: int32 + default: 0 + minimum: 0 + maximum: 6 + showValuesOnMouseOver: + type: boolean + default: false + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + unitLabel: + type: string + integrationKey: + type: string + metadata: + $ref: '#/components/schemas/MetricMetadata' + dataSource: + $ref: '#/components/schemas/MetricDataSource' + MetricNoIncludes: + type: object + properties: + id: + type: number + name: + type: string + description: + type: string + aggregationType: + $ref: '#/components/schemas/MetricAggregationType' + displayType: + $ref: '#/components/schemas/MetricDisplayType' + interpolateGaps: + type: boolean + default: false + lockYAxisMax: + type: number + format: double + default: null + lockYAxisMin: + type: number + format: double + default: null + mouseOverDecimal: + type: number + format: int32 + default: 0 + minimum: 0 + maximum: 6 + showValuesOnMouseOver: + type: boolean + default: false + unitLabel: + type: string + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + MetricPost: + type: object + required: + - name + - displayType + - aggregationType + properties: + name: + type: string + description: + type: string + aggregationType: + $ref: '#/components/schemas/MetricAggregationType' + displayType: + $ref: '#/components/schemas/MetricDisplayType' + interpolateGaps: + type: boolean + default: 'false' + lockYAxisMax: + type: number + format: double + default: null + lockYAxisMin: + type: number + format: double + default: null + mouseOverDecimal: + type: number + format: int32 + default: 0 + minimum: 0 + maximum: 6 + showValuesOnMouseOver: + type: boolean + default: false + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + unitLabel: + type: string + metadata: + $ref: '#/components/schemas/MetricMetadata' + dataSource: + type: object + properties: + id: + type: number + description: dataSource is required when providing metadata diff --git a/sdks/db/custom-request-specs/inmobile.com.yaml b/sdks/db/custom-request-specs/inmobile.com.yaml new file mode 100644 index 0000000000..9e28fd81c4 --- /dev/null +++ b/sdks/db/custom-request-specs/inmobile.com.yaml @@ -0,0 +1,3459 @@ +x-generator: NSwag v13.20.0.0 (NJsonSchema v10.9.0.0 (Newtonsoft.Json v13.0.0.0)) +openapi: 3.0.0 +info: + title: inMobile REST API + description: "\r\n# Introduction\r\n\r\nThis document is a technical description of our REST API used for external systems to send sms messages and to retrieve a status for each sms message sent and to maintain lists and blacklists.\r\n\r\nIn order to call our API, you need an api key. Log in to your account at https://mm.inmobile.dk, go to the \"API\" menu section and your api key will be available here.\r\n\r\nNOTE: It is required for clients to support tls 1.2 or higher.\r\n\r\n\r\n# Firewall openings\r\n\r\nThis is relevant for status callbacks and incoming SMS messages.\r\n\r\nYou can expect callbacks from one of the following IP ranges:\r\n\r\n* 46.36.205.80/28\r\n* 185.221.37.96/28\r\n\r\nThese are also the ip addresses which will be used for api.inmobile.com and mm.inmobile.dk - ensure access to these 2 ranges are opened in your firewall." + version: version 4 +servers: + - url: https://api.inmobile.com +paths: + /v4/blacklist: + get: + tags: + - Blacklist + summary: Returns all blacklists (Paged result. Follow _links.next to fetch all) + operationId: Blacklist_GetAll + parameters: + - name: pageLimit + in: query + description: How many records to return (must be between 1 and 250) + schema: + type: integer + format: int32 + x-position: 1 + responses: + '200': + description: A list of all blacklists + content: + application/json: + schema: + $ref: '#/components/schemas/ApiPageModelOfBlacklistOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + post: + tags: + - Blacklist + summary: Create an entry in blacklist + operationId: Blacklist_Create + requestBody: + x-name: blacklist + content: + application/json: + schema: + $ref: '#/components/schemas/BlacklistCreateApiModel' + required: true + x-position: 1 + responses: + '200': + description: The created blacklist + content: + application/json: + schema: + $ref: '#/components/schemas/BlacklistOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '409': + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/blacklist/{blackListId}: + get: + tags: + - Blacklist + summary: Get entry by id + operationId: Blacklist_Get + parameters: + - name: blackListId + in: path + required: true + description: Id of the blacklist + schema: + type: string + format: guid + x-position: 1 + responses: + '200': + description: A blacklist + content: + application/json: + schema: + $ref: '#/components/schemas/BlacklistOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + delete: + tags: + - Blacklist + summary: Delete entry by id + operationId: Blacklist_Delete + parameters: + - name: blackListId + in: path + required: true + description: Id of the blacklist + schema: + type: string + format: guid + x-position: 1 + responses: + '204': + description: '' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/blacklist/ByNumber: + get: + tags: + - Blacklist + summary: Get entry by number + operationId: Blacklist_GetByNumber + parameters: + - name: countryCode + in: query + schema: + type: string + x-position: 1 + - name: phoneNumber + in: query + schema: + type: string + x-position: 2 + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/BlacklistOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + delete: + tags: + - Blacklist + summary: Delete entry by number + operationId: Blacklist_DeleteByNumber + parameters: + - name: countryCode + in: query + schema: + type: string + x-position: 1 + - name: phoneNumber + in: query + schema: + type: string + x-position: 2 + responses: + '204': + description: '' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/email/outgoing/sendusingtemplate: + post: + tags: + - Email + summary: Send an email using a template + operationId: EmailOutgoing_SendUsingTemplate + requestBody: + x-name: request + content: + application/json: + schema: + $ref: '#/components/schemas/EmailOutgoingTemplatePostRequest' + required: true + x-position: 1 + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/EmailOutgoingTemplatePostReply' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/email/outgoing: + post: + tags: + - Email + summary: Send an email + operationId: EmailOutgoing_Send + requestBody: + x-name: request + content: + application/json: + schema: + $ref: '#/components/schemas/EmailOutgoingPostRequest' + required: true + x-position: 1 + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/EmailOutgoingBasePostReply' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/email/outgoing/events: + get: + tags: + - Email + summary: Get email events + description: >- + Each event will only be returned once. Once called, the event has been + removed from our side and cannot be retrieved again using this method. + operationId: EmailOutgoing_GetEvents + parameters: + - name: limit + in: query + description: How many events to return (must be between 1 and 250) + schema: + type: integer + format: int32 + x-position: 1 + responses: + '200': + description: A list of email events + content: + application/json: + schema: + $ref: '#/components/schemas/EmailEventListModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/email/templates: + get: + tags: + - Email Templates + summary: Get all email templates + description: >- + This response is a paged result and will contain the property + '_links.next'. + + If there are more pages, the next page in the paged result will be + provided here. + operationId: EmailTemplates_GetAllEmailTemplates + parameters: + - name: pageLimit + in: query + description: How many records to return (must be between 1 and 250) + schema: + type: integer + format: int32 + x-position: 1 + responses: + '200': + description: A list of email templates + content: + application/json: + schema: + $ref: '#/components/schemas/ApiPageModelOfEmailTemplateOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/email/templates/{id}: + get: + tags: + - Email Templates + summary: Get email template by id + operationId: EmailTemplates_GetEmailTemplate + parameters: + - name: id + in: path + required: true + schema: + type: string + x-position: 1 + responses: + '200': + description: An email template + content: + application/json: + schema: + $ref: '#/components/schemas/EmailTemplateOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/sms/gdpr/deletionrequests: + post: + tags: + - Gdpr + summary: Create information Deletion Request + operationId: Gdpr_DeletionRequests + requestBody: + x-name: deletionRequest + content: + application/json: + schema: + $ref: '#/components/schemas/DeletionRequestCreateInfo' + required: true + x-position: 1 + responses: + '200': + description: The created information Deletion Request + content: + application/json: + schema: + $ref: '#/components/schemas/RequestDeletionOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/lists: + get: + tags: + - Lists + summary: Get all lists + description: >- + This response is a paged result and will contain the property + '_links.next'. + + If there are more pages, the next page in the paged result will be + provided here. + operationId: Lists_GetAllLists + parameters: + - name: pageLimit + in: query + description: How many records to return (must be between 1 and 250) + schema: + type: integer + format: int32 + x-position: 1 + responses: + '200': + description: A list of lists + content: + application/json: + schema: + $ref: '#/components/schemas/ApiPageModelOfGroupOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + post: + tags: + - Lists + summary: Create list + operationId: Lists_CreateList + requestBody: + x-name: list + content: + application/json: + schema: + $ref: '#/components/schemas/GroupInputApiModel' + required: true + x-position: 1 + responses: + '200': + description: The created list + content: + application/json: + schema: + $ref: '#/components/schemas/GroupOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/lists/{listId}: + get: + tags: + - Lists + summary: Get list + operationId: Lists_GetList + parameters: + - name: listId + in: path + required: true + description: Id of the list + schema: + type: string + format: guid + x-position: 1 + responses: + '200': + description: A list + content: + application/json: + schema: + $ref: '#/components/schemas/GroupOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + delete: + tags: + - Lists + summary: Delete list + operationId: Lists_DeleteList + parameters: + - name: listId + in: path + required: true + description: Id of the list + schema: + type: string + format: guid + x-position: 1 + responses: + '204': + description: '' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + put: + tags: + - Lists + summary: Update list + operationId: Lists_UpdateList + parameters: + - name: listId + in: path + required: true + description: The id of the list + schema: + type: string + format: guid + x-position: 1 + requestBody: + x-name: list + description: The list object + content: + application/json: + schema: + $ref: '#/components/schemas/GroupInputApiModel' + required: true + x-position: 2 + responses: + '200': + description: The updated list + content: + application/json: + schema: + $ref: '#/components/schemas/GroupOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/lists/{listId}/recipients: + get: + tags: + - Lists + summary: Get all recipients in a list + description: >- + This response is a paged result and will contain the property + '_links.next'. + + If there are more pages, the next page in the paged result will be + provided here. + operationId: Lists_GetAllRecipient + parameters: + - name: listId + in: path + required: true + description: Id of the list + schema: + type: string + format: guid + x-position: 1 + - name: pageLimit + in: query + description: How many records to return (must be between 1 and 250) + schema: + type: integer + format: int32 + x-position: 2 + responses: + '200': + description: A list of recipients + content: + application/json: + schema: + $ref: '#/components/schemas/ApiPageModelOfRecipientOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + post: + tags: + - Lists + summary: Create recipient + operationId: Lists_CreateRecipient + parameters: + - name: listId + in: path + required: true + description: Id of the list + schema: + type: string + format: guid + x-position: 1 + requestBody: + x-name: recipient + content: + application/json: + schema: + $ref: '#/components/schemas/RecipientCreateApiModel' + required: true + x-position: 2 + responses: + '200': + description: The created recipient + content: + application/json: + schema: + $ref: '#/components/schemas/RecipientOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '409': + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/lists/{listId}/recipients/all: + delete: + tags: + - Lists + summary: Deletes all recipients from a list + operationId: Lists_DeleteAllRecipients + parameters: + - name: listId + in: path + required: true + description: Id of the list + schema: + type: string + format: guid + x-position: 1 + responses: + '204': + description: The affected count + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/lists/{listId}/recipients/{recipientId}: + get: + tags: + - Lists + summary: Get recipient by id + operationId: Lists_GetRecipient + parameters: + - name: listId + in: path + required: true + description: Id of the list + schema: + type: string + format: guid + x-position: 1 + - name: recipientId + in: path + required: true + description: Id of the recipient + schema: + type: string + format: guid + x-position: 2 + responses: + '200': + description: A recipient + content: + application/json: + schema: + $ref: '#/components/schemas/RecipientOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + delete: + tags: + - Lists + summary: Delete recipient by id + operationId: Lists_DeleteRecipient + parameters: + - name: listId + in: path + required: true + description: Id of the list + schema: + type: string + format: guid + x-position: 1 + - name: recipientId + in: path + required: true + description: Id of the recipient + schema: + type: string + format: guid + x-position: 2 + responses: + '204': + description: '' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + put: + tags: + - Lists + summary: Update recipient + description: >- + Only mentioned fields are updated, e.g. leave out fields["email"] if you + do not want to update this field. On the other hand, set fields["email"] + = null in case you want to erase the existing value. + operationId: Lists_UpdateRecipient + parameters: + - name: listId + in: path + required: true + description: Id of the list + schema: + type: string + format: guid + x-position: 1 + - name: recipientId + in: path + required: true + schema: + type: string + format: guid + x-position: 2 + requestBody: + x-name: recipient + content: + application/json: + schema: + $ref: '#/components/schemas/RecipientUpdateApiModel' + required: true + x-position: 3 + responses: + '200': + description: The updated recipient + content: + application/json: + schema: + $ref: '#/components/schemas/RecipientOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '409': + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/lists/{listId}/recipients/ByNumber: + get: + tags: + - Lists + summary: Get recipient by number + operationId: Lists_GetRecipientByNumber + parameters: + - name: listId + in: path + required: true + description: Id of the list + schema: + type: string + format: guid + x-position: 1 + - name: countryCode + in: query + description: Target countryCode + schema: + type: string + x-position: 2 + - name: phoneNumber + in: query + description: Target phoneNumber + schema: + type: string + x-position: 3 + responses: + '200': + description: A recipient + content: + application/json: + schema: + $ref: '#/components/schemas/RecipientOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + delete: + tags: + - Lists + summary: Delete recipient by number + operationId: Lists_DeleteRecipientByNumber + parameters: + - name: listId + in: path + required: true + description: Id of the list + schema: + type: string + format: guid + x-position: 1 + - name: countryCode + in: query + description: Target countryCode + schema: + type: string + x-position: 2 + - name: phoneNumber + in: query + description: Target phoneNumber + schema: + type: string + x-position: 3 + responses: + '204': + description: '' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + post: + tags: + - Lists + summary: Create or update recipient by number + operationId: Lists_CreateOrUpdateRecipientByNumber + parameters: + - name: listId + in: path + required: true + description: Id of the list + schema: + type: string + format: guid + x-position: 1 + - name: countryCode + in: query + description: Target countryCode + schema: + type: string + x-position: 2 + - name: phoneNumber + in: query + description: Target phoneNumber + schema: + type: string + x-position: 3 + requestBody: + x-name: recipient + content: + application/json: + schema: + $ref: '#/components/schemas/RecipientCreateOrUpdateApiModel' + required: true + x-position: 4 + responses: + '200': + description: The created or updated recipient + content: + application/json: + schema: + $ref: '#/components/schemas/RecipientOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/sms/incoming/messages: + get: + tags: + - Sms - Incoming + summary: Get incoming sms messages. + description: >- + Each message will only be returned once. Once called, the message has + been marked as read from our side and cannot be retrieved again using + this method. + + Using api callbacks in combination with this call does not conflict. + operationId: SmsIncoming_GetMessages + parameters: + - name: limit + in: query + description: How many records to return (must be between 1 and 250) + schema: + type: integer + format: int32 + x-position: 1 + responses: + '200': + description: A list of messages + content: + application/json: + schema: + $ref: '#/components/schemas/IncomingMessageListModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/sms/outgoing: + post: + tags: + - Sms - Outgoing + summary: Send sms messages. + operationId: SmsOutgoing_Create + requestBody: + x-name: request + content: + application/json: + schema: + $ref: '#/components/schemas/SmsOutgoingPostRequest' + required: true + x-position: 1 + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/SmsOutgoingPostReply' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + callbacks: + status: + https://[your_domain]/your/desired/path: + post: + summary: Status callback url (Webhook) + description: >- + The status callback url to receive status information on when + sms messages are delivered (or if they fail). + + This is a call done by us to you and the url to be called, is + the one specified when sending the messages. + + Only messages with 100% identical message callbacks will be + grouped together into the same call. Messages with different + callback urls will never be grouped together in a single + callback. + requestBody: + x-name: payload + content: + application/json: + schema: + $ref: '#/components/schemas/StatusReportListModel' + required: true + x-position: 1 + responses: + '200': + description: '' + /v4/sms/outgoing/sendusingquery: + get: + tags: + - Sms - Outgoing + summary: Send sms messages using query parameters. + description: >- + It is strongly recommended to use the POST version instead of this + version to send text messages. This endpoint is only a emergency + fallback option for systems that are not capable of doing an HTTP post. + operationId: SmsOutgoing_SendUsingQueryGET + parameters: + - name: Text + in: query + description: >- + The text message. + + If the max length is exceeded, the message text is truncated and + sent. + schema: + type: string + maxLength: 10000 + minLength: 1 + example: This is a message text to be sent + x-position: 1 + - name: From + in: query + description: >- + The sender. This can either be a 3-11 chars text sender or an up to + 14 digit long sender number. + + If the max length is exceeded, the string is truncated. + schema: + type: string + example: PetShop + x-position: 2 + - name: Flash + in: query + description: >- + If true, the message will be shown as a flash message (also known as + a class0 message) on the target phone. If false, it will be received + as a standard text message. + + Default: false + schema: + type: boolean + nullable: true + example: false + x-position: 3 + - name: Encoding + in: query + description: >- + The encoding of the message. Can be either "gsm7", "ucs2" or "auto". + + "gsm7" is the default alfabet for text messages and when using gsm7, + a single sms message can contain 160 characters. If the length + exceeeds 160 characters, the message is actually split up into parts + of 153 characters and charged according to this. Please note, that a + few, specific characters fill up 2 bytes and count for 2 letters. + Ref: https://en.wikipedia.org/wiki/GSM_03.38 + + "ucs2"" allows for more non-roman characters to be used along with + smileys. When using this encoding, a single message can consist of + 70 characters. If the message exceeds 70 characters, the final + message is actually split into parts of 67 characters. + + "auto" can be used in case the sender wishes to support non-roman + characters but wants to save the expenses on all the trafic that + only contains gsm characters anyway. + + Default: "gsm7" + schema: + type: string + example: gsm7 + x-position: 4 + - name: To + in: query + description: >- + The msisdn (country code and number) to send to. (Remember to + include countrycode in all numbers, e.g. 4512345678). + + If max length is exceeded, the entire api call will fail. + schema: + type: string + maxLength: 20 + minLength: 0 + example: '4512345678' + x-position: 5 + - name: CountryHint + in: query + description: >- + For optimal phone number validation, we encourage you to provide us + with a country code. This can be the numeric country code (like 44) + or the two-letter suffix (like GB). If this field is empty it is + important that you add the country code (e.g 44) in front of the + phone number in “to”. + schema: + type: string + maxLength: 50 + minLength: 0 + example: '45' + x-position: 6 + - name: MessageId + in: query + description: >- + An optional message id used to identify the message. + + If no message id is provided, a new message id is generated and + assigned to the message. This id must be unique across all messages + created on the same account. + + (In case a previous message has been deleted according to GDPR + deletion rules setup on the specific account, the messageId is + allowed to be reused) + + If max length is exceeded, the entire api call will fail. + schema: + type: string + maxLength: 50 + minLength: 1 + example: PetShop + x-position: 7 + - name: RespectBlacklist + in: query + description: >- + If true, this message will be blocked from sending if the target + number is on the account's blacklist. If false, the message will be + sent no matter blacklist settings. + + Default: true + schema: + type: boolean + nullable: true + example: true + x-position: 8 + - name: ValidityPeriodInSeconds + in: query + description: >- + The validity period in seconds. Minimum is 60 seconds and maximum is + 172800 (48 hours). + + If not specified, the messages is attempted to be delivered in 48 + hours. A typical use of validityPeriod is for messages that makes no + sense to delivery efter er certain time frame, in the case the phone + is turned of, e.g. two factor codes. + + Please note, that messages are still charged even though the + operator is cancelling the delivery attempt due to an exceeded + validity period. + schema: + type: integer + format: int32 + maximum: 172800 + minimum: 60 + nullable: true + example: 90 + x-position: 9 + - name: StatusCallbackUrl + in: query + description: >- + In case you would like a callback from us when the message is + delivered, you can specify it here and we will call it when we have + new message statuses. + + The callback payload will be an array of status objects. + + Api calls sending messages with the same apikey will be subject to + being bulked together. + schema: + type: string + maxLength: 500 + minLength: 0 + example: https://[your_domain]/your/desired/path + x-position: 10 + - name: SendTime.UtcTime + in: query + schema: + type: string + format: date-time + x-position: 11 + - name: SendTime.LocalServerTime + in: query + schema: + type: string + format: date-time + x-position: 12 + - name: MsisdnCooldownInMinutes + in: query + description: >- + If set, the message will be cancelled if the same mobile number + already have received a SMS within this specified time period. + + Fx. used to prevent spamming a mobile number. + + Minimum 60 minutes (1 hour) and maximum is 43200 minutes (30 days). + schema: + type: integer + format: int32 + maximum: 43200 + minimum: 60 + nullable: true + example: 1440 + x-position: 13 + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/SmsOutgoingPostReply' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + callbacks: + status: + https://[your_domain]/your/desired/path: + post: + summary: Status callback url (Webhook) + description: >- + The status callback url to receive status information on when + sms messages are delivered (or if they fail). + + This is a call done by us to you and the url to be called, is + the one specified when sending the messages. + + Only messages with 100% identical message callbacks will be + grouped together into the same call. Messages with different + callback urls will never be grouped together in a single + callback. + requestBody: + x-name: payload + content: + application/json: + schema: + $ref: '#/components/schemas/StatusReportListModel' + required: true + x-position: 1 + responses: + '200': + description: '' + post: + tags: + - Sms - Outgoing + summary: Send sms messages using query parameters. + description: >- + It is strongly recommended to use the POST version instead of this + version to send text messages. This endpoint is only a emergency + fallback option for systems that are not capable of doing an HTTP post. + operationId: SmsOutgoing_SendUsingQueryPOST + parameters: + - name: Text + in: query + description: >- + The text message. + + If the max length is exceeded, the message text is truncated and + sent. + schema: + type: string + maxLength: 10000 + minLength: 1 + example: This is a message text to be sent + x-position: 1 + - name: From + in: query + description: >- + The sender. This can either be a 3-11 chars text sender or an up to + 14 digit long sender number. + + If the max length is exceeded, the string is truncated. + schema: + type: string + example: PetShop + x-position: 2 + - name: Flash + in: query + description: >- + If true, the message will be shown as a flash message (also known as + a class0 message) on the target phone. If false, it will be received + as a standard text message. + + Default: false + schema: + type: boolean + nullable: true + example: false + x-position: 3 + - name: Encoding + in: query + description: >- + The encoding of the message. Can be either "gsm7", "ucs2" or "auto". + + "gsm7" is the default alfabet for text messages and when using gsm7, + a single sms message can contain 160 characters. If the length + exceeeds 160 characters, the message is actually split up into parts + of 153 characters and charged according to this. Please note, that a + few, specific characters fill up 2 bytes and count for 2 letters. + Ref: https://en.wikipedia.org/wiki/GSM_03.38 + + "ucs2"" allows for more non-roman characters to be used along with + smileys. When using this encoding, a single message can consist of + 70 characters. If the message exceeds 70 characters, the final + message is actually split into parts of 67 characters. + + "auto" can be used in case the sender wishes to support non-roman + characters but wants to save the expenses on all the trafic that + only contains gsm characters anyway. + + Default: "gsm7" + schema: + type: string + example: gsm7 + x-position: 4 + - name: To + in: query + description: >- + The msisdn (country code and number) to send to. (Remember to + include countrycode in all numbers, e.g. 4512345678). + + If max length is exceeded, the entire api call will fail. + schema: + type: string + maxLength: 20 + minLength: 0 + example: '4512345678' + x-position: 5 + - name: CountryHint + in: query + description: >- + For optimal phone number validation, we encourage you to provide us + with a country code. This can be the numeric country code (like 44) + or the two-letter suffix (like GB). If this field is empty it is + important that you add the country code (e.g 44) in front of the + phone number in “to”. + schema: + type: string + maxLength: 50 + minLength: 0 + example: '45' + x-position: 6 + - name: MessageId + in: query + description: >- + An optional message id used to identify the message. + + If no message id is provided, a new message id is generated and + assigned to the message. This id must be unique across all messages + created on the same account. + + (In case a previous message has been deleted according to GDPR + deletion rules setup on the specific account, the messageId is + allowed to be reused) + + If max length is exceeded, the entire api call will fail. + schema: + type: string + maxLength: 50 + minLength: 1 + example: PetShop + x-position: 7 + - name: RespectBlacklist + in: query + description: >- + If true, this message will be blocked from sending if the target + number is on the account's blacklist. If false, the message will be + sent no matter blacklist settings. + + Default: true + schema: + type: boolean + nullable: true + example: true + x-position: 8 + - name: ValidityPeriodInSeconds + in: query + description: >- + The validity period in seconds. Minimum is 60 seconds and maximum is + 172800 (48 hours). + + If not specified, the messages is attempted to be delivered in 48 + hours. A typical use of validityPeriod is for messages that makes no + sense to delivery efter er certain time frame, in the case the phone + is turned of, e.g. two factor codes. + + Please note, that messages are still charged even though the + operator is cancelling the delivery attempt due to an exceeded + validity period. + schema: + type: integer + format: int32 + maximum: 172800 + minimum: 60 + nullable: true + example: 90 + x-position: 9 + - name: StatusCallbackUrl + in: query + description: >- + In case you would like a callback from us when the message is + delivered, you can specify it here and we will call it when we have + new message statuses. + + The callback payload will be an array of status objects. + + Api calls sending messages with the same apikey will be subject to + being bulked together. + schema: + type: string + maxLength: 500 + minLength: 0 + example: https://[your_domain]/your/desired/path + x-position: 10 + - name: SendTime.UtcTime + in: query + schema: + type: string + format: date-time + x-position: 11 + - name: SendTime.LocalServerTime + in: query + schema: + type: string + format: date-time + x-position: 12 + - name: MsisdnCooldownInMinutes + in: query + description: >- + If set, the message will be cancelled if the same mobile number + already have received a SMS within this specified time period. + + Fx. used to prevent spamming a mobile number. + + Minimum 60 minutes (1 hour) and maximum is 43200 minutes (30 days). + schema: + type: integer + format: int32 + maximum: 43200 + minimum: 60 + nullable: true + example: 1440 + x-position: 13 + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/SmsOutgoingPostReply' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + callbacks: + status: + https://[your_domain]/your/desired/path: + post: + summary: Status callback url (Webhook) + description: >- + The status callback url to receive status information on when + sms messages are delivered (or if they fail). + + This is a call done by us to you and the url to be called, is + the one specified when sending the messages. + + Only messages with 100% identical message callbacks will be + grouped together into the same call. Messages with different + callback urls will never be grouped together in a single + callback. + requestBody: + x-name: payload + content: + application/json: + schema: + $ref: '#/components/schemas/StatusReportListModel' + required: true + x-position: 1 + responses: + '200': + description: '' + /v4/sms/outgoing/sendusingtemplate: + post: + tags: + - Sms - Outgoing + summary: Send sms messages using a template. + operationId: SmsOutgoing_SendUsingTemplate + requestBody: + x-name: request + content: + application/json: + schema: + $ref: '#/components/schemas/SmsOutgoingTemplatePostRequest' + required: true + x-position: 1 + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/SmsOutgoingTemplatePostReply' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + callbacks: + status: + https://[your_domain]/your/desired/path: + post: + summary: Status callback url (Webhook) + description: >- + The status callback url to receive status information on when + sms messages are delivered (or if they fail). + + This is a call done by us to you and the url to be called, is + the one specified when sending the messages. + + Only messages with 100% identical message callbacks will be + grouped together into the same call. Messages with different + callback urls will never be grouped together in a single + callback. + requestBody: + x-name: payload + content: + application/json: + schema: + $ref: '#/components/schemas/StatusReportListModel' + required: true + x-position: 1 + responses: + '200': + description: '' + /v4/sms/outgoing/cancel: + post: + tags: + - Sms - Outgoing + summary: Cancel sms messages + operationId: SmsOutgoing_Cancel + requestBody: + x-name: request + content: + application/json: + schema: + $ref: '#/components/schemas/SmsOutgoingCancelPostRequest' + required: true + x-position: 1 + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/SmsOutgoingCancelPostReply' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/sms/outgoing/reports: + get: + tags: + - Sms - Outgoing + summary: Get sms status reports. + description: >- + Each report will only be returned once. Once called, the status has been + removed from our side and cannot be retrieved again using this method. + + Using api callbacks in combination with this call does not conflict. + operationId: SmsOutgoing_GetReports + parameters: + - name: limit + in: query + description: How many records to return (must be between 1 and 250) + schema: + type: integer + format: int32 + x-position: 1 + responses: + '200': + description: A list of status reports + content: + application/json: + schema: + $ref: '#/components/schemas/StatusReportListModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/sms/templates: + get: + tags: + - Templates + summary: Get all templates + description: >- + This response is a paged result and will contain the property + '_links.next'. + + If there are more pages, the next page in the paged result will be + provided here. + operationId: Templates_GetAllTemplates + parameters: + - name: pageLimit + in: query + description: How many records to return (must be between 1 and 250) + schema: + type: integer + format: int32 + x-position: 1 + responses: + '200': + description: A list of templates + content: + application/json: + schema: + $ref: '#/components/schemas/ApiPageModelOfStandardTextOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/sms/templates/{id}: + get: + tags: + - Templates + summary: Get template by id + operationId: Templates_GetTemplate + parameters: + - name: id + in: path + required: true + schema: + type: string + x-position: 1 + responses: + '200': + description: A template + content: + application/json: + schema: + $ref: '#/components/schemas/StandardTextOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/tools/parsephonenumbers: + post: + tags: + - Tools + summary: Parse phone numbers + operationId: Tools_ParsePhoneNumbers + requestBody: + x-name: request + content: + application/json: + schema: + $ref: '#/components/schemas/ParsePhoneNumberPostRequest' + required: true + x-position: 1 + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ParsePhoneNumberPostReply' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' +components: + schemas: + ApiPageModelOfBlacklistOutputApiModel: + allOf: + - $ref: '#/components/schemas/OutputListApiModelOfBlacklistOutputApiModel' + - type: object + additionalProperties: false + properties: + _links: + $ref: '#/components/schemas/ApiPageLinks' + ApiPageLinks: + type: object + additionalProperties: false + properties: + next: + type: string + description: The link to the next page, e.g. /Feature/Something/cAw2WeS3rdf + example: /Feature/Something/cAw2WeS3rdf + isLastPage: + type: boolean + description: >- + true if this is the last page, false if there are more pages. + NextPageUrl is always defined when this is false and never defined + when it is true. + OutputListApiModelOfBlacklistOutputApiModel: + type: object + additionalProperties: false + properties: + entries: + type: array + items: + $ref: '#/components/schemas/BlacklistOutputApiModel' + BlacklistOutputApiModel: + allOf: + - $ref: '#/components/schemas/BlacklistApiModelbase' + - type: object + additionalProperties: false + properties: + id: + type: string + description: The id of the blacklist entry + format: guid + example: 683862c7-c814-40cc-a74d-048d9f2f8cb7 + created: + type: string + description: >- + When the blacklist entry was created e.g. 2001-02-30T14:50:23Z + (UTC time) + example: '2001-02-30T14:50:23Z' + reasonCode: + description: Why the blacklist was created + example: 5 + oneOf: + - $ref: '#/components/schemas/BlacklistReason' + reasonCodeDescription: + type: string + description: Text version of the ReasonCode + example: AddFromApi + BlacklistReason: + type: integer + description: |- + 1 = CustomerSpecificUnsubscription + 2 = SharedUnsubscription + 3 = CountryBanLaw + 4 = AddWithUserInterface + 5 = AddFromApi + 6 = Custom + 7 = AddFromCrm + 8 = RecipientSyncRemoval + 9 = Autoblacklist + 10 = SpamLimit + 11 = UnsubscribeForm + 12 = CustomDomain + x-enumNames: + - CustomerSpecificUnsubscription + - SharedUnsubscription + - CountryBanLaw + - AddWithUserInterface + - AddFromApi + - Custom + - AddFromCrm + - RecipientSyncRemoval + - Autoblacklist + - SpamLimit + - UnsubscribeForm + - CustomDomain + enum: + - 1 + - 2 + - 3 + - 4 + - 5 + - 6 + - 7 + - 8 + - 9 + - 10 + - 11 + - 12 + BlacklistApiModelbase: + type: object + x-abstract: true + additionalProperties: false + required: + - numberInfo + properties: + numberInfo: + $ref: '#/components/schemas/NumberInfo' + comment: + type: string + description: A comment describing the specific blacklisting (optional). + maxLength: 200 + minLength: 0 + example: Some text provided when created + NumberInfo: + type: object + additionalProperties: false + required: + - countryCode + - phoneNumber + properties: + countryCode: + type: string + description: The country code part of the number + minLength: 1 + example: '45' + phoneNumber: + type: string + description: The local phonenumber part of the number + minLength: 1 + example: '12345678' + ApiErrorMessage: + type: object + additionalProperties: false + properties: + errorMessage: + type: string + description: An overall description of the error. + details: + type: array + description: If available, more details will be provided here. + items: + type: string + BlacklistCreateApiModel: + allOf: + - $ref: '#/components/schemas/BlacklistApiModelbase' + - type: object + additionalProperties: false + properties: + removeFromAllLists: + type: boolean + description: >- + If true, the number will also be removed from all lists. + Default: false + nullable: true + example: false + EmailOutgoingTemplatePostReply: + allOf: + - $ref: '#/components/schemas/EmailOutgoingBasePostReply' + - type: object + additionalProperties: false + properties: + usedPlaceholderKeys: + type: array + description: A list of used placeholder keys + example: + - '{name}' + - '{lastname}' + items: + type: string + notUsedPlaceholderKeys: + type: array + description: A list of not used placeholder keys + example: + - '{name}' + - '{lastname}' + items: + type: string + EmailOutgoingBasePostReply: + type: object + additionalProperties: false + properties: + messageId: + type: string + description: >- + An optional message id used to identify the message. + + If no message id is provided, a new message id is generated and + assigned to the message. This id must be unique across all messages + created on the same account. + + (In case a previous message has been deleted according to GDPR + deletion rules setup on the specific account, the messageId is + allowed to be reused) + + If max length is exceeded, the entire api call will fail. + example: 8fe266b2-56e9-4b5f-938f-cc5e22530721 + to: + type: array + description: The list of created Receivers + items: + $ref: '#/components/schemas/EmailRecipient' + EmailRecipient: + type: object + additionalProperties: false + required: + - emailAddress + - displayName + properties: + emailAddress: + type: string + description: The email address of the recipient + minLength: 1 + example: roy@tomlinson.com + displayName: + type: string + description: The display name to use for the recipient + minLength: 1 + example: Roy Tomlinson + EmailOutgoingTemplatePostRequest: + allOf: + - $ref: '#/components/schemas/EmailOutgoingApiBaseCreateModel' + - type: object + additionalProperties: false + required: + - templateId + properties: + templateId: + type: string + description: The id of the template to use. + minLength: 1 + example: ecdcb257-c1e9-4b44-8a4e-f05822372d82 + placeholders: + description: >- + A key-value list of placeholders to replace in the template + html, text and subject. Keys must be encapsulated with {}. E.g. + {NAME}. + example: + '{name}': Ray + '{lastname}': Tomlinson + oneOf: + - $ref: '#/components/schemas/ApiPlaceholderValueCollection' + ApiPlaceholderValueCollection: + type: object + additionalProperties: + type: string + EmailOutgoingApiBaseCreateModel: + type: object + additionalProperties: false + required: + - from + - to + properties: + from: + description: The from info of the message. + oneOf: + - $ref: '#/components/schemas/EmailRecipient' + to: + type: array + description: >- + A list of receiver objects. Allowed to contain between 1 and 100 + elements. + maxItems: 100 + minItems: 1 + items: + $ref: '#/components/schemas/EmailRecipient' + replyTo: + type: array + description: A list of optional Reply To objects. + maxItems: 100 + minItems: 1 + items: + $ref: '#/components/schemas/EmailRecipient' + messageId: + type: string + description: >- + An optional message id used to identify the message. + + If no message id is provided, a new message id is generated and + assigned to the message. This id must be unique across all messages + created on the same account. + + (In case a previous message has been deleted according to GDPR + deletion rules setup on the specific account, the messageId is + allowed to be reused) + + If max length is exceeded, the entire api call will fail. + maxLength: 50 + minLength: 1 + example: 8fe266b2-56e9-4b5f-938f-cc5e22530721 + sendTime: + type: string + description: >- + If set, this defines to time in the future for the message to be + sent. e.g. 2001-02-30T14:50:23Z (UTC time). + example: '2001-02-30T14:50:23Z' + tracking: + type: boolean + description: >- + If true, this will add Open and Click tracking to your email. + Default: true. + example: false + EmailOutgoingPostRequest: + allOf: + - $ref: '#/components/schemas/EmailOutgoingApiBaseCreateModel' + - type: object + additionalProperties: false + required: + - subject + - html + properties: + subject: + type: string + description: |- + The subject of the email. + If max length is exceeded, the entire api call will fail. + maxLength: 255 + minLength: 0 + example: This is the subject of the email + html: + type: string + description: |- + The HTML body of the email. Max size of 2 MB. + If max size is exceeded, the entire api call will fail. + minLength: 1 + example: >- +

This is an email to + be sent

+ text: + type: string + description: >- + The text body of the email. If none is provided this will be + generated from the HTML. Max size of 2 MB. + + If max size is exceeded, the entire api call will fail. + example: This is the text version of the email + EmailEventListModel: + type: object + additionalProperties: false + properties: + events: + type: array + items: + $ref: '#/components/schemas/EmailEvent' + EmailEvent: + type: object + additionalProperties: false + properties: + messageId: + type: string + description: The id of the message. + example: id1 + eventType: + description: Contains a code for what event type the event is. + example: 3 + oneOf: + - $ref: '#/components/schemas/EmailEventType' + eventTypeDescription: + type: string + description: A text description of the event type + example: Delivered + eventTimestamp: + type: string + description: When the event happened e.g. 2001-02-30T14:50:23Z (UTC time) + example: '2001-02-30T14:50:23Z' + EmailEventType: + type: integer + description: |- + 0 = Undefined + 1 = Clicked + 2 = Complained + 3 = Delivered + 4 = Opened + 5 = PermanentFail + 6 = TemporaryFail + 7 = Unsubscribed + 8 = Queued + 9 = Attempt + x-enumNames: + - Undefined + - Clicked + - Complained + - Delivered + - Opened + - PermanentFail + - TemporaryFail + - Unsubscribed + - Queued + - Attempt + enum: + - 0 + - 1 + - 2 + - 3 + - 4 + - 5 + - 6 + - 7 + - 8 + - 9 + ApiPageModelOfEmailTemplateOutputApiModel: + allOf: + - $ref: '#/components/schemas/OutputListApiModelOfEmailTemplateOutputApiModel' + - type: object + additionalProperties: false + properties: + _links: + $ref: '#/components/schemas/ApiPageLinks' + OutputListApiModelOfEmailTemplateOutputApiModel: + type: object + additionalProperties: false + properties: + entries: + type: array + items: + $ref: '#/components/schemas/EmailTemplateOutputApiModel' + EmailTemplateOutputApiModel: + type: object + additionalProperties: false + properties: + id: + type: string + description: The id of the email template + example: c9b6c7a8-aa22-4a59-b6d5-fdbbeced27bc + name: + type: string + description: The name of the email template + example: My email template + html: + type: string + description: The Html of the email template + example: >- +

Hello {name} {lastname}. + This is an email to be sent

+ text: + type: string + description: The text version of the Html + example: Hello {name} This is the text version of the email + subject: + type: string + description: The subject of the email template + example: Hello {lastname} This is the subject of the email + preheader: + type: string + description: The preheader of the email + example: This is the preheader of the email + placeholders: + type: array + description: >- + A list of the placeholders found in the template html, text and + subject. + example: + - '{name}' + - '{lastname}' + items: + type: string + created: + type: string + description: >- + When the email template was created e.g. 2001-02-30T14:50:23Z (UTC + time) + example: '2001-02-30T14:50:23Z' + lastUpdated: + type: string + description: >- + When the email template was last updated e.g. 2001-02-30T14:50:23Z + (UTC time) + example: '2001-02-30T14:50:23Z' + RequestDeletionOutputApiModel: + type: object + additionalProperties: false + properties: + id: + type: string + description: The Id of the Deletion request + example: cf97f715-63d4-41df-92a1-34eb87b866b5 + DeletionRequestCreateInfo: + type: object + additionalProperties: false + properties: + numberInfo: + $ref: '#/components/schemas/NumberInfo' + ApiPageModelOfGroupOutputApiModel: + allOf: + - $ref: '#/components/schemas/OutputListApiModelOfGroupOutputApiModel' + - type: object + additionalProperties: false + properties: + _links: + $ref: '#/components/schemas/ApiPageLinks' + OutputListApiModelOfGroupOutputApiModel: + type: object + additionalProperties: false + properties: + entries: + type: array + items: + $ref: '#/components/schemas/GroupOutputApiModel' + GroupOutputApiModel: + type: object + additionalProperties: false + properties: + id: + type: string + description: The id of the list + format: guid + example: a80e5daa-1bf9-48ca-b67e-ff79eeab1c39 + name: + type: string + description: The name of the list + example: My list + created: + type: string + description: When the list was created e.g. 2001-02-30T14:50:23Z (UTC time) + example: '2001-02-30T14:50:23Z' + GroupInputApiModel: + type: object + additionalProperties: false + properties: + name: + type: string + ApiPageModelOfRecipientOutputApiModel: + allOf: + - $ref: '#/components/schemas/OutputListApiModelOfRecipientOutputApiModel' + - type: object + additionalProperties: false + properties: + _links: + $ref: '#/components/schemas/ApiPageLinks' + OutputListApiModelOfRecipientOutputApiModel: + type: object + additionalProperties: false + properties: + entries: + type: array + items: + $ref: '#/components/schemas/RecipientOutputApiModel' + RecipientOutputApiModel: + allOf: + - $ref: '#/components/schemas/RecipientBaseApiModel' + - type: object + additionalProperties: false + properties: + id: + type: string + description: The id of the recipient + format: guid + example: 99e0543f-b059-4127-9b50-c42112f19cc9 + listId: + type: string + description: The id of the list that the recipient belongs to + format: guid + example: 4a5f91d5-3aa4-4419-890e-f7b103406dbf + created: + type: string + description: >- + When the recipient was created e.g. 2001-02-30T14:50:23Z (UTC + time) + example: '2001-02-30T14:50:23Z' + RecipientBaseApiModel: + type: object + x-abstract: true + additionalProperties: false + properties: + externalCreated: + type: string + description: >- + When the recipient was created in an external system e.g. + 2001-02-30T14:50:23Z (UTC time) + example: '2001-02-30T14:50:23Z' + numberInfo: + $ref: '#/components/schemas/NumberInfo' + fields: + description: The fields to update in the given recipient. + example: + firstname: Friedhelm + lastname: Hillebrand + birthday: '1945-04-30' + custom1: Custom1 + custom2: Custom2 + custom3: Custom3 + custom4: Custom4 + custom5: Custom5 + custom6: Custom6 + email: test@test.dk + zipCode: '8000' + address: testroad 12 + companyName: test company + oneOf: + - $ref: '#/components/schemas/RecipientFieldsCollection' + RecipientFieldsCollection: + type: object + additionalProperties: + type: string + RecipientCreateOrUpdateApiModel: + allOf: + - $ref: '#/components/schemas/RecipientBaseApiModel' + - type: object + additionalProperties: false + RecipientUpdateApiModel: + allOf: + - $ref: '#/components/schemas/RecipientBaseApiModel' + - type: object + additionalProperties: false + RecipientCreateApiModel: + allOf: + - $ref: '#/components/schemas/RecipientBaseApiModel' + - type: object + additionalProperties: false + IncomingMessageListModel: + type: object + additionalProperties: false + properties: + messages: + type: array + items: + $ref: '#/components/schemas/IncomingMessage' + IncomingMessage: + type: object + additionalProperties: false + properties: + from: + $ref: '#/components/schemas/IncomingMessageSender' + to: + $ref: '#/components/schemas/IncomingMessageTarget' + text: + type: string + receivedAt: + type: string + example: '2001-02-30T14:50:23Z' + IncomingMessageSender: + type: object + additionalProperties: false + properties: + countryCode: + type: string + phoneNumber: + type: string + rawSource: + type: string + isValidMsisdn: + type: boolean + IncomingMessageTarget: + type: object + additionalProperties: false + properties: + countryCode: + type: string + phoneNumber: + type: string + msisdn: + type: string + SmsOutgoingPostReply: + type: object + additionalProperties: false + properties: + results: + type: array + items: + $ref: '#/components/schemas/SmsOutgoingApiCreateResultModel' + SmsOutgoingApiCreateResultModel: + type: object + additionalProperties: false + properties: + numberDetails: + description: >- + The parsed details about the msisdn provided in the to-field of the + request (msisdn is a number with a countrycode e.g. 4512345678) + oneOf: + - $ref: '#/components/schemas/NumberDetails' + text: + type: string + description: The text message + example: This is a message text to be sent + from: + type: string + description: The sender. + example: PetShop + smsCount: + type: integer + description: >- + The number of sms messages this message will be split into when sent + to the operator. Charging will also be done according to this + number. + format: int32 + example: 1 + messageId: + type: string + description: >- + An optional message id used to identify the message. + + If no message id is provided, a new message id is generated and + assigned to the message. This id must be unique across all messages + created on the same account. + + (In case a previous message has been deleted according to GDPR + deletion rules setup on the specific account, the messageId is + allowed to be reused) + example: PetShop + encoding: + type: string + description: >- + The encoding of the message. Can be either "gsm7" or "ucs2". In case + the message was submitted with encoding "auto", this report will + reveal the final encoding based on the characters in the message + text. + + "gsm7" is the default alfabet for text messages and when using gsm7, + a single sms message can contain 160 characters. If the length + exceeeds 160 characters, the message is actually split up into parts + of 153 characters and charged according to this. Please note, that a + few, specific characters fill up 2 bytes and count for 2 letters. + Ref: https://en.wikipedia.org/wiki/GSM_03.38 + + "ucs2"" allows for more non-roman characters to be used along with + smileys. When using this encoding, a single message can consist of + 70 characters. If the message exceeds 70 characters, the final + message is actually split into parts of 67 characters. + example: gsm7 + NumberDetails: + type: object + additionalProperties: false + properties: + countryCode: + type: string + description: The country code part of the msisdn, e.g. 45. + example: '45' + phoneNumber: + type: string + description: The phone number part of the msisdn, e.g. 12345678. + example: '12345678' + rawMsisdn: + type: string + description: >- + The input msisdn in its unaltered format. This is the value provided + when sending the text message. + example: 45 12 34 56 78 + msisdn: + type: string + description: The final cleaned msisdn + example: '4512345678' + isValidMsisdn: + type: boolean + description: True if the input msisdn was valid. + example: true + countryHint: + type: string + description: The country code hint if provided in the request + SmsOutgoingPostRequest: + type: object + additionalProperties: false + required: + - messages + properties: + messages: + type: array + description: >- + A list of the sms messages to be sent. Allowed to contain between 1 + and 250 elements. + maxItems: 250 + minItems: 1 + items: + $ref: '#/components/schemas/SmsOutgoingApiCreateModel' + SmsOutgoingApiCreateModel: + allOf: + - $ref: '#/components/schemas/SmsOutgoingBaseApiModel' + - type: object + additionalProperties: false + required: + - text + - from + properties: + text: + type: string + description: >- + The text message. + + If the max length is exceeded, the message text is truncated and + sent. + maxLength: 10000 + minLength: 1 + example: This is a message text to be sent + from: + type: string + description: >- + The sender. This can either be a 3-11 chars text sender or an up + to 14 digit long sender number. + + If the max length is exceeded, the string is truncated. + minLength: 1 + example: PetShop + flash: + type: boolean + description: >- + If true, the message will be shown as a flash message (also + known as a class0 message) on the target phone. If false, it + will be received as a standard text message. + + Default: false + nullable: true + example: false + encoding: + type: string + description: >- + The encoding of the message. Can be either "gsm7", "ucs2" or + "auto". + + "gsm7" is the default alfabet for text messages and when using + gsm7, a single sms message can contain 160 characters. If the + length exceeeds 160 characters, the message is actually split up + into parts of 153 characters and charged according to this. + Please note, that a few, specific characters fill up 2 bytes and + count for 2 letters. Ref: + https://en.wikipedia.org/wiki/GSM_03.38 + + "ucs2"" allows for more non-roman characters to be used along + with smileys. When using this encoding, a single message can + consist of 70 characters. If the message exceeds 70 characters, + the final message is actually split into parts of 67 characters. + + "auto" can be used in case the sender wishes to support + non-roman characters but wants to save the expenses on all the + trafic that only contains gsm characters anyway. + + Default: "gsm7" + example: gsm7 + SmsOutgoingBaseApiModel: + type: object + additionalProperties: false + required: + - to + properties: + to: + type: string + description: >- + The msisdn (country code and number) to send to. (Remember to + include countrycode in all numbers, e.g. 4512345678). + + If max length is exceeded, the entire api call will fail. + maxLength: 20 + minLength: 0 + example: '4512345678' + countryHint: + type: string + description: >- + For optimal phone number validation, we encourage you to provide us + with a country code. This can be the numeric country code (like 44) + or the two-letter suffix (like GB). If this field is empty it is + important that you add the country code (e.g 44) in front of the + phone number in “to”. + maxLength: 50 + minLength: 0 + example: '45' + messageId: + type: string + description: >- + An optional message id used to identify the message. + + If no message id is provided, a new message id is generated and + assigned to the message. This id must be unique across all messages + created on the same account. + + (In case a previous message has been deleted according to GDPR + deletion rules setup on the specific account, the messageId is + allowed to be reused) + + If max length is exceeded, the entire api call will fail. + maxLength: 50 + minLength: 1 + example: PetShop + respectBlacklist: + type: boolean + description: >- + If true, this message will be blocked from sending if the target + number is on the account's blacklist. If false, the message will be + sent no matter blacklist settings. + + Default: true + nullable: true + example: true + validityPeriodInSeconds: + type: integer + description: >- + The validity period in seconds. Minimum is 60 seconds and maximum is + 172800 (48 hours). + + If not specified, the messages is attempted to be delivered in 48 + hours. A typical use of validityPeriod is for messages that makes no + sense to delivery efter er certain time frame, in the case the phone + is turned of, e.g. two factor codes. + + Please note, that messages are still charged even though the + operator is cancelling the delivery attempt due to an exceeded + validity period. + format: int32 + maximum: 172800 + minimum: 60 + nullable: true + example: 90 + statusCallbackUrl: + type: string + description: >- + In case you would like a callback from us when the message is + delivered, you can specify it here and we will call it when we have + new message statuses. + + The callback payload will be an array of status objects. + + Api calls sending messages with the same apikey will be subject to + being bulked together. + maxLength: 500 + minLength: 0 + example: https://[your_domain]/your/desired/path + sendTime: + type: string + description: >- + If set, this defines to time in the future for the message to be + sent. e.g. 2001-02-30T14:50:23Z (UTC time). + example: '2001-02-30T14:50:23Z' + msisdnCooldownInMinutes: + type: integer + description: >- + If set, the message will be cancelled if the same mobile number + already have received a SMS within this specified time period. + + Fx. used to prevent spamming a mobile number. + + Minimum 60 minutes (1 hour) and maximum is 43200 minutes (30 days). + format: int32 + maximum: 43200 + minimum: 60 + nullable: true + example: 1440 + StatusReportListModel: + type: object + additionalProperties: false + properties: + reports: + type: array + items: + $ref: '#/components/schemas/StatusReport' + StatusReport: + type: object + additionalProperties: false + properties: + messageId: + type: string + description: The id of the message. + example: id1 + numberDetails: + $ref: '#/components/schemas/StatusReportNumberDetails' + deliveryInfo: + $ref: '#/components/schemas/DeliveryInfo' + chargeInfo: + $ref: '#/components/schemas/ChargeInfo' + StatusReportNumberDetails: + allOf: + - $ref: '#/components/schemas/NumberDetails' + - type: object + additionalProperties: false + properties: + isAnonymized: + type: boolean + description: Specifies whether the message has been anonymized or not. + example: false + DeliveryInfo: + type: object + additionalProperties: false + properties: + stateCode: + description: >- + Contains a code indicating whether a message is delivered, failed or + cancelled. + example: -1 + oneOf: + - $ref: '#/components/schemas/MessageStateCode' + stateDescription: + type: string + description: A text description of the state code + example: Failed + sendTime: + type: string + description: When the message was sent e.g. 2001-02-30T14:50:23Z (UTC time) + example: '2001-02-30T14:50:23Z' + doneTime: + type: string + description: >- + When the delivery of the message fails, is cancelled, or is + delivered. If the operator does not support reporting the actual + delivery time, this will be the time when the delivery report is + received from the operator. + + In some cases where the message is not sent, this value can be null. + example: '2001-02-30T14:50:23Z' + errorCode: + $ref: '#/components/schemas/ErrorCode' + errorDescription: + type: string + description: A text description of the error code + example: Undeliverable message + MessageStateCode: + type: integer + description: |- + 0 = Unknown + 1 = Delivered + -2 = Cancelled + -1 = Failed + x-enumNames: + - Unknown + - Delivered + - Cancelled + - Failed + enum: + - 0 + - 1 + - -2 + - -1 + ErrorCode: + type: integer + description: "A code describing the error if the state is not Delivered. This property will be absent in case the state is Delivered.\n\r-1 = Undeliverable message\n\r-2 = Msisdn blacklisted by operator\n\r-3 = Invalid mobile number\n\r-4 = Country not available\n\r-5 = Delivery timeout\n\r-6 = Not delivered removed from gateway\n\r-8 = Insufficient funds\n\r-9 = Authorize failed\n\r-10 = Capture failed\n\r-11 = Overcharge donation limit exceeded\n\r-12 = Overcharge type not activated\n\r-13 = Overcharge settings not valid\n\r-14 = Sender name blocked\n\r-15 = Route not available\n\r-16 = Refund not available\n\r-17 = Refund not possible for message\n\r-18 = Refund failed\n\r-19 = Refund not possible for pending message\n\r-20 = Refund not possible for failed message\n\r-21 = Refund failed already refunded\n\r-22 = Delivery timeout before sent\n\r-23 = Message queue full at operator\n\r-80 = Imported from other system\n\r-99 = Submit failed\n\r-100 = Communication error\n\r-101 = Unknown id\n\r-102 = Cancelled\n\r-103 = Unknown error processing message\n\r-104 = Unknown id at operator\n\r-105 = Msisdn blacklisted on account\n\r-106 = Mobile number cooldown\n\r-201 = Suspicious sms content\n\r-202 = Account deactivated\n\r-300 = Pdu sequence incomplete\n\r-301 = Pdu sequence invalid\n\r" + format: integer + example: -1 + ChargeInfo: + type: object + additionalProperties: false + properties: + isCharged: + type: boolean + description: True if the message will be charged. + example: true + smsCount: + type: integer + description: >- + The total sms count in the message. If IsCharged is true, this is + the number of sms'es that will be charged. + format: int32 + example: 2 + encoding: + type: string + description: >- + The encoding of the message. Can be either "gsm7" or "ucs2". In case + the message was submitted with encoding "auto", this report will + reveal the final encoding based on the characters in the message + text. + + "gsm7" is the default alfabet for text messages and when using gsm7, + a single sms message can contain 160 characters. If the length + exceeeds 160 characters, the message is actually split up into parts + of 153 characters and charged according to this. Please note, that a + few, specific characters fill up 2 bytes and count for 2 letters. + Ref: https://en.wikipedia.org/wiki/GSM_03.38 + + "ucs2"" allows for more non-roman characters to be used along with + smileys. When using this encoding, a single message can consist of + 70 characters. If the message exceeds 70 characters, the final + message is actually split into parts of 67 characters. + example: gsm7 + SmsOutgoingTemplatePostReply: + type: object + additionalProperties: false + properties: + usedPlaceholderKeys: + type: array + description: A list of used used placeholder keys + example: + - '{name}' + - '{lastname}' + items: + type: string + notUsedPlaceholderKeys: + type: array + description: A list of not used placeholder keys + example: + - '{name}' + - '{lastname}' + items: + type: string + results: + type: array + items: + $ref: '#/components/schemas/SmsOutgoingApiCreateResultModel' + SmsOutgoingTemplatePostRequest: + type: object + additionalProperties: false + required: + - templateId + - messages + properties: + templateId: + type: string + description: The id of the template to use + minLength: 1 + example: ecdcb257-c1e9-4b44-8a4e-f05822372d82 + messages: + type: array + description: >- + A list of the sms messages to be sent. Allowed to contain between 1 + and 250 elements. + maxItems: 250 + minItems: 1 + items: + $ref: '#/components/schemas/SmsOutgoingTemplateApiCreateModel' + SmsOutgoingTemplateApiCreateModel: + allOf: + - $ref: '#/components/schemas/SmsOutgoingBaseApiModel' + - type: object + additionalProperties: false + properties: + placeholders: + description: >- + A key-value list of placeholders to replace in the template + text. Keys must be encapsulated with {}. E.g. {NAME}. + example: + '{name}': Friedhelm + '{lastname}': Hillebrand + oneOf: + - $ref: '#/components/schemas/ApiPlaceholderValueCollection' + SmsOutgoingCancelPostReply: + type: object + additionalProperties: false + properties: + results: + type: array + description: A list of results + items: + $ref: '#/components/schemas/SmsOutgoingCancelPostReplyResultModel' + SmsOutgoingCancelPostReplyResultModel: + type: object + additionalProperties: false + properties: + messageId: + type: string + description: The MessageId of the message that was attempted cancelled. + example: 8fe266b2-56e9-4b5f-938f-cc5e22530721 + resultCode: + description: A value indicating if the message was cancelled. + example: 1 + oneOf: + - $ref: '#/components/schemas/CancelResultCode' + resultDescription: + type: string + description: A description of the result. + example: Success + CancelResultCode: + type: integer + description: |- + 0 = Unknown + 1 = Success + -2 = MessageNotFound + -1 = NotCancelled + x-enumNames: + - Unknown + - Success + - MessageNotFound + - NotCancelled + enum: + - 0 + - 1 + - -2 + - -1 + SmsOutgoingCancelPostRequest: + type: object + additionalProperties: false + required: + - messageIds + properties: + messageIds: + type: array + description: >- + A list of the sms message ids to be cancelled. Allowed to contain + between 1 and 250 elements. + maxItems: 250 + minItems: 1 + example: + - id1 + - id2 + items: + type: string + ApiPageModelOfStandardTextOutputApiModel: + allOf: + - $ref: '#/components/schemas/OutputListApiModelOfStandardTextOutputApiModel' + - type: object + additionalProperties: false + properties: + _links: + $ref: '#/components/schemas/ApiPageLinks' + OutputListApiModelOfStandardTextOutputApiModel: + type: object + additionalProperties: false + properties: + entries: + type: array + items: + $ref: '#/components/schemas/StandardTextOutputApiModel' + StandardTextOutputApiModel: + type: object + additionalProperties: false + properties: + id: + type: string + description: The id of the template + example: c7114ec3-8f89-4e26-8048-686585c1da2a + name: + type: string + description: The name of the template + example: My template + text: + type: string + description: The template text + example: My template text {name} {lastname} + senderName: + type: string + description: The sendername to use with this template + example: My sendername + encoding: + type: string + description: >- + The encoding of the message. Can be either "gsm7" or "ucs2" + + "gsm7" is the default alfabet for text messages and when using gsm7, + a single sms message can contain 160 characters. If the length + exceeeds 160 characters, the message is actually split up into parts + of 153 characters and charged according to this. Please note, that a + few, specific characters fill up 2 bytes and count for 2 letters. + Ref: https://en.wikipedia.org/wiki/GSM_03.38 + + "ucs2"" allows for more non-roman characters to be used along with + smileys. When using this encoding, a single message can consist of + 70 characters. If the message exceeds 70 characters, the final + message is actually split into parts of 67 characters. + example: gsm7 + placeholders: + type: array + description: >- + A list of the placeholders found in the template html, text and + subject. + example: + - '{name}' + - '{lastname}' + items: + type: string + created: + type: string + description: When the template was created e.g. 2001-02-30T14:50:23Z (UTC time) + example: '2001-02-30T14:50:23Z' + lastUpdated: + type: string + description: >- + When the template was last updated e.g. 2001-02-30T14:50:23Z (UTC + time) + example: '2001-02-30T14:50:23Z' + ParsePhoneNumberPostReply: + type: object + additionalProperties: false + properties: + results: + type: array + items: + $ref: '#/components/schemas/NumberDetails' + ParsePhoneNumberPostRequest: + type: object + additionalProperties: false + required: + - numbersToParse + properties: + numbersToParse: + type: array + description: A list of the numbersToParse and country hints to be parsed + minItems: 1 + items: + $ref: '#/components/schemas/RawMsisdnAndCountryHint' + RawMsisdnAndCountryHint: + type: object + additionalProperties: false + properties: + countryHint: + type: string + description: The country part of the msisdn, e.g. 45 or DK. + example: '45' + rawMsisdn: + type: string + description: >- + The input msisdn in its unaltered format. This is the value provided + when sending the text message. + example: +45 12 34 56 78 + securitySchemes: + BasicAuth: + type: http + description: >- + Provide Basic Authentiation with an arbitrary username and your api key + as password, e.g. some_value_to_be_ignored:your_api_key_here + scheme: basic + QueryParameter: + type: apiKey + description: >- + Specify your apikey in the url as + https://api.inmobile.com/some/path?apikey=your_api_key_here. This method + is only recommended if basic authorization is not possible. + name: apikey + in: query +security: + - BasicAuth: [] + - QueryParameter: [] +tags: + - name: Sms - Outgoing + - name: Sms - Incoming + - name: Blacklist + - name: Lists + - name: Gdpr + - name: Email + - name: Email Templates + - name: Templates + - name: Tools diff --git a/sdks/db/custom-request-specs/innoship.io.yaml b/sdks/db/custom-request-specs/innoship.io.yaml new file mode 100644 index 0000000000..73c8ba47f8 --- /dev/null +++ b/sdks/db/custom-request-specs/innoship.io.yaml @@ -0,0 +1,8417 @@ +openapi: 3.0.1 +info: + title: Innoship API + description: Api service implementation (version:6.0.1.503) + termsOfService: https://example.com/terms + contact: + name: Andrei Paul + email: andrei@innoship.ro + license: + name: Use under LICX + url: https://example.com/license + version: v1 +paths: + /api/ClientLocation: + get: + tags: + - ClientLocation + parameters: + - name: countryCode + in: query + schema: + type: string + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + responses: + '200': + description: Success + post: + tags: + - ClientLocation + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/UpdateLocationDto' + application/json: + schema: + $ref: '#/components/schemas/UpdateLocationDto' + text/json: + schema: + $ref: '#/components/schemas/UpdateLocationDto' + application/*+json: + schema: + $ref: '#/components/schemas/UpdateLocationDto' + responses: + '200': + description: Success + /api/ClientLocation/{id}: + put: + tags: + - ClientLocation + parameters: + - name: id + in: path + required: true + schema: + type: integer + format: int32 + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/UpdateLocationDto' + application/json: + schema: + $ref: '#/components/schemas/UpdateLocationDto' + text/json: + schema: + $ref: '#/components/schemas/UpdateLocationDto' + application/*+json: + schema: + $ref: '#/components/schemas/UpdateLocationDto' + responses: + '200': + description: Success + delete: + tags: + - ClientLocation + parameters: + - name: id + in: path + required: true + schema: + type: integer + format: int32 + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + responses: + '200': + description: Success + get: + tags: + - ClientLocation + parameters: + - name: id + in: path + required: true + schema: + type: integer + format: int32 + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + responses: + '200': + description: Success + /api/ClientLocation/Summary: + post: + tags: + - ClientLocation + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/LocationFilter' + application/json: + schema: + $ref: '#/components/schemas/LocationFilter' + text/json: + schema: + $ref: '#/components/schemas/LocationFilter' + application/*+json: + schema: + $ref: '#/components/schemas/LocationFilter' + responses: + '200': + description: Success + /api/ClientLocation/Validate: + post: + tags: + - ClientLocation + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/LocationDto' + application/json: + schema: + $ref: '#/components/schemas/LocationDto' + text/json: + schema: + $ref: '#/components/schemas/LocationDto' + application/*+json: + schema: + $ref: '#/components/schemas/LocationDto' + responses: + '200': + description: Success + /api/ClientLocation/{locationId}/Courier: + post: + tags: + - ClientLocation + parameters: + - name: locationId + in: path + required: true + schema: + type: integer + format: int32 + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/CreateLocationCourierServicesDto' + application/json: + schema: + $ref: '#/components/schemas/CreateLocationCourierServicesDto' + text/json: + schema: + $ref: '#/components/schemas/CreateLocationCourierServicesDto' + application/*+json: + schema: + $ref: '#/components/schemas/CreateLocationCourierServicesDto' + responses: + '200': + description: Success + /api/ClientLocation/{locationId}/Courier/{courierId}: + delete: + tags: + - ClientLocation + parameters: + - name: locationId + in: path + required: true + schema: + type: integer + format: int32 + - name: courierId + in: path + required: true + schema: + type: integer + format: int32 + - name: force + in: query + schema: + type: boolean + - name: isEmagMarketPlace + in: query + schema: + type: boolean + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + responses: + '200': + description: Success + /api/ClientLocation/{locationId}/CourierServices: + put: + tags: + - ClientLocation + parameters: + - name: locationId + in: path + required: true + schema: + type: integer + format: int32 + - name: applyToAllLocations + in: query + schema: + type: boolean + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: '#/components/schemas/UpdateLocationCourierServiceDto' + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UpdateLocationCourierServiceDto' + text/json: + schema: + type: array + items: + $ref: '#/components/schemas/UpdateLocationCourierServiceDto' + application/*+json: + schema: + type: array + items: + $ref: '#/components/schemas/UpdateLocationCourierServiceDto' + responses: + '200': + description: Success + patch: + tags: + - ClientLocation + parameters: + - name: locationId + in: path + required: true + schema: + type: integer + format: int32 + - name: applyToAllLocations + in: query + schema: + type: boolean + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: '#/components/schemas/UpdateLocationCourierServiceDto' + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UpdateLocationCourierServiceDto' + text/json: + schema: + type: array + items: + $ref: '#/components/schemas/UpdateLocationCourierServiceDto' + application/*+json: + schema: + type: array + items: + $ref: '#/components/schemas/UpdateLocationCourierServiceDto' + responses: + '200': + description: Success + /api/Courier/RequestPickup: + post: + tags: + - Courier + summary: Request pickup to courier + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + description: '' + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/PickupRequest' + application/json: + schema: + $ref: '#/components/schemas/PickupRequest' + text/json: + schema: + $ref: '#/components/schemas/PickupRequest' + application/*+json: + schema: + $ref: '#/components/schemas/PickupRequest' + responses: + '200': + description: Pickup requested to courier + content: + application/json: + schema: + $ref: '#/components/schemas/PickupResponse' + '400': + description: Unable to request pickup due to errors + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + /api/Courier/All: + get: + tags: + - Courier + summary: Get all couriers + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + responses: + '200': + description: List of couriers + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/AllCouriersResponse' + '401': + description: Unable to authorize request + /api/Feedback/{from}/{to}: + get: + tags: + - Feedback + parameters: + - name: from + in: path + required: true + schema: + type: string + format: date-time + - name: to + in: path + required: true + schema: + type: string + format: date-time + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + responses: + '200': + description: Success + /api/Label/by-courier/{courierId}/awb/{awb}: + get: + tags: + - Label + summary: Gets the label for the specified courier awb number + parameters: + - name: courierId + in: path + description: '' + required: true + schema: + type: integer + format: int32 + - name: awb + in: path + description: '' + required: true + schema: + type: string + - name: type + in: query + description: '' + schema: + type: string + default: PDF + - name: format + in: query + description: '' + schema: + type: string + default: A6 + - name: includeVoucher + in: query + description: '' + schema: + type: boolean + default: false + - name: useFile + in: query + description: '' + schema: + type: boolean + default: true + - name: skipCache + in: query + description: '' + schema: + type: boolean + default: false + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + responses: + '200': + description: Returns the label + content: + application/pdf: + schema: + $ref: '#/components/schemas/LabelResponse' + application/json: + schema: + $ref: '#/components/schemas/LabelResponse' + text/html: + schema: + $ref: '#/components/schemas/LabelResponse' + '400': + description: Unable to get the label due to validation errors + content: + application/pdf: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/html: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + /api/Label/by-courier/{courierId}/voucher/{awb}: + get: + tags: + - Label + summary: Gets the voucher label for the specified courier awb number + parameters: + - name: courierId + in: path + description: '' + required: true + schema: + type: integer + format: int32 + - name: awb + in: path + description: '' + required: true + schema: + type: string + - name: type + in: query + description: '' + schema: + type: string + default: PDF + - name: format + in: query + description: '' + schema: + type: string + default: A6 + - name: useFile + in: query + description: '' + schema: + type: boolean + default: true + - name: skipCache + in: query + description: '' + schema: + type: boolean + default: false + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + responses: + '200': + description: Returns the label + content: + application/pdf: + schema: + $ref: '#/components/schemas/LabelResponse' + application/json: + schema: + $ref: '#/components/schemas/LabelResponse' + text/html: + schema: + $ref: '#/components/schemas/LabelResponse' + '400': + description: Unable to get the label due to validation errors + content: + application/pdf: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/html: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + /api/Label/by-courier/{courierId}/awb/{awb}/parcel/{barcodes}: + get: + tags: + - Label + summary: Gets the label for the specified courier parcel barcode and order awb + parameters: + - name: courierId + in: path + description: '' + required: true + schema: + type: integer + format: int32 + - name: awb + in: path + description: '' + required: true + schema: + type: string + - name: barcodes + in: path + description: '' + required: true + schema: + type: string + - name: type + in: query + description: '' + schema: + type: string + default: PDF + - name: format + in: query + description: '' + schema: + type: string + default: A6 + - name: useFile + in: query + description: '' + schema: + type: boolean + default: true + - name: skipCache + in: query + description: '' + schema: + type: boolean + default: false + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + responses: + '200': + description: Returns the label + content: + application/pdf: + schema: + $ref: '#/components/schemas/LabelResponse' + application/json: + schema: + $ref: '#/components/schemas/LabelResponse' + text/html: + schema: + $ref: '#/components/schemas/LabelResponse' + '400': + description: Unable to get the label due to validation errors + content: + application/pdf: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/html: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + /api/Label/bulk: + post: + tags: + - Label + summary: Create bulk labels operation + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + description: '' + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/BulkLabelApiRequest' + application/json: + schema: + $ref: '#/components/schemas/BulkLabelApiRequest' + text/json: + schema: + $ref: '#/components/schemas/BulkLabelApiRequest' + application/*+json: + schema: + $ref: '#/components/schemas/BulkLabelApiRequest' + responses: + '200': + description: Returns OperationId + '400': + description: Unable to create bulk labels operation due to validation errors + content: + application/pdf: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/html: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + /api/Label/bulk/{operationId}: + get: + tags: + - Label + summary: Get bulk labels by operationId + parameters: + - name: operationId + in: path + description: '' + required: true + schema: + type: string + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + responses: + '200': + description: Returns the label + content: + application/pdf: + schema: + $ref: '#/components/schemas/LabelResponse' + application/json: + schema: + $ref: '#/components/schemas/LabelResponse' + text/html: + schema: + $ref: '#/components/schemas/LabelResponse' + '400': + description: Unable to get the label due to validation errors + content: + application/pdf: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/html: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + /api/Location/ClientLocations: + get: + tags: + - Location + responses: + '200': + description: Success + /api/Location/FixedLocation/{id}: + get: + tags: + - Location + parameters: + - name: id + in: path + required: true + schema: + type: integer + format: int32 + responses: + '200': + description: Success + /api/Location/FixedLocations: + get: + tags: + - Location + parameters: + - name: Courier + in: query + schema: + $ref: '#/components/schemas/Courier' + - name: CountryCode + in: query + schema: + type: string + - name: CountyName + in: query + schema: + type: string + - name: LocalityName + in: query + schema: + type: string + - name: FixedLocationType + in: query + schema: + $ref: '#/components/schemas/FixedLocationType' + - name: ShowInactive + in: query + schema: + type: boolean + - name: RestrictionParcelsCount + in: query + schema: + type: integer + format: int32 + - name: RestrictionSizeHeight + in: query + schema: + type: integer + format: int32 + - name: RestrictionSizeWidth + in: query + schema: + type: integer + format: int32 + - name: RestrictionSizeLength + in: query + schema: + type: integer + format: int32 + - name: ExternalLocationId + in: query + schema: + type: string + - name: Latitude + in: query + schema: + type: number + format: double + - name: Longitude + in: query + schema: + type: number + format: double + - name: Radius + in: query + schema: + type: number + format: double + responses: + '200': + description: Success + /api/Location/Countries: + get: + tags: + - Location + responses: + '200': + description: Success + /api/Location/Counties/{countryCode}: + get: + tags: + - Location + parameters: + - name: countryCode + in: path + required: true + schema: + type: string + responses: + '200': + description: Success + /api/Location/Localities/{countyId}: + get: + tags: + - Location + parameters: + - name: countyId + in: path + required: true + schema: + type: integer + format: int32 + responses: + '200': + description: Success + /api/Location/Postalcodes/{CountryCode}/{PostalCode}: + get: + tags: + - Location + parameters: + - name: CountryCode + in: path + required: true + schema: + maxLength: 2 + minLength: 2 + pattern: ^[a-z]*$ + type: string + - name: PostalCode + in: path + required: true + schema: + type: string + - name: CourierId + in: query + schema: + type: integer + format: int32 + responses: + '200': + description: Success + content: + text/plain: + schema: + $ref: '#/components/schemas/PostalCodeInfo' + application/json: + schema: + $ref: '#/components/schemas/PostalCodeInfo' + text/json: + schema: + $ref: '#/components/schemas/PostalCodeInfo' + /api/Location/Postalcodes/{LocalityId}: + get: + tags: + - Location + parameters: + - name: LocalityId + in: path + required: true + schema: + type: integer + format: int32 + - name: CourierId + in: query + schema: + type: integer + format: int32 + - name: filter + in: query + schema: + type: string + responses: + '200': + description: Success + content: + text/plain: + schema: + type: array + items: + $ref: '#/components/schemas/LocalityPostalCodeInfo' + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/LocalityPostalCodeInfo' + text/json: + schema: + type: array + items: + $ref: '#/components/schemas/LocalityPostalCodeInfo' + /api/Location/Postalcodes/Country/{CountryCode}: + get: + tags: + - Location + parameters: + - name: CountryCode + in: path + required: true + schema: + maxLength: 2 + minLength: 2 + pattern: ^[a-z]*$ + type: string + - name: CourierId + in: query + schema: + type: integer + format: int32 + responses: + '200': + description: Success + content: + text/plain: + schema: + $ref: '#/components/schemas/PostalCodeStructured' + application/json: + schema: + $ref: '#/components/schemas/PostalCodeStructured' + text/json: + schema: + $ref: '#/components/schemas/PostalCodeStructured' + /api/Manifest: + post: + tags: + - Manifest + summary: Requests pickup and get manifest id + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + description: '' + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/ManifestRequest' + application/json: + schema: + $ref: '#/components/schemas/ManifestRequest' + text/json: + schema: + $ref: '#/components/schemas/ManifestRequest' + application/*+json: + schema: + $ref: '#/components/schemas/ManifestRequest' + responses: + '200': + description: Returns ManifestId + '400': + description: Unable to process due to validation errors + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + get: + tags: + - Manifest + summary: Requests manifest report by id + parameters: + - name: manifestId + in: query + description: '' + schema: + type: integer + format: int64 + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + responses: + '200': + description: Returns PDF + '400': + description: Unable to process due to validation errors + content: + application/pdf: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + /api/Notifications/sendsms: + post: + tags: + - Notifications + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/SendSmsRequest' + application/json: + schema: + $ref: '#/components/schemas/SendSmsRequest' + text/json: + schema: + $ref: '#/components/schemas/SendSmsRequest' + application/*+json: + schema: + $ref: '#/components/schemas/SendSmsRequest' + responses: + '200': + description: Success + /api/OfflineOrder/Activate: + put: + tags: + - OfflineOrder + summary: Activate Offline Orders + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + description: '' + content: + application/json-patch+json: + schema: + type: array + items: + $ref: '#/components/schemas/ActivateOrderApiRequest' + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ActivateOrderApiRequest' + text/json: + schema: + type: array + items: + $ref: '#/components/schemas/ActivateOrderApiRequest' + application/*+json: + schema: + type: array + items: + $ref: '#/components/schemas/ActivateOrderApiRequest' + responses: + '200': + description: Activated successfully + '400': + description: Unable to process due to validation errors + '401': + description: Unable to authorize request + /api/OfflineOrder/Edit: + put: + tags: + - OfflineOrder + summary: Edit Offline Orders + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + description: '' + content: + application/json-patch+json: + schema: + type: array + items: + $ref: '#/components/schemas/EditOrderApiRequest' + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/EditOrderApiRequest' + text/json: + schema: + type: array + items: + $ref: '#/components/schemas/EditOrderApiRequest' + application/*+json: + schema: + type: array + items: + $ref: '#/components/schemas/EditOrderApiRequest' + responses: + '200': + description: Activated successfully + '400': + description: Unable to process due to validation errors + '401': + description: Unable to authorize request + /api/OfflineOrder/Add: + post: + tags: + - OfflineOrder + summary: Add Offline Orders + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + description: '' + content: + application/json-patch+json: + schema: + type: array + items: + $ref: '#/components/schemas/OfflineOrderAddRequest' + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/OfflineOrderAddRequest' + text/json: + schema: + type: array + items: + $ref: '#/components/schemas/OfflineOrderAddRequest' + application/*+json: + schema: + type: array + items: + $ref: '#/components/schemas/OfflineOrderAddRequest' + responses: + '200': + description: Added successfully + '400': + description: Unable to process due to validation errors + '401': + description: Unable to authorize request + /api/Order: + post: + tags: + - Order + summary: Creates a new order + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + description: '' + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/OrderRequest' + example: + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3785363+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + application/json: + schema: + $ref: '#/components/schemas/OrderRequest' + example: + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3785363+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + text/json: + schema: + $ref: '#/components/schemas/OrderRequest' + example: + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3785363+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + application/*+json: + schema: + $ref: '#/components/schemas/OrderRequest' + example: + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3785363+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + responses: + '201': + description: Creates an new order in the system + content: + application/json: + schema: + $ref: '#/components/schemas/OrderResponse' + example: + clientOrderId: 662 + courierShipmentId: '877551879' + courierShipmentVoucher: null + courier: 1 + courierParcelsBarcodes: null + price: + amount: 13.36 + vat: 2.54 + totalAmount: 15.9 + currency: RON + priceComponents: null + calculatedDeliveryDate: '2019-10-03T00:00:00Z' + trackPageUrl: null + courierTrackPageUrl: null + courierResponse: null + extra: null + address: null + '400': + description: Unable to create the order due to validation error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /api/Order/simulate: + post: + tags: + - Order + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/OrderRequest' + example: + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3809049+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + application/json: + schema: + $ref: '#/components/schemas/OrderRequest' + example: + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3809049+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + text/json: + schema: + $ref: '#/components/schemas/OrderRequest' + example: + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3809049+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + application/*+json: + schema: + $ref: '#/components/schemas/OrderRequest' + example: + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3809049+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/OrderResponse' + example: + clientOrderId: 662 + courierShipmentId: '877551879' + courierShipmentVoucher: null + courier: 1 + courierParcelsBarcodes: null + price: + amount: 13.36 + vat: 2.54 + totalAmount: 15.9 + currency: RON + priceComponents: null + calculatedDeliveryDate: '2019-10-03T00:00:00Z' + trackPageUrl: null + courierTrackPageUrl: null + courierResponse: null + extra: null + address: null + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /api/Order/validate: + post: + tags: + - Order + summary: Validates a new order request + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + description: '' + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/OrderRequest' + example: + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3824063+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + application/json: + schema: + $ref: '#/components/schemas/OrderRequest' + example: + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3824063+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + text/json: + schema: + $ref: '#/components/schemas/OrderRequest' + example: + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3824063+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + application/*+json: + schema: + $ref: '#/components/schemas/OrderRequest' + example: + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3824063+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/OrderResponse' + example: + clientOrderId: 662 + courierShipmentId: '877551879' + courierShipmentVoucher: null + courier: 1 + courierParcelsBarcodes: null + price: + amount: 13.36 + vat: 2.54 + totalAmount: 15.9 + currency: RON + priceComponents: null + calculatedDeliveryDate: '2019-10-03T00:00:00Z' + trackPageUrl: null + courierTrackPageUrl: null + courierResponse: null + extra: null + address: null + '201': + description: Creates an new order in the system + '400': + description: Unable to create the order due to validation error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /api/Order/multiple/simulate: + post: + tags: + - Order + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: '#/components/schemas/OrderRequest' + example: + - serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3895363+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + - serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3895452+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/OrderRequest' + example: + - serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3895363+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + - serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3895452+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + text/json: + schema: + type: array + items: + $ref: '#/components/schemas/OrderRequest' + example: + - serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3895363+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + - serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3895452+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + application/*+json: + schema: + type: array + items: + $ref: '#/components/schemas/OrderRequest' + example: + - serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3895363+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + - serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3895452+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + responses: + '201': + description: Created + content: + application/json: + schema: + type: object + additionalProperties: + $ref: '#/components/schemas/OrderResponseResponseWithErrors' + example: + '1': + response: + clientOrderId: 662 + courierShipmentId: '877551879' + courierShipmentVoucher: null + courier: 1 + courierParcelsBarcodes: null + price: + amount: 13.36 + vat: 2.54 + totalAmount: 15.9 + currency: RON + priceComponents: null + calculatedDeliveryDate: '2019-10-03T00:00:00Z' + trackPageUrl: null + courierTrackPageUrl: null + courierResponse: null + extra: null + address: null + errors: null + correlationId: null + '2': + response: + clientOrderId: 662 + courierShipmentId: '877551879' + courierShipmentVoucher: null + courier: 1 + courierParcelsBarcodes: null + price: + amount: 13.36 + vat: 2.54 + totalAmount: 15.9 + currency: RON + priceComponents: null + calculatedDeliveryDate: '2019-10-03T00:00:00Z' + trackPageUrl: null + courierTrackPageUrl: null + courierResponse: null + extra: null + address: null + errors: null + correlationId: null + '400': + description: Bad Request + content: + application/json: + schema: + type: object + additionalProperties: + $ref: '#/components/schemas/OrderResponseResponseWithErrors' + example: + '1': + response: + clientOrderId: 662 + courierShipmentId: '877551879' + courierShipmentVoucher: null + courier: 1 + courierParcelsBarcodes: null + price: + amount: 13.36 + vat: 2.54 + totalAmount: 15.9 + currency: RON + priceComponents: null + calculatedDeliveryDate: '2019-10-03T00:00:00Z' + trackPageUrl: null + courierTrackPageUrl: null + courierResponse: null + extra: null + address: null + errors: null + correlationId: null + '2': + response: + clientOrderId: 662 + courierShipmentId: '877551879' + courierShipmentVoucher: null + courier: 1 + courierParcelsBarcodes: null + price: + amount: 13.36 + vat: 2.54 + totalAmount: 15.9 + currency: RON + priceComponents: null + calculatedDeliveryDate: '2019-10-03T00:00:00Z' + trackPageUrl: null + courierTrackPageUrl: null + courierResponse: null + extra: null + address: null + errors: null + correlationId: null + '401': + description: Unauthorized + content: + application/json: + schema: + type: object + additionalProperties: + $ref: '#/components/schemas/OrderResponseResponseWithErrors' + example: + '1': + response: + clientOrderId: 662 + courierShipmentId: '877551879' + courierShipmentVoucher: null + courier: 1 + courierParcelsBarcodes: null + price: + amount: 13.36 + vat: 2.54 + totalAmount: 15.9 + currency: RON + priceComponents: null + calculatedDeliveryDate: '2019-10-03T00:00:00Z' + trackPageUrl: null + courierTrackPageUrl: null + courierResponse: null + extra: null + address: null + errors: null + correlationId: null + '2': + response: + clientOrderId: 662 + courierShipmentId: '877551879' + courierShipmentVoucher: null + courier: 1 + courierParcelsBarcodes: null + price: + amount: 13.36 + vat: 2.54 + totalAmount: 15.9 + currency: RON + priceComponents: null + calculatedDeliveryDate: '2019-10-03T00:00:00Z' + trackPageUrl: null + courierTrackPageUrl: null + courierResponse: null + extra: null + address: null + errors: null + correlationId: null + /api/Order/file: + post: + tags: + - Order + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + responses: + '201': + description: Created + content: + application/json: + schema: + type: object + additionalProperties: + $ref: '#/components/schemas/OrderResponseResponseWithErrors' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /api/Order/{courierId}/awb/{awbNo}: + delete: + tags: + - Order + summary: Deletes an existing order + parameters: + - name: courierId + in: path + description: Courier id + required: true + schema: + type: integer + format: int32 + - name: awbNo + in: path + description: AWB number + required: true + schema: + type: string + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + responses: + '201': + description: Deletes an existing order from the system + content: + application/json: + schema: + $ref: '#/components/schemas/OrderResponse' + example: + clientOrderId: 662 + courierShipmentId: '877551879' + courierShipmentVoucher: null + courier: 1 + courierParcelsBarcodes: null + price: + amount: 13.36 + vat: 2.54 + totalAmount: 15.9 + currency: RON + priceComponents: null + calculatedDeliveryDate: '2019-10-03T00:00:00Z' + trackPageUrl: null + courierTrackPageUrl: null + courierResponse: null + extra: null + address: null + '400': + description: Unable to delete the order due to validation error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /api/Order/UpdateStatus: + post: + tags: + - Order + summary: Updates orders statuses + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + description: '' + content: + application/json-patch+json: + schema: + type: array + items: + $ref: '#/components/schemas/UpdateStatusRequest' + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UpdateStatusRequest' + text/json: + schema: + type: array + items: + $ref: '#/components/schemas/UpdateStatusRequest' + application/*+json: + schema: + type: array + items: + $ref: '#/components/schemas/UpdateStatusRequest' + responses: + '200': + description: Request was processed successfully + '400': + description: Unable to process due to validation errors + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /api/Order/UpdateParcels: + post: + tags: + - Order + summary: Create a new order based on the existing one and cancel the original + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + description: '' + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/UpdateParcelsRequest' + application/json: + schema: + $ref: '#/components/schemas/UpdateParcelsRequest' + text/json: + schema: + $ref: '#/components/schemas/UpdateParcelsRequest' + application/*+json: + schema: + $ref: '#/components/schemas/UpdateParcelsRequest' + responses: + '200': + description: Creates an new order in the system + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/OrderResponse' + example: + clientOrderId: 662 + courierShipmentId: '877551879' + courierShipmentVoucher: null + courier: 1 + courierParcelsBarcodes: null + price: + amount: 13.36 + vat: 2.54 + totalAmount: 15.9 + currency: RON + priceComponents: null + calculatedDeliveryDate: '2019-10-03T00:00:00Z' + trackPageUrl: null + courierTrackPageUrl: null + courierResponse: null + extra: null + address: null + '400': + description: Unable to create the order due to validation error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /api/Order/UpdateCustomAttributes/{courierId}/awb/{awb}: + post: + tags: + - Order + summary: Updates custom attributes + parameters: + - name: courierId + in: path + description: Courier id + required: true + schema: + type: integer + format: int32 + - name: awb + in: path + description: AWB number + required: true + schema: + type: string + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + description: '' + content: + application/json-patch+json: + schema: + type: object + additionalProperties: + type: string + application/json: + schema: + type: object + additionalProperties: + type: string + text/json: + schema: + type: object + additionalProperties: + type: string + application/*+json: + schema: + type: object + additionalProperties: + type: string + responses: + '200': + description: Request was processed successfully + '400': + description: Unable to process due to validation errors + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /api/Order/by-location/{externalLocationId}/{from}/{to}: + get: + tags: + - Order + summary: Retrieve orders by externalLocationId with dates filter + parameters: + - name: externalLocationId + in: path + description: External Location Id + required: true + schema: + type: string + - name: from + in: path + description: From date + required: true + schema: + type: string + format: date-time + - name: to + in: path + description: To date + required: true + schema: + type: string + format: date-time + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + responses: + '200': + description: Request was processed successfully + '400': + description: Unable to process due to validation errors + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /api/Order/ReturnAwbInfo/{courierId}/{returnAwb}: + get: + tags: + - Order + parameters: + - name: courierId + in: path + required: true + schema: + type: integer + format: int32 + - name: returnAwb + in: path + required: true + schema: + type: string + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + responses: + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /api/Order/UploadDocuments: + post: + tags: + - Order + summary: UploadDocuments + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/UploadDocumentsApiRequest' + application/json: + schema: + $ref: '#/components/schemas/UploadDocumentsApiRequest' + text/json: + schema: + $ref: '#/components/schemas/UploadDocumentsApiRequest' + application/*+json: + schema: + $ref: '#/components/schemas/UploadDocumentsApiRequest' + responses: + '200': + description: Document uploaded + content: + application/json: + schema: + $ref: '#/components/schemas/UploadDocumentsApiResponse' + '400': + description: Unable to upload documents + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /api/Price: + post: + tags: + - Price + summary: Gets the prices for the specified request + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + description: '' + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/OrderRequest' + example: + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.4002507+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + application/json: + schema: + $ref: '#/components/schemas/OrderRequest' + example: + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.4002507+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + text/json: + schema: + $ref: '#/components/schemas/OrderRequest' + example: + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.4002507+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + application/*+json: + schema: + $ref: '#/components/schemas/OrderRequest' + example: + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.4002507+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + responses: + '201': + description: List of prices for eligible couriers + content: + application/json: + schema: + $ref: '#/components/schemas/PriceResponse' + '400': + description: Unable to get prices due to validation error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /api/Track/by-awb/with-return: + post: + tags: + - Track + summary: Track by Order Courier AWB with return info + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/TrackRequest' + application/json: + schema: + $ref: '#/components/schemas/TrackRequest' + text/json: + schema: + $ref: '#/components/schemas/TrackRequest' + application/*+json: + schema: + $ref: '#/components/schemas/TrackRequest' + responses: + '200': + description: Success + content: + text/plain: + schema: + type: array + items: + $ref: '#/components/schemas/TrackResponseWithReturnInfo' + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TrackResponseWithReturnInfo' + text/json: + schema: + type: array + items: + $ref: '#/components/schemas/TrackResponseWithReturnInfo' + '400': + description: Bad Request + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /api/Track/return/by-awb: + post: + tags: + - Track + summary: Track Retrun by Courier AWB + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/TrackRequest' + application/json: + schema: + $ref: '#/components/schemas/TrackRequest' + text/json: + schema: + $ref: '#/components/schemas/TrackRequest' + application/*+json: + schema: + $ref: '#/components/schemas/TrackRequest' + responses: + '200': + description: Success + content: + text/plain: + schema: + type: array + items: + $ref: '#/components/schemas/TrackResponseWithReturnInfo' + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TrackResponseWithReturnInfo' + text/json: + schema: + type: array + items: + $ref: '#/components/schemas/TrackResponseWithReturnInfo' + '400': + description: Bad Request + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /api/Voucher/Create: + post: + tags: + - Voucher + summary: Create Voucher + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + description: '' + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/CreateVoucherApiRequest' + application/json: + schema: + $ref: '#/components/schemas/CreateVoucherApiRequest' + text/json: + schema: + $ref: '#/components/schemas/CreateVoucherApiRequest' + application/*+json: + schema: + $ref: '#/components/schemas/CreateVoucherApiRequest' + responses: + '200': + description: Activated successfully + '400': + description: Unable to process due to validation errors + '401': + description: Unable to authorize request + /api/Voucher/Activate: + post: + tags: + - Voucher + summary: Activate Voucher + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + description: '' + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/ActivateVoucherApiRequest' + application/json: + schema: + $ref: '#/components/schemas/ActivateVoucherApiRequest' + text/json: + schema: + $ref: '#/components/schemas/ActivateVoucherApiRequest' + application/*+json: + schema: + $ref: '#/components/schemas/ActivateVoucherApiRequest' + responses: + '200': + description: Activated successfully + '400': + description: Unable to process due to validation errors + '401': + description: Unable to authorize request +components: + schemas: + ActivateAddress: + type: object + properties: + name: + type: string + nullable: true + contactPerson: + type: string + nullable: true + country: + type: string + nullable: true + countryName: + type: string + nullable: true + countyId: + type: integer + format: int32 + nullable: true + localityId: + type: integer + format: int32 + nullable: true + countryId: + type: integer + format: int32 + nullable: true + countyName: + type: string + nullable: true + localityName: + type: string + nullable: true + addressText: + type: string + nullable: true + postalCode: + type: string + nullable: true + phone: + type: string + nullable: true + email: + type: string + nullable: true + fixedLocationId: + type: string + nullable: true + fixedLocationName: + type: string + nullable: true + courierFixedLocationId: + type: string + nullable: true + additionalProperties: false + ActivateOrderApiRequest: + type: object + properties: + courier: + $ref: '#/components/schemas/Courier' + courierShipmentId: + type: string + nullable: true + shipmentDate: + type: string + format: date-time + nullable: true + shipmentDateEnd: + type: string + format: date-time + nullable: true + parcels: + type: array + items: + $ref: '#/components/schemas/ActivateOrderParcel' + nullable: true + addressFrom: + $ref: '#/components/schemas/ActivateAddress' + addressTo: + $ref: '#/components/schemas/ActivateAddress' + additionalProperties: false + ActivateOrderParcel: + type: object + properties: + sequenceNo: + type: integer + format: int32 + size: + $ref: '#/components/schemas/ActivateOrderParcelSize' + weight: + type: number + format: double + additionalProperties: false + ActivateOrderParcelSize: + type: object + properties: + width: + type: number + format: double + height: + type: number + format: double + length: + type: number + format: double + additionalProperties: false + ActivateVoucherApiRequest: + type: object + properties: + courier: + $ref: '#/components/schemas/Courier' + courierShipmentId: + type: string + nullable: true + courierShipmentVoucher: + type: string + nullable: true + additionalProperties: false + AllCouriersResponse: + type: object + properties: + courierId: + type: integer + format: int32 + courier: + type: string + nullable: true + courierDisplayName: + type: string + nullable: true + additionalProperties: false + BulkLabelApiRequest: + type: object + properties: + labelType: + $ref: '#/components/schemas/LabelType' + labelFormat: + $ref: '#/components/schemas/LabelFormat' + useFile: + type: boolean + includeVoucher: + type: boolean + awBs: + type: array + items: + $ref: '#/components/schemas/BulkLabelApiRequestItem' + nullable: true + additionalProperties: false + BulkLabelApiRequestItem: + type: object + properties: + courierId: + $ref: '#/components/schemas/Courier' + typeId: + type: integer + format: int32 + courierShipmentId: + type: string + nullable: true + additionalProperties: false + ClientPreferences: + type: object + properties: + preferredLabel: + $ref: '#/components/schemas/LabelFormat' + preferredLocationId: + type: integer + format: int32 + nullable: true + orderColumns: + type: array + items: + type: string + nullable: true + pickupColumns: + type: array + items: + type: string + nullable: true + returnColumns: + type: array + items: + type: string + nullable: true + additionalProperties: false + Courier: + enum: + - Cargus + - DPD + - FanCourier + - GLS + - Nemo + - Sameday + - ExpressOne + - ECont + - TeamCourier + - DHL + - PostaRomana + - PostaPanduri + - GLS_HU + - DragonStar + - Coletaria + - Bookurier + - Asendia + - TNT + - DPD_BG + - GLS_HR + - GLS_CZ + - GLS_SI + - GLS_SK + - InOut + - StackCurier + - GebruderWeiss + - Pallex + - GT + - CourierManager + - GLS_IT + - ECourier + - Unimasters + - TCE + - TransilvaniaPost + - BGPost + - Evropat + - SMPCourier + - DHL_DE + - Raben + - Memex + - PTTExpress + - XDCourier + - IL + - NovaPosta + - PinkPost + - Strongo + - DHL_Paket + - DHL_Parcel + - BeeFast + - InPost + - KLG + - Schenker + - Packageez + - Kargo + - SundayCourier + - PocztaPolska + - Sinapseria + - UPS + - DPD_HR + - DPD_SI + - NovaPoshtaGlobal + - ALD + - ProNatur + - DPD_HU + - GLS_PL + - Futar24h + - SlovakParcelService + - DPD_DE + - VanOnGo + - CeskaPosta + - DPD_SK + - SolAir + - PostaSlovenije + - DPD_PL + - Agil24 + - OrlenPackza + - Speedex + - FedEx + - DPD_UK + - PPL + - EColet + - ACS + - Helpship + - DPD_CZ + - MagyarPosta + - EVRI + - FedEx_PL + - KuehneNagel + - Sameday_BG + - Sameday_HU + - FanDelivery + - Seur + - Correos + - Couriera + - ChopChop + - InPost_ES + - FanCourierMoldova + - GLS_DE + - Kurier123 + - Dachser + - CTT_PT + - DPD_AT + - PostNord + - Pharmalink + - MRW + - Eurolog + - IDLogistics + - GLS_DK + - RoyalMail + - FanInternational + - Go4 + - InPost_IT + - AmazonShipping_IT + - TNT_IT + - Posta_SK + - Posta_AT + - GLS_ES + - LithuanianPost + - DHL_Parcel_DE + - DPD_LT + - ExpressOne_BG + - FoxPost + - Posta_NL + - InnoshipMocked + type: string + CourierServiceRestrictionsDto: + type: object + properties: + piecesCountMin: + type: integer + format: int32 + nullable: true + piecesCountMax: + type: integer + format: int32 + nullable: true + weightMin: + type: integer + format: int32 + nullable: true + weightMax: + type: integer + format: int32 + nullable: true + parcelWeightMin: + type: integer + format: int32 + nullable: true + parcelWeightMax: + type: integer + format: int32 + nullable: true + widthMin: + type: integer + format: int32 + nullable: true + widthMax: + type: integer + format: int32 + nullable: true + heightMin: + type: integer + format: int32 + nullable: true + heightMax: + type: integer + format: int32 + nullable: true + lengthMin: + type: integer + format: int32 + nullable: true + lengthMax: + type: integer + format: int32 + nullable: true + orderCountMax: + type: integer + format: int32 + nullable: true + orderPiecesCountMax: + type: integer + format: int32 + nullable: true + orderLocationCountMax: + type: array + items: + $ref: '#/components/schemas/RestrictionCountryCountyDto' + nullable: true + orderLocationPiecesCountMax: + type: array + items: + $ref: '#/components/schemas/RestrictionCountryCountyDto' + nullable: true + allowsCOD: + type: boolean + nullable: true + allowsBankCOD: + type: boolean + nullable: true + allowsNoSizeForParcels: + type: boolean + nullable: true + allowsPickUp: + type: boolean + nullable: true + allowsOrder: + type: boolean + nullable: true + allowsEmptyPostalCode: + type: boolean + nullable: true + allowsReturnDocument: + type: boolean + nullable: true + allowsReturnPackage: + type: boolean + nullable: true + allowsOversized: + type: boolean + nullable: true + allowsInsurance: + type: boolean + nullable: true + allowsSaturdayDelivery: + type: boolean + nullable: true + allowsOpenPackage: + type: boolean + nullable: true + courierCutOffTime: + type: string + format: date-span + nullable: true + additionalProperties: false + CreateLocationCourierServicesDto: + type: object + properties: + courierId: + type: integer + format: int32 + isEmagMarketPlace: + type: boolean + additionalProperties: false + CreateVoucherApiRequest: + type: object + properties: + courier: + $ref: '#/components/schemas/Courier' + courierShipmentId: + type: string + nullable: true + voucherCourier: + $ref: '#/components/schemas/Courier' + insuranceAmount: + type: number + format: double + insuranceCurrency: + type: string + nullable: true + additionalProperties: false + EditOrderApiRequest: + type: object + properties: + offlineStatusId: + $ref: '#/components/schemas/OrderOfflineStatus' + courier: + $ref: '#/components/schemas/Courier' + courierShipmentId: + type: string + nullable: true + shipmentDate: + type: string + format: date-time + nullable: true + shipmentDateEnd: + type: string + format: date-time + nullable: true + parcels: + type: array + items: + $ref: '#/components/schemas/ActivateOrderParcel' + nullable: true + addressFrom: + $ref: '#/components/schemas/ActivateAddress' + addressTo: + $ref: '#/components/schemas/ActivateAddress' + additionalProperties: false + Error: + type: object + properties: + context: + type: string + nullable: true + message: + type: string + nullable: true + details: + type: array + items: + $ref: '#/components/schemas/Error' + nullable: true + additionalProperties: false + ErrorResponse: + type: object + properties: + errors: + type: array + items: + $ref: '#/components/schemas/ErrorResponseItem' + nullable: true + correlationId: + type: string + nullable: true + additionalProperties: false + ErrorResponseItem: + type: object + properties: + message: + type: string + nullable: true + details: + type: array + items: + type: string + nullable: true + additionalProperties: false + FixedLocationType: + enum: + - Locker + - PickupPoint + type: string + LabelFormat: + enum: + - A4 + - A6 + - T_85x85 + - A6_300dpi + - A4_4xA6 + - A6_10x9 + type: string + LabelResponse: + type: object + properties: + courier: + type: integer + format: int32 + contents: + type: string + nullable: true + labels: + type: array + items: + type: string + nullable: true + additionalProperties: false + LabelType: + enum: + - Pdf + - Html + - Zpl + type: string + LimitedAddress: + type: object + properties: + country: + type: string + nullable: true + countyName: + type: string + nullable: true + localityName: + type: string + nullable: true + postalCode: + type: string + nullable: true + additionalProperties: false + LocalityPostalCodeInfo: + type: object + properties: + localityId: + type: integer + format: int32 + postalCode: + type: string + nullable: true + streetName: + type: string + nullable: true + streetNameLocalized: + type: string + nullable: true + neighbourhoodName: + type: string + nullable: true + neighbourhoodNameLocalized: + type: string + nullable: true + streetPrefix: + type: string + nullable: true + streetPrefixLocalized: + type: string + nullable: true + additionalProperties: false + LocationAddressDto: + type: object + properties: + name: + type: string + nullable: true + contactPerson: + type: string + nullable: true + phone: + type: string + nullable: true + email: + type: string + nullable: true + localityId: + type: integer + format: int32 + localityName: + type: string + nullable: true + addressText: + type: string + nullable: true + postalCode: + type: string + nullable: true + countyId: + type: integer + format: int32 + countyName: + type: string + nullable: true + countryCode: + type: string + nullable: true + countryName: + type: string + nullable: true + ignoreLocalityId: + type: boolean + latitude: + type: number + format: double + nullable: true + longitude: + type: number + format: double + nullable: true + additionalProperties: false + LocationCourierServiceDto: + type: object + properties: + courierId: + type: integer + format: int32 + courier: + type: string + nullable: true + courierDisplayName: + type: string + nullable: true + serviceId: + type: integer + format: int32 + service: + type: string + nullable: true + serviceGroupId: + type: integer + format: int32 + serviceGroupName: + type: string + nullable: true + hasValidationError: + type: boolean + nullable: true + courierServiceRestrictions: + $ref: '#/components/schemas/CourierServiceRestrictionsDto' + useCourierPrices: + type: boolean + nullable: true + mappingTemplateOptionId: + type: string + nullable: true + voucherTemplateOptionId: + type: string + nullable: true + extraServices: + type: object + additionalProperties: + type: boolean + nullable: true + nullable: true + mappingReferences: + type: object + additionalProperties: + type: integer + format: int32 + nullable: true + nullable: true + countryDeliveryDays: + type: object + additionalProperties: + type: integer + format: int32 + nullable: true + nullable: true + enabled: + type: boolean + nullable: true + localityKm: + type: integer + format: int32 + nullable: true + priceLocalityId: + type: integer + format: int32 + nullable: true + additionalProperties: false + LocationDto: + type: object + properties: + address: + $ref: '#/components/schemas/LocationAddressDto' + courierCutOffTimes: + type: string + nullable: true + courierAutomaticCallTimes: + type: string + nullable: true + useSameCourierForSameAddress: + type: boolean + courierFailPolicy: + type: integer + format: int32 + timeZoneId: + type: string + nullable: true + priceGroupId: + type: integer + format: int32 + nullable: true + notificationEmail: + type: string + nullable: true + notificationPhone: + type: string + nullable: true + courierVoucherService: + type: object + additionalProperties: + type: integer + format: int32 + nullable: true + nullable: true + marketPlaceCallBackSettings: + type: object + additionalProperties: + type: object + additionalProperties: + type: string + nullable: true + nullable: true + importIsActive: + type: boolean + nullable: true + setHandoverOnManifest: + type: boolean + nullable: true + courierServices: + type: array + items: + $ref: '#/components/schemas/LocationCourierServiceDto' + nullable: true + id: + type: integer + format: int32 + name: + type: string + nullable: true + externalLocationId: + type: string + nullable: true + additionalProperties: false + LocationFilter: + type: object + properties: + name: + type: array + items: + type: string + nullable: true + countryId: + type: array + items: + type: integer + format: int32 + nullable: true + countyId: + type: array + items: + type: integer + format: int32 + nullable: true + localityId: + type: array + items: + type: integer + format: int32 + nullable: true + addressText: + type: string + nullable: true + courierId: + type: array + items: + type: integer + format: int32 + nullable: true + ids: + type: array + items: + type: integer + format: int32 + nullable: true + createdAtLe: + type: string + format: date-time + nullable: true + createdAtGe: + type: string + format: date-time + nullable: true + userId: + type: array + items: + type: string + format: uuid + nullable: true + skip: + type: integer + format: int32 + nullable: true + take: + type: integer + format: int32 + nullable: true + orderBy: + type: string + nullable: true + orderByAsc: + type: boolean + additionalProperties: false + ManifestRequest: + type: object + properties: + courierId: + $ref: '#/components/schemas/Courier' + externalLocationId: + type: string + nullable: true + lastPickHour: + type: integer + format: int32 + nullable: true + additionalProperties: false + MarketplaceIntegration: + enum: + - Vivre + type: string + OfflineOrderAddParcel: + type: object + properties: + sequenceNo: + type: integer + format: int32 + size: + $ref: '#/components/schemas/OfflineOrderAddParcelSize' + weight: + type: number + format: double + type: + $ref: '#/components/schemas/ParcelType' + reference1: + type: string + nullable: true + reference2: + type: string + nullable: true + reference3: + type: string + nullable: true + customerBarcode: + type: string + nullable: true + additionalProperties: false + OfflineOrderAddParcelSize: + type: object + properties: + width: + type: number + format: double + height: + type: number + format: double + length: + type: number + format: double + additionalProperties: false + OfflineOrderAddRequest: + type: object + properties: + courier: + $ref: '#/components/schemas/Courier' + courierShipmentId: + type: string + nullable: true + parcels: + type: array + items: + $ref: '#/components/schemas/OfflineOrderAddParcel' + nullable: true + additionalProperties: false + OrderBarcodes: + type: object + properties: + sequenceNo: + type: integer + format: int32 + barcode: + type: string + nullable: true + customerBarcode: + type: string + nullable: true + additionalProperties: false + OrderOfflineStatus: + enum: + - New + - Success + - Error + - InProgress + - Consolidate + type: string + OrderRequest: + type: object + properties: + serviceId: + type: integer + format: int32 + courierId: + $ref: '#/components/schemas/Courier' + shipmentDate: + type: string + format: date-time + shipmentDateEnd: + type: string + format: date-time + addressFrom: + $ref: '#/components/schemas/OrderRequestAddress' + addressTo: + $ref: '#/components/schemas/OrderRequestAddress' + addressReturn: + $ref: '#/components/schemas/OrderRequestAddress' + payment: + $ref: '#/components/schemas/PaymentType' + content: + $ref: '#/components/schemas/OrderRequestContent' + extra: + $ref: '#/components/schemas/OrderRequestExtra' + parameters: + $ref: '#/components/schemas/OrderRequestParameters' + externalClientLocation: + type: string + nullable: true + externalOrderId: + type: string + nullable: true + metadata: + type: string + nullable: true + sourceChannel: + type: string + nullable: true + observation: + type: string + nullable: true + customAttributes: + type: object + additionalProperties: + type: string + nullable: true + nullable: true + clientSettings: + $ref: '#/components/schemas/OrderRequestClientSettings' + additionalProperties: false + OrderRequestAddress: + type: object + properties: + name: + type: string + nullable: true + contactPerson: + type: string + nullable: true + country: + type: string + nullable: true + countryName: + type: string + nullable: true + countyId: + type: integer + format: int32 + nullable: true + localityId: + type: integer + format: int32 + nullable: true + countryId: + type: integer + format: int32 + nullable: true + countyName: + type: string + nullable: true + localityName: + type: string + nullable: true + addressText: + type: string + nullable: true + streetType: + type: string + nullable: true + streetName: + type: string + nullable: true + streetNumber: + type: string + nullable: true + postalCode: + type: string + nullable: true + phone: + type: string + nullable: true + email: + type: string + nullable: true + fixedLocationId: + type: string + nullable: true + fixedLocationName: + type: string + nullable: true + courierFixedLocationId: + type: string + nullable: true + additionalProperties: false + OrderRequestClientSettings: + type: object + properties: + trackPageDomainName: + type: string + nullable: true + priceWeight: + type: number + format: double + nullable: true + performanceWeight: + type: number + format: double + nullable: true + performanceMaximumPriceDeviation: + type: number + format: double + nullable: true + performanceMaximumFlatPriceDeviation: + type: number + format: double + nullable: true + performancePreferredMinimumPriceThreshold: + type: number + format: double + nullable: true + clientPreferences: + $ref: '#/components/schemas/ClientPreferences' + senderLocationTimeZoneId: + type: string + nullable: true + doNoSaveGDPRData: + type: boolean + nullable: true + openPackageIsOptional: + type: boolean + nullable: true + saturdayDeliveryIsOptional: + type: boolean + nullable: true + uniqueOrderReferenceId: + type: integer + format: int32 + nullable: true + useInnoshipInsurance: + type: boolean + nullable: true + performanceClientRates: + type: object + additionalProperties: + type: number + format: double + nullable: true + additionalProperties: false + OrderRequestContent: + type: object + properties: + envelopeCount: + type: integer + format: int32 + parcelsCount: + type: integer + format: int32 + palettesCount: + type: integer + format: int32 + totalWeight: + type: number + format: double + contents: + type: string + nullable: true + package: + type: string + nullable: true + oversizedPackage: + type: boolean + parcels: + type: array + items: + $ref: '#/components/schemas/OrderRequestContentParcel' + nullable: true + invoiceNumber: + type: string + nullable: true + invoiceDate: + type: string + format: date-time + nullable: true + invoiceValue: + type: number + format: double + nullable: true + invoiceValueCurrency: + type: string + nullable: true + articles: + type: array + items: + $ref: '#/components/schemas/OrderRequestContentArticle' + nullable: true + additionalProperties: false + OrderRequestContentArticle: + type: object + properties: + quantity: + type: integer + format: int32 + description: + type: string + nullable: true + countryOfOrigin: + type: string + nullable: true + tariff: + type: string + nullable: true + weightNet: + type: number + format: double + weightGross: + type: number + format: double + pricePerPieceAmount: + type: number + format: double + pricePerPieceAmountCurrency: + type: string + nullable: true + sku: + type: string + nullable: true + additionalProperties: false + OrderRequestContentParcel: + type: object + properties: + sequenceNo: + type: integer + format: int32 + size: + $ref: '#/components/schemas/OrderRequestContentParcelSize' + weight: + type: number + format: double + type: + $ref: '#/components/schemas/ParcelType' + reference1: + type: string + nullable: true + reference2: + type: string + nullable: true + reference3: + type: string + nullable: true + customerBarcode: + type: string + nullable: true + dangerousGood: + $ref: '#/components/schemas/OrderRequestContentParcelDangerousGood' + additionalProperties: false + OrderRequestContentParcelDangerousGood: + type: object + properties: + productId: + type: string + nullable: true + productDescription: + type: string + nullable: true + productClass: + type: integer + format: int32 + quantityClassification: + type: string + nullable: true + packagingGroupType: + type: string + nullable: true + packagingInstructions: + type: string + nullable: true + chemicalRecordIdentifier: + type: string + nullable: true + additionalProperties: false + OrderRequestContentParcelSize: + type: object + properties: + width: + type: number + format: double + height: + type: number + format: double + length: + type: number + format: double + additionalProperties: false + OrderRequestExtra: + type: object + properties: + bankRepaymentAmount: + type: number + format: double + nullable: true + bankRepaymentCurrency: + type: string + nullable: true + cashOnDeliveryAmount: + type: number + format: double + nullable: true + cashOnDeliveryAmountCurrency: + type: string + nullable: true + cashOnDeliveryPayoutToLocation: + type: boolean + nullable: true + declaredValueAmount: + type: number + format: double + nullable: true + declaredValueAmountCurrency: + type: string + nullable: true + openPackage: + type: boolean + nullable: true + saturdayDelivery: + type: boolean + nullable: true + insuranceAmount: + type: number + format: double + nullable: true + insuranceAmountCurrency: + type: string + nullable: true + reference1: + type: string + nullable: true + reference2: + type: string + nullable: true + reference3: + type: string + nullable: true + reference4: + type: string + nullable: true + returnOfDocuments: + type: boolean + nullable: true + returnOfDocumentsComment: + type: string + nullable: true + returnPackage: + type: boolean + nullable: true + returnVoucher: + type: boolean + nullable: true + bank: + type: string + nullable: true + bankIBAN: + type: string + nullable: true + bankAccountHolder: + type: string + nullable: true + customsDeclaration: + $ref: '#/components/schemas/OrderRequestExtraCustomsDeclaration' + marketPlace: + $ref: '#/components/schemas/MarketplaceIntegration' + uitCode: + type: string + nullable: true + additionalProperties: false + OrderRequestExtraCustomsDeclaration: + type: object + properties: + exporter: + $ref: '#/components/schemas/OrderRequestAddress' + importer: + $ref: '#/components/schemas/OrderRequestAddress' + exporterTaxId: + type: string + nullable: true + exporterEORI: + type: string + nullable: true + exporterBN: + type: string + nullable: true + importerTaxId: + type: string + nullable: true + importerEORI: + type: string + nullable: true + reason: + $ref: '#/components/schemas/PurposeOfShipment' + incoterm: + type: string + nullable: true + attachments: + type: array + items: + $ref: '#/components/schemas/OrderRequestExtraCustomsDeclarationAttachment' + nullable: true + additionalProperties: false + OrderRequestExtraCustomsDeclarationAttachment: + type: object + properties: + name: + type: string + nullable: true + content: + type: string + nullable: true + additionalProperties: false + OrderRequestParameters: + type: object + properties: + async: + type: boolean + getParcelsBarcodes: + type: boolean + includeCourierResponse: + type: boolean + includePriceBreakdown: + type: boolean + includeAddressInResponse: + type: boolean + consolidateOrder: + type: boolean + overwriteLocationAddressWithSenderDetails: + type: boolean + additionalProperties: false + OrderResponse: + type: object + properties: + clientOrderId: + type: integer + format: int32 + nullable: true + courierShipmentId: + type: string + nullable: true + courierShipmentVoucher: + type: string + nullable: true + courier: + type: integer + format: int32 + courierParcelsBarcodes: + type: array + items: + $ref: '#/components/schemas/OrderBarcodes' + nullable: true + price: + $ref: '#/components/schemas/OrderResponsePrice' + calculatedDeliveryDate: + type: string + format: date-time + nullable: true + trackPageUrl: + type: string + nullable: true + courierTrackPageUrl: + type: string + nullable: true + courierResponse: + type: object + additionalProperties: {} + nullable: true + extra: + $ref: '#/components/schemas/OrderRequestExtra' + address: + $ref: '#/components/schemas/OrderResponseAddress' + additionalProperties: false + OrderResponseAddress: + type: object + properties: + from: + $ref: '#/components/schemas/LimitedAddress' + to: + $ref: '#/components/schemas/LimitedAddress' + additionalProperties: false + OrderResponsePrice: + type: object + properties: + amount: + type: number + format: double + vat: + type: number + format: double + totalAmount: + type: number + format: double + currency: + type: string + nullable: true + priceComponents: + type: object + properties: + Km: + type: number + format: double + KmFixed: + type: number + format: double + Envelopes: + type: number + format: double + ContentWeight: + type: number + format: double + Insurance: + type: number + format: double + CashOnDelivery: + type: number + format: double + BankRepayment: + type: number + format: double + FixedExtras: + type: number + format: double + Returns: + type: number + format: double + FuelSurcharge: + type: number + format: double + CourierPrice: + type: number + format: double + OpenPackage: + type: number + format: double + SaturdayDelivery: + type: number + format: double + PriceForExtraParcel: + type: number + format: double + ContentWeightZones: + type: number + format: double + ContentWeightPiecesZones: + type: number + format: double + PickupThirdParty: + type: number + format: double + InnoshipInsurance: + type: number + format: double + ReturnDocument: + type: number + format: double + ReturnPackage: + type: number + format: double + PalletType: + type: number + format: double + FuelSurchargeFlat: + type: number + format: double + ParcelsCount: + type: number + format: double + ExtraCharges: + type: number + format: double + HeaviestParcelWeight: + type: number + format: double + WeightAndLDM: + type: number + format: double + ZonePalletType: + type: number + format: double + CountryPalletType: + type: number + format: double + additionalProperties: false + nullable: true + additionalProperties: false + OrderResponseResponseWithErrors: + type: object + properties: + response: + $ref: '#/components/schemas/OrderResponse' + errors: + type: array + items: + $ref: '#/components/schemas/Error' + nullable: true + correlationId: + type: string + nullable: true + additionalProperties: false + ParcelType: + enum: + - Envelope + - Parcel + - Pallet + type: string + PaymentType: + enum: + - Sender + - Recipient + - ThirdParty + type: string + PickupRequest: + type: object + properties: + courierId: + type: integer + format: int32 + locationId: + type: integer + format: int32 + lastPickupHour: + type: integer + format: int32 + lastPickMinute: + type: integer + format: int32 + additionalProperties: false + PickupResponse: + type: object + properties: + success: + type: boolean + message: + type: string + nullable: true + additionalProperties: false + PostalCodeInfo: + type: object + properties: + countryCode: + type: string + nullable: true + countryName: + type: string + nullable: true + postalCode: + type: string + nullable: true + streets: + type: array + items: + $ref: '#/components/schemas/PostalCodeInfoStreet' + nullable: true + additionalProperties: false + PostalCodeInfoStreet: + type: object + properties: + localityId: + type: integer + format: int32 + localityName: + type: string + nullable: true + countyId: + type: integer + format: int32 + countyName: + type: string + nullable: true + countryId: + type: integer + format: int32 + countryName: + type: string + nullable: true + streetName: + type: string + nullable: true + group: + type: string + nullable: true + additionalProperties: false + PostalCodeStructured: + type: object + properties: + countryCode: + type: string + nullable: true + countryId: + type: integer + format: int32 + countryName: + type: string + nullable: true + countryNameLocalized: + type: string + nullable: true + counties: + type: array + items: + $ref: '#/components/schemas/PostalCodeStructuredCounty' + nullable: true + additionalProperties: false + PostalCodeStructuredCounty: + type: object + properties: + countyId: + type: integer + format: int32 + countyName: + type: string + nullable: true + countyNameLocalized: + type: string + nullable: true + localities: + type: array + items: + $ref: '#/components/schemas/PostalCodeStructuredLocality' + nullable: true + additionalProperties: false + PostalCodeStructuredLocality: + type: object + properties: + localityId: + type: integer + format: int32 + localityName: + type: string + nullable: true + localityNameLocalized: + type: string + nullable: true + streets: + type: array + items: + $ref: '#/components/schemas/PostalCodeStructuredStreet' + nullable: true + additionalProperties: false + PostalCodeStructuredStreet: + type: object + properties: + postalCode: + type: string + nullable: true + streetName: + type: string + nullable: true + streetNameLocalized: + type: string + nullable: true + neighbourhood: + type: string + nullable: true + neighbourhoodLocalized: + type: string + nullable: true + group: + type: string + nullable: true + streetPrefix: + type: string + nullable: true + streetPrefixLocalized: + type: string + nullable: true + additionalProperties: false + PriceRate: + type: object + properties: + carrierId: + type: integer + format: int32 + carrier: + type: string + nullable: true + rateAmount: + type: number + format: double + rateVatAmount: + type: number + format: double + rateTotalAmount: + type: number + format: double + readOnly: true + rateCurrency: + type: string + nullable: true + score: + type: number + format: double + performance: + type: number + format: double + calculatedDeliveryDate: + type: string + format: date-time + nullable: true + deliveryDays: + type: integer + format: int32 + serviceId: + type: integer + format: int32 + service: + type: string + nullable: true + priority: + type: integer + format: int32 + priceComponents: + type: object + properties: + Km: + type: number + format: double + KmFixed: + type: number + format: double + Envelopes: + type: number + format: double + ContentWeight: + type: number + format: double + Insurance: + type: number + format: double + CashOnDelivery: + type: number + format: double + BankRepayment: + type: number + format: double + FixedExtras: + type: number + format: double + Returns: + type: number + format: double + FuelSurcharge: + type: number + format: double + CourierPrice: + type: number + format: double + OpenPackage: + type: number + format: double + SaturdayDelivery: + type: number + format: double + PriceForExtraParcel: + type: number + format: double + ContentWeightZones: + type: number + format: double + ContentWeightPiecesZones: + type: number + format: double + PickupThirdParty: + type: number + format: double + InnoshipInsurance: + type: number + format: double + ReturnDocument: + type: number + format: double + ReturnPackage: + type: number + format: double + PalletType: + type: number + format: double + FuelSurchargeFlat: + type: number + format: double + ParcelsCount: + type: number + format: double + ExtraCharges: + type: number + format: double + HeaviestParcelWeight: + type: number + format: double + WeightAndLDM: + type: number + format: double + ZonePalletType: + type: number + format: double + CountryPalletType: + type: number + format: double + additionalProperties: false + nullable: true + additionalProperties: false + PriceResponse: + type: object + properties: + rates: + type: array + items: + $ref: '#/components/schemas/PriceRate' + nullable: true + correlationId: + type: string + nullable: true + additionalProperties: false + PurposeOfShipment: + enum: + - CommercialShipment + - NonCommercialShipment + type: string + RestrictionCountryCountyDto: + type: object + properties: + countryId: + type: integer + format: int32 + countyId: + type: integer + format: int32 + nullable: true + value: + type: integer + format: int32 + additionalProperties: false + SendSmsRequest: + type: object + properties: + campaignName: + type: string + nullable: true + data: + type: array + items: + $ref: '#/components/schemas/SendSmsRequestItem' + nullable: true + additionalProperties: false + SendSmsRequestItem: + type: object + properties: + phone: + type: array + items: + type: string + nullable: true + message: + type: string + nullable: true + additionalProperties: false + TrackRequest: + type: object + properties: + courier: + $ref: '#/components/schemas/Courier' + awbList: + type: array + items: + type: string + nullable: true + additionalProperties: false + TrackResponseHistory: + type: object + properties: + clientStatusId: + type: integer + format: int32 + clientStatusDescription: + type: string + nullable: true + eventDate: + type: string + format: date-time + isFinalStatus: + type: boolean + localityName: + type: string + nullable: true + additionalProperties: false + TrackResponseWithReturnInfo: + type: object + properties: + returnAwb: + type: string + nullable: true + returnAwbHistory: + type: array + items: + $ref: '#/components/schemas/TrackResponseHistory' + nullable: true + orderId: + type: integer + format: int32 + externalOrderId: + type: string + nullable: true + correlationId: + type: string + nullable: true + courier: + type: integer + format: int32 + shipmentAwb: + type: string + nullable: true + carrierMeasuredWeight: + type: number + format: double + nullable: true + recipientContactName: + type: string + nullable: true + recipientLocality: + type: string + nullable: true + recipientCountryCode: + type: string + nullable: true + trackUrl: + type: string + nullable: true + currentStatus: + type: string + nullable: true + currentStatusId: + type: integer + format: int32 + dispatchId: + type: string + nullable: true + history: + type: array + items: + $ref: '#/components/schemas/TrackResponseHistory' + nullable: true + cashOnDeliveryHistory: + type: array + items: + $ref: '#/components/schemas/TrackResponseHistory' + nullable: true + additionalProperties: false + UpdateLocationCourierServiceDto: + type: object + properties: + courierId: + type: integer + format: int32 + serviceId: + type: integer + format: int32 + courierServiceRestrictions: + $ref: '#/components/schemas/CourierServiceRestrictionsDto' + useCourierPrices: + type: boolean + nullable: true + mappingTemplateOptionId: + type: string + nullable: true + voucherTemplateOptionId: + type: string + nullable: true + extraServices: + type: object + additionalProperties: + type: boolean + nullable: true + nullable: true + mappingReferences: + type: object + additionalProperties: + type: integer + format: int32 + nullable: true + nullable: true + countryDeliveryDays: + type: object + additionalProperties: + type: integer + format: int32 + nullable: true + nullable: true + enabled: + type: boolean + nullable: true + localityKm: + type: integer + format: int32 + nullable: true + priceLocalityId: + type: integer + format: int32 + nullable: true + additionalProperties: false + UpdateLocationDto: + type: object + properties: + address: + $ref: '#/components/schemas/LocationAddressDto' + courierCutOffTimes: + type: string + nullable: true + courierAutomaticCallTimes: + type: string + nullable: true + useSameCourierForSameAddress: + type: boolean + courierFailPolicy: + type: integer + format: int32 + timeZoneId: + type: string + nullable: true + priceGroupId: + type: integer + format: int32 + nullable: true + notificationEmail: + type: string + nullable: true + notificationPhone: + type: string + nullable: true + courierVoucherService: + type: object + additionalProperties: + type: integer + format: int32 + nullable: true + nullable: true + marketPlaceCallBackSettings: + type: object + additionalProperties: + type: object + additionalProperties: + type: string + nullable: true + nullable: true + importIsActive: + type: boolean + nullable: true + setHandoverOnManifest: + type: boolean + nullable: true + id: + type: integer + format: int32 + name: + type: string + nullable: true + externalLocationId: + type: string + nullable: true + additionalProperties: false + UpdateParcelsRequest: + type: object + properties: + courierId: + $ref: '#/components/schemas/Courier' + courierShipmentId: + type: string + nullable: true + envelopeCount: + type: integer + format: int32 + parcelsCount: + type: integer + format: int32 + palettesCount: + type: integer + format: int32 + oversizedPackage: + type: boolean + totalWeight: + type: number + format: double + parcels: + type: array + items: + $ref: '#/components/schemas/OrderRequestContentParcel' + nullable: true + parameters: + $ref: '#/components/schemas/OrderRequestParameters' + additionalProperties: false + UpdateStatusRequest: + type: object + properties: + courierId: + $ref: '#/components/schemas/Courier' + courierShipmentId: + type: string + nullable: true + typeId: + type: integer + format: int32 + nullable: true + statusId: + type: integer + format: int32 + actionDateTime: + type: string + format: date-time + additionalProperties: false + UploadDocumentsApiRequest: + type: object + properties: + courierId: + $ref: '#/components/schemas/Courier' + courierShipmentId: + type: string + nullable: true + attachments: + type: array + items: + $ref: '#/components/schemas/OrderRequestExtraCustomsDeclarationAttachment' + nullable: true + additionalProperties: false + UploadDocumentsApiResponse: + type: object + properties: + success: + type: boolean + message: + type: string + nullable: true + additionalProperties: false + securitySchemes: + ApiKeyAuth: + type: apiKey + name: X-Api-Key + in: header +security: + - ApiKeyAuth: + - readAccess + - writeAccess +servers: + - url: https://api.innoship.com diff --git a/sdks/db/fixed-specs-cache/fordefi-fixed-spec.yaml b/sdks/db/fixed-specs-cache/fordefi-fixed-spec.yaml index 7059a5147e..db63436615 100644 --- a/sdks/db/fixed-specs-cache/fordefi-fixed-spec.yaml +++ b/sdks/db/fixed-specs-cache/fordefi-fixed-spec.yaml @@ -4,7 +4,7 @@ publishJson: sdkName: fordefi-{language}-sdk clientName: Fordefi metaDescription: >- - The future of institutional web3 wallets. + The future of institutional web3 wallets. For builders, traders, and operators, Fordefi's comprehensive MPC wallet diff --git a/sdks/db/fixed-specs-cache/ilert-fixed-spec.yaml b/sdks/db/fixed-specs-cache/ilert-fixed-spec.yaml new file mode 100644 index 0000000000..fe24d3a715 --- /dev/null +++ b/sdks/db/fixed-specs-cache/ilert-fixed-spec.yaml @@ -0,0 +1,7290 @@ +publishJson: + company: ilert + serviceName: false + sdkName: ilert-{language}-sdk + clientName: Ilert + metaDescription: >- + ilert is a SaaS company for alerting, on-call management and incident + communication and helps companies to increase their digital uptime. B2C and + B2B companies from across the globe, including well-known brands such as + Bertelsmann, TeamViewer and REWE, trust ilert to empower their operations + teams and ensure everything is running smoothly. + apiStatusUrls: inherit + homepage: ilert.com + developerDocumentation: api.ilert.com/api-docs + categories: + - alerting + - on_call_management + - incident_communication +rawSpecString: | + openapi: 3.0.0 + info: + version: '' + title: ilert REST API + description: >- + + The ilert API is a + [RESTful](https://en.wikipedia.org/wiki/Representational_state_transfer) API + and provides programmatic access to entities in ilert and lets you easily + integrate ilert with 3rd party tools. If you are looking to develop an + inbound integration (e.g. for a monitoring tool), please use our [Events + API](https://api.ilert.com). + + + The API supports the JSON content type for requests and responses. The + response content type is requested via the HTTP Accept header + (`application/json`). All resources are accessible via https and are located + at `api.ilert.com/api`. + + ## Authentication + + The REST API accepts bearer API tokens. Each user may create API keys using + the ilert web application. Note: Make sure to send the `Bearer ` prefix e.g. + `Bearer APIKEY` when sending api key requests. By default, access to all + resources (using any method) requires the client to be authenticated. + + + ## Team Context + When using API tokens, the currently selected team context of the user will not be taken into account, i.e. list results will always return all entities to which the user has a view permission. When using basic auth credentials the currently selected team context of the user will be used to filter resource results. The context may be overwritten for API key calls using the `team-context` HTTP header. Specifying `0` for ALL teams, `-1` for MY teams or a specific team id e.g. `team-context=901` to fetch results for a certain team. + + ## Errors + + ilert uses HTTP response codes to indicate success or failure of an API + request. Codes in the 2xx range indicate success, codes in the 4xx range + indicate a client error (e.g. a missing required parameter) and codes in the + 5xx range indicate an error with ilert's servers. In case of an error, the + response body contains the following information: + + Attribute | Description + ------------- | ------------- + status | the corresponsing HTTP status code + message | a human readable description of the error + code | error code, used to identify error type + + ## API Versioning + + Changes to our API are always backwards-compatible. To get more information + about our API versioning and historical changes, please take a look here. + x-logo: + url: ./ilert-logo-spaced.png + backgroundColor: '#fafafa' + altText: ilert documentation logo + security: + - apiKey: [] + tags: + - name: Numbers + - name: Integrations + - name: Events + - name: Heartbeats + - name: Series + - name: Users + - name: Contacts + - name: Notification Preferences + - name: Escalation Policies + - name: Schedules + - name: Alert Sources + - name: Alerts + - name: Alert Actions + - name: Support Hours + - name: Log-Entries + - name: Notifications + - name: Connectors + - name: Teams + - name: On-Calls + - name: Maintenance Windows + - name: Incident Templates + - name: Services + - name: Service Outages + - name: Automation Rules + - name: Incidents + - name: Metrics + - name: Metric Data Sources + - name: Status Pages + - name: Reports + paths: + /users/{user-id}: + get: + tags: + - Users + parameters: + - $ref: '#/components/parameters/user-id-in-path' + summary: Get the specified user. + responses: + '200': + description: the user object + content: + application/json: + schema: + $ref: '#/components/schemas/User' + put: + tags: + - Users + parameters: + - $ref: '#/components/parameters/user-id-in-path' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/User' + description: the user object + summary: Update an existing user. + responses: + '200': + description: the updated user + content: + application/json: + schema: + $ref: '#/components/schemas/User' + delete: + tags: + - Users + parameters: + - $ref: '#/components/parameters/user-id-in-path' + summary: Delete the specified user. + responses: + '204': + description: if deletion was successful + /users/{user-id}/contacts/emails: + get: + tags: + - Contacts + parameters: + - $ref: '#/components/parameters/user-id-in-path' + summary: Get a user's emails + responses: + '200': + description: '' + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ContactEmail' + post: + tags: + - Contacts + parameters: + - $ref: '#/components/parameters/user-id-in-path' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ContactEmailPost' + required: true + summary: Create a new email + responses: + '201': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ContactEmail' + /users/{user-id}/contacts/emails/{id}: + get: + tags: + - Contacts + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + summary: Get a specific email + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ContactEmail' + put: + tags: + - Contacts + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ContactEmailPost' + summary: Update a user's email + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ContactEmail' + delete: + tags: + - Contacts + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + summary: Delete the user's specified email + responses: + '204': + description: if deletion was successful + /users/{user-id}/contacts/phone-numbers: + get: + tags: + - Contacts + parameters: + - $ref: '#/components/parameters/user-id-in-path' + summary: Get a user's phone numbers + responses: + '200': + description: '' + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ContactPhoneNumber' + post: + tags: + - Contacts + parameters: + - $ref: '#/components/parameters/user-id-in-path' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ContactPhoneNumberPost' + required: true + summary: Create a phone number + responses: + '201': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ContactPhoneNumber' + /users/{user-id}/contacts/phone-numbers/{id}: + get: + tags: + - Contacts + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + summary: Get specific phone number + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ContactPhoneNumber' + put: + tags: + - Contacts + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ContactPhoneNumberPost' + summary: Update a user's phone number + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ContactPhoneNumber' + delete: + tags: + - Contacts + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + summary: Delete the user's specified phone number + responses: + '204': + description: if deletion was successful + /users/{user-id}/notification-preferences/alerts: + get: + tags: + - Notification Preferences + parameters: + - $ref: '#/components/parameters/user-id-in-path' + summary: Get alert notification preferences of a user + responses: + '200': + description: '' + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/NotificationPreferencesAlert' + post: + tags: + - Notification Preferences + parameters: + - $ref: '#/components/parameters/user-id-in-path' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesAlertPost' + required: true + summary: Create an alert notification preference + responses: + '201': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesAlert' + /users/{user-id}/notification-preferences/alerts/{id}: + get: + tags: + - Notification Preferences + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + summary: Get specific notification preferences alert + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesAlert' + put: + tags: + - Notification Preferences + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesAlertPost' + summary: Update a user's alert notification preference + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesAlert' + delete: + tags: + - Notification Preferences + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + summary: Delete the user's specified notification preferences alert + responses: + '204': + description: if deletion was successful + /users/{user-id}/notification-preferences/duties: + get: + tags: + - Notification Preferences + parameters: + - $ref: '#/components/parameters/user-id-in-path' + summary: Get duty notification preferences of a user + responses: + '200': + description: '' + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/NotificationPreferencesDuty' + post: + tags: + - Notification Preferences + parameters: + - $ref: '#/components/parameters/user-id-in-path' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesDutyPost' + required: true + summary: Create a duty notification preference + responses: + '201': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesDuty' + /users/{user-id}/notification-preferences/duties/{id}: + get: + tags: + - Notification Preferences + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + summary: Get specific notification preferences duty + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesDuty' + put: + tags: + - Notification Preferences + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesDutyPost' + summary: Update a user's duty notification preference + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesDuty' + delete: + tags: + - Notification Preferences + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + summary: Delete the user's specified notification preferences duty + responses: + '204': + description: if deletion was successful + /users/{user-id}/notification-preferences/updates: + get: + tags: + - Notification Preferences + parameters: + - $ref: '#/components/parameters/user-id-in-path' + summary: Get update notification preferences of a user + responses: + '200': + description: '' + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/NotificationPreferencesUpdate' + post: + tags: + - Notification Preferences + parameters: + - $ref: '#/components/parameters/user-id-in-path' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesUpdatePost' + required: true + summary: Create an update notification preference + responses: + '201': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesUpdate' + /users/{user-id}/notification-preferences/updates/{id}: + get: + tags: + - Notification Preferences + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + summary: Get specific notification preferences update + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesUpdate' + put: + tags: + - Notification Preferences + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesUpdatePost' + summary: Update a user's update notification preference + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesUpdate' + delete: + tags: + - Notification Preferences + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + summary: Delete the user's specified notification preferences update + responses: + '204': + description: if deletion was successful + /users/{user-id}/notification-preferences/subscriptions: + get: + tags: + - Notification Preferences + parameters: + - $ref: '#/components/parameters/user-id-in-path' + summary: Get subscription notification preferences of a user + responses: + '200': + description: '' + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/NotificationPreferencesSubscription' + post: + tags: + - Notification Preferences + parameters: + - $ref: '#/components/parameters/user-id-in-path' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesSubscriptionPost' + required: true + summary: Create a subscription notification preference + responses: + '201': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesSubscription' + /users/{user-id}/notification-preferences/subscriptions/{id}: + get: + tags: + - Notification Preferences + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + summary: Get specific notification preferences subscription + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesSubscription' + put: + tags: + - Notification Preferences + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesSubscriptionPost' + summary: Update a user's subscription notification preference + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesSubscription' + delete: + tags: + - Notification Preferences + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + summary: Delete the user's specified notification preferences subscription + responses: + '204': + description: if deletion was successful + /numbers: + get: + tags: + - Numbers + security: [] + summary: >- + List available phone numbers that ilert uses to send voice and SMS + notifications + responses: + '200': + description: List of phone numbers + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/OutboundNumber' + /integrations: + get: + tags: + - Integrations + security: [] + parameters: + - $ref: '#/components/parameters/start-index' + - $ref: '#/components/parameters/max-results' + summary: >- + List available inbound and outbound integrations. Note: this resource is + paginated. + responses: + '200': + description: list of integrations + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Integration' + /users: + get: + tags: + - Users + parameters: + - $ref: '#/components/parameters/start-index' + - $ref: '#/components/parameters/max-results' + summary: List existing users. + responses: + '200': + description: list of users + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/User' + post: + tags: + - Users + summary: Create a new user. Requires ADMIN privileges. + description: | + **Sample request** + + ```json + Request URL: https://api.ilert.com/api/users + + { + "firstName": "John", + "lastName": "Doe", + "email": "john@acme.com", + "position": "Software Engineer", + } + ``` + + **Response** + + ````json + { + "id": 2188373, + "firstName": "John", + "lastName": "Doe", + "email": "john@acme.com", + "position": "Software Engineer", + "timezone": "Europe/Berlin", + "language": "de", + "role": "RESPONDER", + } + ```` + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UserPost' + description: the user object + responses: + '201': + description: >- + Created. The URI of the created user entity is included in the + Location header and the user object is included in the body. + content: + application/json: + schema: + $ref: '#/components/schemas/User' + /users/current: + get: + tags: + - Users + summary: Get the currently authenticated user. + responses: + '200': + description: user object + content: + application/json: + schema: + $ref: '#/components/schemas/User' + put: + summary: Update the current user. + tags: + - Users + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UserPost' + description: user object + responses: + '200': + description: the updated user + content: + application/json: + schema: + $ref: '#/components/schemas/User' + /alerts: + post: + tags: + - Alerts + summary: >- + Create alerts with customised parameters without requiring events from + monitoring tools that use our Events API. + description: >- + Escalation of the alert will be based on the alert source's escalation + policy or may be overridden by providing a specific escalation policy or + lastly specific set of responders (users), latter will only notify the + user(s) and will not escalate any further. + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ManualAlert' + description: the alert + required: true + responses: + '201': + description: the created and freshly escalated alert + content: + application/json: + schema: + $ref: '#/components/schemas/Alert' + get: + tags: + - Alerts + summary: >- + List alerts (optionally matching certain criteria that are specified by + query parameters). + description: >- + **Sample URLs** + + * List only alerts that are either in state `PENDING` or `ACCEPTED`:
https://api.ilert.com/api/alerts?states=PENDING&states=ACCEPTED + + * List only alerts that belong to the alert source with ID `1243` or + `1743` and where user `jd` is a responder:
+ https://api.ilert.com/api/alerts?sources=1243&sources=1743&responders=jd + * Paginate first batch for a range of alerts (note: query parameters + should be url encoded):
+ https://api.ilert.com/api/alerts?start-index=0&max-results=100&from=2021-03-01T21:24:56.771Z&until=2021-04-01T21:24:56.771Z + * Fetch next page, assuming equal to max-results were returned:
+ https://api.ilert.com/api/alerts?start-index=100&max-results=100&from=2021-03-01T21:24:56.771Z&until=2021-04-01T21:24:56.771Z + * Pagination should be done based on the `reportTime` field using the + parameters `from` and `until` as well as `start-index`. When building a + local alert state store the `id` field should be used as identifier. The + `alertKey` field is not suitable for this, as it is used to group + related alerts to each other. + parameters: + - $ref: '#/components/parameters/start-index' + - $ref: '#/components/parameters/max-results' + - name: include + in: query + description: >- + Describes optional properties that should be included in the + response. You may declare multiple. (nextEscalationUser) + required: false + explode: true + schema: + type: array + items: + type: string + enum: + - nextEscalationUser + - in: query + name: states + description: state of the alert + explode: true + schema: + type: array + items: + type: string + enum: + - PENDING + - ACCEPTED + - RESOLVED + - in: query + name: sources + description: alert source IDs of the alert's alert source + explode: true + schema: + type: array + items: + type: integer + format: int64 + - in: query + name: policies + description: escalation policy IDs of the alert's escalation policy + explode: true + schema: + type: array + items: + type: integer + format: int64 + - in: query + name: responders + description: user ids of the user that is a responder of the alert + explode: true + schema: + type: array + items: + type: string + - in: query + name: from + description: >- + from date, ISO-UTC e.g. 2021-05-25T21:24:56.771Z, based on + reportTime + schema: + type: string + format: date-time + - in: query + name: until + description: >- + until date, ISO-UTC e.g. 2021-05-26T21:24:56.771Z, based on + reportTime + schema: + type: string + format: date-time + responses: + '200': + description: OK + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Alert' + /alerts/count: + get: + tags: + - Alerts + summary: Get the alert count matching the specified criteria. + parameters: + - in: query + name: states + description: state of the alert + explode: true + schema: + type: array + items: + type: string + enum: + - PENDING + - ACCEPTED + - RESOLVED + - in: query + name: sources + description: alert source IDs of the alert's alert source + explode: true + schema: + type: array + items: + type: integer + format: int64 + - in: query + name: responders + description: user ids of the user that is a responder of the alert + explode: true + schema: + type: array + items: + type: string + - in: query + name: from + description: from date + schema: + type: string + format: date-time + - in: query + name: until + description: until date + schema: + type: string + format: date-time + responses: + '200': + description: the number of alerts matching the specified criteria + content: + application/json: + schema: + $ref: '#/components/schemas/CountResponse' + /alerts/{id}: + get: + tags: + - Alerts + parameters: + - $ref: '#/components/parameters/id' + - name: include + in: query + description: >- + Describes optional properties that should be included in the + response. You may declare multiple. (escalationRules, + nextEscalationUser) + required: false + explode: true + schema: + type: array + items: + type: string + enum: + - escalationRules + - nextEscalationUser + summary: Get the alert with the specified id. + responses: + '200': + description: alert object + content: + application/json: + schema: + $ref: '#/components/schemas/Alert' + /alerts/{id}/suggested-responders: + get: + tags: + - Alerts + parameters: + - $ref: '#/components/parameters/id' + - name: lang + in: query + description: locale for response text eg. 'en' or 'de' + schema: + type: string + summary: >- + Get available (assignable) responders for the alert with the specified + id. + responses: + '200': + description: the list of alert responders + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/SuggestedResponder' + /alerts/{id}/responders: + post: + tags: + - Alerts + parameters: + - $ref: '#/components/parameters/id' + summary: Add an additional responder to the alert. + responses: + '201': + description: the created alert responder object + content: + application/json: + schema: + $ref: '#/components/schemas/AlertResponder' + '404': + description: Responder did not exist + '405': + description: Responder is already present on the alert + /alerts/{id}/responders/{user-id}: + delete: + tags: + - Alerts + parameters: + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/user-id-in-path' + summary: Remove a responder from the alert. + responses: + '204': + description: Responder has been removed + '404': + description: Responder did not exist + /alerts/{id}/assign: + put: + tags: + - Alerts + parameters: + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/user-id-in-query' + - name: policy + in: query + description: numeric policy id + schema: + type: string + - name: schedule + in: query + description: numeric schedule id + schema: + type: string + summary: Assign the alert. + description: >- + Either provide a user-id, policy-id (escalation policy) or schedule-id + (on-call schedule) that the specific alert should be assigned to. + responses: + '200': + description: the updated alert object + content: + application/json: + schema: + $ref: '#/components/schemas/Alert' + /alerts/{id}/accept: + put: + tags: + - Alerts + parameters: + - $ref: '#/components/parameters/id' + summary: Accept the Alert. + responses: + '200': + description: the updated alert object + content: + application/json: + schema: + $ref: '#/components/schemas/Alert' + /alerts/{id}/resolve: + put: + tags: + - Alerts + parameters: + - $ref: '#/components/parameters/id' + summary: Resolve the alert. + responses: + '200': + description: the updated alert object + content: + application/json: + schema: + $ref: '#/components/schemas/Alert' + /alerts/{id}/notifications: + get: + tags: + - Alerts + - Notifications + parameters: + - $ref: '#/components/parameters/id' + summary: Get notifications for the specified alert. + responses: + '200': + description: a list of notification objects + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Notification' + /alerts/{id}/log-entries: + get: + tags: + - Alerts + - Log-Entries + parameters: + - $ref: '#/components/parameters/id' + - name: lang + in: query + description: log entry language + schema: + type: string + enum: + - en + - de + - $ref: '#/components/parameters/start-index' + - $ref: '#/components/parameters/max-results' + - name: include + in: query + description: >- + Describes optional properties that should be included in the + response. You may declare multiple. (vars) + required: false + explode: true + schema: + type: array + items: + type: string + enum: + - vars + - in: query + name: filter-types + description: filter-type (group) of the log + explode: true + schema: + type: array + items: + type: string + enum: + - NOTIFICATIONS + - ALERT_SOURCE_EVENTS + - CALL_ROUTING_EVENTS + - ALERT_UPDATES + - CONNECTOR_EVENTS + - INCIDENT_COMMUNICATIONS + summary: Get log entries for the specified alert. + responses: + '200': + description: list of log entries + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/LogEntry' + /alerts/{id}/actions: + get: + tags: + - Alert Actions + parameters: + - $ref: '#/components/parameters/id' + summary: Get available actions for specified alert. + responses: + '200': + description: list of alert actions + content: + application/json: + schema: + $ref: '#/components/schemas/AlertActionTrigger' + post: + tags: + - Alert Actions + parameters: + - $ref: '#/components/parameters/id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AlertActionTrigger' + description: the alert action, you might skip the 'history' field + required: true + summary: Invoke a specific alert action. + responses: + '201': + description: the alert action result, validate the 'success' field + content: + application/json: + schema: + $ref: '#/components/schemas/AlertActionResult' + /schedules: + get: + tags: + - Schedules + summary: List on-call schedules. + parameters: + - name: include + in: query + description: >- + Describes optional properties that should be included in the + response. You may declare multiple. (currentShift, nextShift, + scheduleLayers [only available for RECURRING schedules], shifts + [only available for STATIC schedules], past [show shifts in the + past, only for STATIC]) + required: false + explode: true + schema: + type: array + items: + type: string + enum: + - scheduleLayers + - shifts + - currentShift + - nextShift + - past + - $ref: '#/components/parameters/start-index' + - in: query + name: max-results + description: >- + the maximum number of results when paging through a list of + schedules. + required: false + schema: + type: integer + format: int32 + maximum: 20 + default: 20 + responses: + '200': + description: a list of on-call schedules + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Schedule' + post: + tags: + - Schedules + parameters: + - name: abort-on-gaps + in: query + required: false + description: Used for static schedules to prevent creating schedules with gaps + schema: + type: boolean + requestBody: + $ref: '#/components/requestBodies/Schedule' + summary: Create a new on-call schedule. + responses: + '201': + description: The created on-call schedule + content: + application/json: + schema: + $ref: '#/components/schemas/Schedule' + /schedules/{id}: + get: + tags: + - Schedules + summary: Get the on-call schedule with the specified id. + parameters: + - $ref: '#/components/parameters/id' + - name: include + in: query + description: >- + Describes optional properties that should be included in the + response. You may declare multiple. (currentShift, nextShift, + scheduleLayers [only available for RECURRING schedules], shifts + [only available for STATIC schedules], past [show shifts in the + past, only for STATIC]) + required: false + explode: true + schema: + type: array + items: + type: string + enum: + - scheduleLayers + - shifts + - currentShift + - nextShift + - past + responses: + '200': + description: >- + The schedule object. (scheduleLayers [only available for RECURRING + schedules], shifts [only available for STATIC schedules]) + content: + application/json: + schema: + $ref: '#/components/schemas/Schedule' + put: + tags: + - Schedules + parameters: + - $ref: '#/components/parameters/id' + - name: abort-on-gaps + in: query + required: false + description: Used for static schedules to prevent updating schedules with gaps + schema: + type: boolean + requestBody: + $ref: '#/components/requestBodies/Schedule' + summary: Update an on-call schedule. + responses: + '200': + description: The updated on-call schedule + content: + application/json: + schema: + $ref: '#/components/schemas/Schedule' + delete: + tags: + - Schedules + summary: Delete the on-call schedule with the specified id. + parameters: + - $ref: '#/components/parameters/id' + responses: + '204': + description: empty response + /schedules/{id}/shifts: + get: + tags: + - Schedules + summary: Get shifts for the specified schedule and date range. + parameters: + - $ref: '#/components/parameters/id' + - in: query + name: from + description: from date, default is start of last month + schema: + type: string + format: date-time + - in: query + name: until + description: until date, default is from date plus 3 months + schema: + type: string + - in: query + name: exclude-overrides + description: if true, shifts won't include overrides + schema: + type: boolean + default: false + responses: + '200': + description: the shift objects + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Shift' + /schedules/{id}/overrides: + get: + tags: + - Schedules + summary: Get overrides for the specified schedule. + parameters: + - $ref: '#/components/parameters/id' + responses: + '200': + description: the shift objects + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Shift' + put: + tags: + - Schedules + summary: Add an override shift to a schedule. + parameters: + - $ref: '#/components/parameters/id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Shift' + description: >- + the shift which should overwrite the schedule (must not be in the + past) + required: true + responses: + '200': + description: the overwritten schedule object + content: + application/json: + schema: + $ref: '#/components/schemas/ScheduleRel' + /schedules/{id}/user-on-call: + get: + tags: + - Schedules + summary: >- + Get the user (wrapped in a shift object) on-call for the specified + schedule. + parameters: + - $ref: '#/components/parameters/id' + responses: + '200': + description: the current shift + content: + application/json: + schema: + $ref: '#/components/schemas/Shift' + '204': + description: if no user is on-call + /on-calls: + get: + tags: + - On-Calls + parameters: + - name: policies + in: query + required: false + description: escalation policy ids to filter on call duties for + schema: + type: number + - name: policy-levels + in: query + required: false + description: >- + can be provided instead of 'policies', must be a serialised and + urlencoded JSON object e.g. ?policy-levels="{ "id": 12, "level": 1 + }" where id is the policy id and level is the escalation level that + should be included + schema: + type: string + - name: schedules + in: query + required: false + description: on call schedule ids to filter on call duties for + schema: + type: number + - name: users + in: query + required: false + description: user ids to filter on call duties for + schema: + type: number + - name: expand + in: query + required: false + description: 'include full entities for: policy, escalationPolicy or user' + schema: + type: string + - name: from + in: query + required: false + description: >- + date-time ISO-UTC e.g. 2021-05-25T21:24:56.771Z, start of the time + range, may not exceed 3 months in total span, defaults to current + time + schema: + type: string + - name: until + in: query + required: false + description: >- + date-time ISO-UTC e.g. 2021-05-25T21:24:56.771Z, end of the time + range, must be after 'from', defaults to current time + schema: + type: string + - name: timezone + in: query + required: false + description: Time zone in which the results will be rendered, defaults to UTC + schema: + type: string + - name: start-index + in: query + required: false + description: offset for the search results, defaults to 0 + schema: + type: number + - name: max-results + in: query + required: false + description: limit for the search results, defaults to 50, may not exceed 250 + schema: + type: number + summary: List on-calls with flexible filters + responses: + '200': + description: returns a list of on-call objects for the searched window + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/OnCall' + /alert-sources: + get: + tags: + - Alert Sources + parameters: + - $ref: '#/components/parameters/start-index' + - in: query + name: max-results + description: >- + the maximum number of results when paging through a list of alert + sources. + required: false + schema: + type: integer + format: int32 + maximum: 50 + default: 50 + summary: List alert sources. + responses: + '200': + description: the alert source object + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/AlertSourceNoIncludes' + post: + tags: + - Alert Sources + requestBody: + $ref: '#/components/requestBodies/AlertSourceRel' + summary: Create a new alert source. + responses: + '201': + description: >- + The URI of the alert source will be included in the location header + and the alert source will be included in the body. + content: + application/json: + schema: + $ref: '#/components/schemas/AlertSource' + /alert-sources/{id}: + get: + tags: + - Alert Sources + parameters: + - $ref: '#/components/parameters/source-id-or-key' + - name: include + in: query + description: >- + Describes optional properties that should be included in the + response. You may declare multiple. (detailsTemplate, + summaryTemplate, routingTemplate, linkTemplates, priorityTemplate, + textTemplate) + required: false + explode: true + schema: + type: array + items: + type: string + enum: + - detailsTemplate + - summaryTemplate + - routingTemplate + - linkTemplates + - priorityTemplate + - textTemplate + summary: Get the alert source with specified id or alternatively api key. + responses: + '200': + description: the alert source object + content: + application/json: + schema: + $ref: '#/components/schemas/AlertSource' + put: + tags: + - Alert Sources + parameters: + - $ref: '#/components/parameters/id' + requestBody: + $ref: '#/components/requestBodies/AlertSourceRel' + summary: Update an existing alert source. + responses: + '200': + description: the updated alert source object + content: + application/json: + schema: + $ref: '#/components/schemas/AlertSource' + delete: + tags: + - Alert Sources + parameters: + - $ref: '#/components/parameters/id' + summary: Delete the specified alert source. + responses: + '204': + description: if deletion was successful + /support-hours: + get: + tags: + - Support Hours + parameters: + - $ref: '#/components/parameters/start-index' + - in: query + name: max-results + description: >- + the maximum number of results when paging through a list of support + hours. + required: false + schema: + type: integer + format: int32 + maximum: 50 + default: 50 + summary: List support hours. + responses: + '200': + description: list of support hours + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/SupportHour' + post: + tags: + - Support Hours + requestBody: + $ref: '#/components/requestBodies/SupportHour' + summary: Create a new support hour. + responses: + '201': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/SupportHour' + /support-hours/{id}: + get: + tags: + - Support Hours + parameters: + - $ref: '#/components/parameters/id' + summary: Get the support hour with specified id. + responses: + '200': + description: the support hour object + content: + application/json: + schema: + $ref: '#/components/schemas/SupportHour' + put: + tags: + - Support Hours + parameters: + - $ref: '#/components/parameters/id' + requestBody: + $ref: '#/components/requestBodies/SupportHour' + summary: Update an existing support hour. + responses: + '200': + description: the updated support hour object + content: + application/json: + schema: + $ref: '#/components/schemas/SupportHour' + delete: + tags: + - Support Hours + parameters: + - $ref: '#/components/parameters/id' + summary: Delete the specified support hour. + responses: + '204': + description: if deletion was successful + /maintenance-windows: + get: + tags: + - Maintenance Windows + parameters: + - $ref: '#/components/parameters/start-index' + - $ref: '#/components/parameters/max-results' + summary: List maintenance windows. + responses: + '200': + description: the maintenance window object + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/MaintenanceWindow' + post: + tags: + - Maintenance Windows + requestBody: + $ref: '#/components/requestBodies/MaintenanceWindow' + summary: Create a new maintenance window. + responses: + '200': + description: >- + The URI of the maintenance window will be included in the location + header and the maintenance window will be included in the body. + content: + application/json: + schema: + $ref: '#/components/schemas/MaintenanceWindow' + /maintenance-windows/{id}: + get: + tags: + - Maintenance Windows + parameters: + - $ref: '#/components/parameters/id' + summary: Get the maintenance window with specified id. + responses: + '200': + description: the maintenance window object + content: + application/json: + schema: + $ref: '#/components/schemas/MaintenanceWindow' + put: + tags: + - Maintenance Windows + parameters: + - $ref: '#/components/parameters/id' + requestBody: + $ref: '#/components/requestBodies/MaintenanceWindow' + summary: Update an existing maintenance window. + responses: + '200': + description: the updated maintenance window object + content: + application/json: + schema: + $ref: '#/components/schemas/MaintenanceWindow' + delete: + tags: + - Maintenance Windows + parameters: + - $ref: '#/components/parameters/id' + summary: Delete the specified maintenance window. + responses: + '204': + description: if deletion was successful + /escalation-policies: + get: + tags: + - Escalation Policies + summary: List escalation policies. + parameters: + - $ref: '#/components/parameters/start-index' + - in: query + name: max-results + description: >- + the maximum number of results when paging through a list of + escalation policies. + required: false + schema: + type: integer + format: int32 + maximum: 50 + default: 50 + responses: + '200': + description: OK + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/EscalationPolicy' + post: + tags: + - Escalation Policies + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/EscalationPolicy' + description: the escalation polocy + required: true + summary: Create a new escalation policy. + responses: + '201': + description: >- + Created. The URI of the escalation policy is included in the + Location header and the entity in the body + content: + application/json: + schema: + $ref: '#/components/schemas/EscalationPolicy' + /escalation-policies/{id}: + get: + tags: + - Escalation Policies + parameters: + - $ref: '#/components/parameters/id' + summary: Get escalation policy with the specified id. + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/EscalationPolicy' + put: + tags: + - Escalation Policies + parameters: + - $ref: '#/components/parameters/id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/EscalationPolicy' + description: the escalation policy + required: true + summary: Update an existing escalation policy. + responses: + '200': + description: The updated escalation policy + content: + application/json: + schema: + $ref: '#/components/schemas/EscalationPolicy' + delete: + tags: + - Escalation Policies + parameters: + - $ref: '#/components/parameters/id' + summary: Delete the specified escalation policy. + responses: + '204': + description: if deletion was successful + /series/{key}: + post: + tags: + - Series + security: [] + summary: Ingest a series for a metric + description: >- + Post a time point or multiple time points (series) to a metric. User + authorization is not required instead provide the integration key of + your metric. + parameters: + - $ref: '#/components/parameters/key' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SeriesOption' + description: the time point or series of time points + required: true + responses: + '202': + description: The time points have been accepted + /events: + post: + tags: + - Events + security: [] + summary: Post an event to ilert. + description: > + Use the Event API to integrate your monitoring or ticketing tools with + ilert. It provides a single API endpoint that allows you to create, + accept and resolve alerts in ilert. It is designed around the notion + that monitoring tools send events when + + * a problem occurs (an `ALERT` event in ilert terminology) + + * a problem is acknowledged, indicating that someone is working on the + resolution of the problem (an `ACCEPT`event) + + * a problem is resolved (a `RESOLVED`event) + + + The API accepts these events, routes them to the alert source to which + the api key belongs, and takes appropriate action. + + + An event object contains the following attributes: + + + Attribute | Desription + + ------------- | ------------- + + apiKey | **Required**. The API key of the alert source. + + eventType | **Required**. Must be either `ALERT`, `ACCEPT`, or + `RESOLVE` + + summary | **Required**. The event summary. Will be used as the alert + summary if a new alert is created. + + details | Optional. The event details. Will be used as the alert details + if a new alert is created. + + alertKey | Optional. For `ALERT` events, the alertKey can be used to + deduplicate or group events. If an open alert with the key already + exists, the event will be appended to the alert's event log. Otherwise a + new alert will be created. For `ACCEPT` and `RESOLVE` events, the + alertKey is used to reference the open alert which is to be accepted or + resolved by this event. + + priority | Optional. Must be either HIGH or LOW. Will overwrite the + evaluated priority of the alert source. + + images | Optional. A list of images containing src, href and alt. + + links | Optional. A list of links, containing href and text. + + customDetails | Optional. Additional custom details for the event. + + routingKey | Optional. Overwrite escalation policy for ALERT events. + + + + ### Getting started + + Before you can start making API requests, you need to create an API + alert source in the ilert web interface: + + 1. Go to "Alert sources" + + 2. Click on "Add a new alert source" + + 3. Fill out the form chosing "API" as the integration type and save. + + + An API key will be generated for the alert source after creation. You + can obtain the key on the alert sources' details page. You can only use + the key to post events to this alert source and you don't need to + provide any other credentials when using the Event API. + + + ### Example: create, accept and resolve an alert + + The following example will guide you through a basic workflow where an + alert is created, accepted, and resolved. + + + #### Create alert + + An alert can be created by posting an `ALERT` event: + + + **Request** + + ```json + + https://api.ilert.com/api/events + + + { + "apiKey": "edf0235f-a720-458e-a7fd-6b001042a4f4", + "eventType": "ALERT", + "alertKey": "srv/mail01", + "summary": "Host srv/mail01 is CRITICAL" + } + + ``` + + + Let's say we want to post an update saying that the host is down. To do + that, we will post another `ALERT` event using the same alertKey: + + + **Request** + + ```json + + https://api.ilert.com/api/events + + + { + "apiKey": "edf0235f-a720-458e-a7fd-6b001042a4f4", + "eventType": "ALERT", + "alertKey": "srv/mail01", + "summary": "Host srv/mail01 is DOWN" + } + + ``` + + + #### Accept an + + Continuing our example from above, we want to accept the alert that we + created. In order to that, we post an `ACCEPT`event using the same + alertKey that we used when we posted the `ALERT` event. + + + **Request** + + ```json + + https://api.ilert.com/api/events + + + { + "apiKey": "edf0235f-a720-458e-a7fd-6b001042a4f4", + "eventType": "ACCEPT", + "alertKey": "srv/mail01" + } + + ``` + + + The alert is now in ACCEPTED state stopping any further notifications. + + + #### Resolve an alert + + To resolve the alert, we simply post a `RESOLVE` event using the alert + key from above. + + + **Request** + + ```json + + https://api.ilert.com/api/events + + + { + "apiKey": "edf0235f-a720-458e-a7fd-6b001042a4f4", + "eventType": "RESOLVE", + "alertKey": "srv/mail01" + } + + ``` + + + The alert is now resolved. + + + + + ### Dealing with errors and retries + + We strongly recommend to implement a retry logic on the client side if + an error occurs (ideally using an [exponential + backoff](https://en.wikipedia.org/wiki/Exponential_backoff)). + + + Retry a failed request for the following errors: + + * any network errors + + * 5xx errors: this indicates an error in ilert + + * 429 Too Many Requests: you have reached your rate limit + + + + Do NOT retry a request for the following HTTP response codes: + + * 202 Accepted: the request was successful + + * 400 Bad Request: (check the error message for details) + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Event' + description: the event + required: true + responses: + '202': + description: The event has been accepted + /heartbeats/{key}: + head: + tags: + - Heartbeats + security: [] + parameters: + - $ref: '#/components/parameters/key' + summary: Ping heartbeat alert source. + responses: + '202': + description: Arbitrary accept response + get: + tags: + - Heartbeats + security: [] + parameters: + - $ref: '#/components/parameters/key' + summary: Ping heartbeat alert source. + responses: + '202': + description: Arbitrary accept response + post: + tags: + - Heartbeats + security: [] + parameters: + - $ref: '#/components/parameters/key' + summary: Ping heartbeat alert source. + responses: + '202': + description: Arbitrary accept response + /alert-actions: + get: + tags: + - Alert Actions + parameters: + - name: source + in: query + description: alert source id + schema: + type: number + - name: connector + in: query + description: connector id + schema: + type: string + - $ref: '#/components/parameters/start-index' + - in: query + name: max-results + description: >- + the maximum number of results when paging through a list of alert + actions. + required: false + schema: + type: integer + format: int32 + maximum: 100 + default: 100 + summary: Get alert actions. + responses: + '200': + description: The filtered alert actions + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/AlertAction' + post: + tags: + - Alert Actions + requestBody: + $ref: '#/components/requestBodies/AlertAction' + summary: Create a new alert action. + responses: + '200': + description: The newly created alert action + content: + application/json: + schema: + $ref: '#/components/schemas/AlertAction' + /alert-actions/{id}: + get: + tags: + - Alert Actions + parameters: + - $ref: '#/components/parameters/string-id' + summary: Get a specific alert action. + responses: + '200': + description: The requested alert action + content: + application/json: + schema: + $ref: '#/components/schemas/AlertAction' + put: + tags: + - Alert Actions + parameters: + - $ref: '#/components/parameters/string-id' + requestBody: + $ref: '#/components/requestBodies/AlertAction' + summary: 'Update the specific alert action. (note: type cannot be changed)' + responses: + '200': + description: The updated alert action + content: + application/json: + schema: + $ref: '#/components/schemas/AlertAction' + delete: + tags: + - Alert Actions + parameters: + - $ref: '#/components/parameters/string-id' + summary: Remove a specific alert action. + responses: + '204': + description: Empty body delete response + /connectors: + get: + tags: + - Connectors + parameters: + - $ref: '#/components/parameters/start-index' + - $ref: '#/components/parameters/max-results' + summary: Get connectors. + responses: + '200': + description: The connectors + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Connector' + post: + tags: + - Connectors + requestBody: + $ref: '#/components/requestBodies/Connector' + summary: Create a new connector. + responses: + '200': + description: The newly created connector + content: + application/json: + schema: + $ref: '#/components/schemas/Connector' + /connectors/{id}: + get: + tags: + - Connectors + parameters: + - $ref: '#/components/parameters/string-id' + summary: Get a specific connector. + responses: + '200': + description: The requested connector + content: + application/json: + schema: + $ref: '#/components/schemas/Connector' + put: + tags: + - Connectors + parameters: + - $ref: '#/components/parameters/string-id' + requestBody: + $ref: '#/components/requestBodies/Connector' + summary: 'Update the specific connector. (note: type cannot be changed)' + responses: + '200': + description: The updated connector + content: + application/json: + schema: + $ref: '#/components/schemas/Connector' + delete: + tags: + - Connectors + parameters: + - $ref: '#/components/parameters/string-id' + summary: Remove a specific connector. + responses: + '204': + description: Empty body delete response + /teams: + get: + tags: + - Teams + parameters: + - $ref: '#/components/parameters/start-index' + - $ref: '#/components/parameters/max-results' + - name: members + in: query + required: false + description: >- + optional, filter teams for specific members (currently only a single + occurrence of this param is allowed) + schema: + type: number + summary: Get teams. + responses: + '200': + description: The teams + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Team' + post: + tags: + - Teams + requestBody: + $ref: '#/components/requestBodies/Team' + summary: Create a new team. + responses: + '200': + description: The newly created team + content: + application/json: + schema: + $ref: '#/components/schemas/Team' + /teams/{id}: + get: + tags: + - Teams + parameters: + - $ref: '#/components/parameters/id' + summary: Get a specific team. + responses: + '200': + description: The requested team + content: + application/json: + schema: + $ref: '#/components/schemas/Team' + put: + tags: + - Teams + parameters: + - $ref: '#/components/parameters/id' + requestBody: + $ref: '#/components/requestBodies/Team' + summary: Update the specific team + responses: + '200': + description: The updated team + content: + application/json: + schema: + $ref: '#/components/schemas/Team' + delete: + tags: + - Teams + parameters: + - $ref: '#/components/parameters/id' + summary: Remove a specific team. + responses: + '204': + description: Empty body delete response + /teams/{id}/members: + post: + tags: + - Teams + parameters: + - $ref: '#/components/parameters/id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TeamMember' + description: the team member + required: true + summary: Add a new team member to specific team + responses: + '200': + description: The added team member + content: + application/json: + schema: + $ref: '#/components/schemas/TeamMember' + /teams/{id}/members/{id}: + delete: + tags: + - Teams + parameters: + - $ref: '#/components/parameters/id' + summary: Remove a specific member of a specific team. + responses: + '204': + description: Empty body delete response + /reports/alerts: + get: + tags: + - Reports + parameters: + - name: sources + in: query + required: false + description: alert source ids to filter metrics for + schema: + type: number + - name: policies + in: query + required: false + description: escalation policy ids to filter metrics for + schema: + type: number + - name: numbers + in: query + required: false + description: phone numbers of call routing numbers to filter metrics for + schema: + type: string + - name: from + in: query + required: true + description: >- + date-time ISO-UTC e.g. 2021-05-25T21:24:56.771Z, start of the time + range, may not exceed 1 year in total span + schema: + type: string + - name: until + in: query + required: true + description: >- + date-time ISO-UTC e.g. 2021-05-25T21:24:56.771Z, end of the time + range, must be after 'from', must not be in the future + schema: + type: string + - name: timezone + in: query + required: false + description: >- + Time zone in which the results will be rendered, defaults to + tenant's configured default timezone + schema: + type: string + - name: metric + in: query + required: false + description: >- + Describes the metric that should be fetched choose one of: COUNT, + MTTA or MTTR - defaults to COUNT + schema: + type: string + - name: group-by + in: query + required: false + description: >- + Defines the grouping of metrics, choose one of: DAY, WEEK or MONTH - + defaults to WEEK + schema: + type: string + - name: priority + in: query + required: false + description: >- + Sets the priority filter that should be applied, choose one of: LOW, + HIGH or ALL - defaults to ALL + schema: + type: string + summary: List alert metrics for the requested resources + responses: + '200': + description: >- + an array of alert report metrics, each metric is another array + containing data in the following order: + + + [long:alertSourceId, long:escalationPolicyId, + string:callRoutingNumberPhoneNumber, string:ISO-8601, long:value] + + + e.g. [ [202541, 13541, "", "2021-08", 15] ] + + + Please note: the ISO-8601 (4th column) in this case depends on the + chosen 'group-by' parameter. DAY=2021-08-01, WEEK=2021-W12, + MONTH=2021-08 + content: + application/json: + schema: + type: array + items: + type: array + items: + oneOf: + - type: number + - type: string + metric sample: + examples: + response: + value: + summary: metric sample + value: + - - 202541 + - 13541 + - '' + - 2021-08 + - 15 + /reports/alerts/summary: + get: + tags: + - Reports + parameters: + - name: sources + in: query + required: false + description: alert source ids to filter metrics for + schema: + type: number + - name: policies + in: query + required: false + description: escalation policy ids to filter metrics for + schema: + type: number + - name: numbers + in: query + required: false + description: phone numbers of call routing numbers to filter metrics for + schema: + type: string + - name: from + in: query + required: true + description: >- + date-time ISO-UTC e.g. 2021-05-25T21:24:56.771Z, start of the time + range, may not exceed 1 year in total span + schema: + type: string + - name: until + in: query + required: true + description: >- + date-time ISO-UTC e.g. 2021-05-25T21:24:56.771Z, end of the time + range, must be after 'from', must not be in the future + schema: + type: string + - name: timezone + in: query + required: false + description: >- + Time zone in which the results will be rendered, defaults to + tenant's configured default timezone + schema: + type: string + - name: metric + in: query + required: false + description: >- + Describes the metric that should be fetched choose one of: COUNT, + MTTA or MTTR - defaults to COUNT + schema: + type: string + - name: group-by + in: query + required: false + description: >- + Defines the grouping of metrics, choose one of: DAY, WEEK or MONTH - + defaults to WEEK + schema: + type: string + - name: priority + in: query + required: false + description: >- + Sets the priority filter that should be applied, choose one of: LOW, + HIGH or ALL - defaults to ALL + schema: + type: string + summary: Summarize a list of alert metrics + responses: + '200': + description: >- + an array containing summarized alert report metrics for the + requested resource + content: + application/json: + schema: + type: array + items: + type: object + properties: + alertSourceId: + type: number + escalationPolicyId: + type: number + callRoutingNumberPhoneNumber: + type: string + count: + type: number + mtta: + type: number + mttr: + type: number + /reports/api-keys/usage: + get: + tags: + - Reports + parameters: + - name: scopes + in: query + required: false + description: >- + scopes of our API resources e.g. alert see + https://docs.ilert.com/rest-api/developing-ilert-apps/token-lifetimes-error-codes-app-verification-etc.#ilert-oauth2-scopes + schema: + type: string + - name: from + in: query + required: true + description: >- + date-time ISO-UTC e.g. 2021-05-25T21:24:56.771Z, start of the time + range, may not exceed 1 month (31 days) in total span (use this to + paginate) + schema: + type: string + - name: until + in: query + required: true + description: >- + date-time ISO-UTC e.g. 2021-05-25T21:24:56.771Z, end of the time + range, must be after 'from', must not be in the future (use this to + paginate) + schema: + type: string + - name: timezone + in: query + required: false + description: >- + Time zone in which the results will be rendered, defaults to + tenant's configured default timezone + schema: + type: string + summary: List API key usage metrics for the requested resources + description: This endpoint requires 'ADMIN' permissions + responses: + '200': + description: >- + an array of usage metrics, each metric is another array containing + data in the following order: + + + [long:userId, string:scope, string:ISO-8601, long:value] + + + e.g. [ [202541, "source", "2023-04-21", 15] ] + + + Please note: the ISO-8601 (3th column) in this case is always DAY + (2021-08-01) usually 24 hours apart, but there is a slight chance + that the same userId and scope have multiple entries for the same + DAY + content: + application/json: + schema: + type: array + items: + type: array + items: + oneOf: + - type: number + - type: string + metric sample: + examples: + response: + value: + summary: metric sample + value: + - - 202541 + - alert + - 2023-04 + - 15 + /incident-templates: + get: + tags: + - Incident Templates + parameters: + - $ref: '#/components/parameters/start-index' + - $ref: '#/components/parameters/max-results' + summary: Get incident templates. + responses: + '200': + description: The incident templates + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/IncidentTemplate' + post: + tags: + - Incident Templates + requestBody: + $ref: '#/components/requestBodies/IncidentTemplate' + summary: Create a new incident template. + responses: + '200': + description: The newly created incident template + content: + application/json: + schema: + $ref: '#/components/schemas/IncidentTemplate' + /incident-templates/{id}: + get: + tags: + - Incident Templates + parameters: + - $ref: '#/components/parameters/id' + summary: Get a specific incident template. + responses: + '200': + description: The requested incident template + content: + application/json: + schema: + $ref: '#/components/schemas/IncidentTemplate' + put: + tags: + - Incident Templates + parameters: + - $ref: '#/components/parameters/id' + requestBody: + $ref: '#/components/requestBodies/IncidentTemplate' + summary: Update the specific incident template + responses: + '200': + description: The updated incident template + content: + application/json: + schema: + $ref: '#/components/schemas/IncidentTemplate' + delete: + tags: + - Incident Templates + parameters: + - $ref: '#/components/parameters/id' + summary: Remove a specific incident template. + responses: + '204': + description: Empty body delete response + /services: + get: + tags: + - Services + parameters: + - $ref: '#/components/parameters/start-index' + - in: query + name: max-results + description: >- + the maximum number of results when paging through a list of + services. (Note: when using ?include maximum is reduced to 25) + required: false + schema: + type: integer + format: int32 + maximum: 100 + default: 10 + - name: include + in: query + description: >- + Describes optional properties that should be included in the + response. You may declare multiple. (subscribed, uptime, incidents) + required: false + explode: true + schema: + type: array + items: + type: string + enum: + - subscribed + - uptime + - incidents + summary: Get services. + responses: + '200': + description: The services + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Service' + post: + tags: + - Services + requestBody: + $ref: '#/components/requestBodies/ServiceNoIncludes' + summary: Create a new service. + responses: + '200': + description: The newly created service + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceNoIncludes' + /services/{id}: + get: + tags: + - Services + parameters: + - $ref: '#/components/parameters/id' + - name: include + in: query + description: >- + Describes optional properties that should be included in the + response. You may declare multiple. (subscribed, uptime, incidents) + required: false + explode: true + schema: + type: array + items: + type: string + enum: + - subscribed + - uptime + - incidents + summary: Get a specific service. + responses: + '200': + description: The requested service + content: + application/json: + schema: + $ref: '#/components/schemas/Service' + put: + tags: + - Services + parameters: + - $ref: '#/components/parameters/id' + requestBody: + $ref: '#/components/requestBodies/ServiceNoIncludes' + summary: Update the specific service + responses: + '200': + description: The updated service + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceNoIncludes' + delete: + tags: + - Services + parameters: + - $ref: '#/components/parameters/id' + summary: Remove a specific service. + responses: + '204': + description: Empty body delete response + /automation-rules: + get: + description: >- + This API has been deprecated, use /alert-actions of type + 'automation_rule' instead. + tags: + - Automation Rules + parameters: + - $ref: '#/components/parameters/start-index' + - $ref: '#/components/parameters/max-results' + - name: service + in: query + description: >- + The service id for which automation rules are filtered for, this + param is required + required: true + schema: + type: number + - name: source + in: query + description: >- + The alert source id for which automation rules are filtered for, + this param is an alternative to service + required: false + schema: + type: number + - name: status-page + in: query + description: >- + The status page id for which automation rules are filtered for, this + param is an alternative to service + required: false + schema: + type: number + summary: Get automation rules. + responses: + '200': + description: The automation rules + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/AutomationRule' + post: + description: >- + This API has been deprecated, use /alert-actions of type + 'automation_rule' instead. + tags: + - Automation Rules + requestBody: + $ref: '#/components/requestBodies/AutomationRule' + summary: Create a new automation rule. + responses: + '200': + description: The newly created automation rule + content: + application/json: + schema: + $ref: '#/components/schemas/AutomationRule' + /automation-rules/{id}: + get: + description: >- + This API has been deprecated, use /alert-actions of type + 'automation_rule' instead. + tags: + - Automation Rules + parameters: + - $ref: '#/components/parameters/id' + summary: Get a specific automation rule. + responses: + '200': + description: The requested automation rule + content: + application/json: + schema: + $ref: '#/components/schemas/AutomationRule' + put: + description: >- + This API has been deprecated, use /alert-actions of type + 'automation_rule' instead. + tags: + - Automation Rules + parameters: + - $ref: '#/components/parameters/id' + requestBody: + $ref: '#/components/requestBodies/AutomationRule' + summary: Update the specific automation rule + responses: + '200': + description: The updated automation rule + content: + application/json: + schema: + $ref: '#/components/schemas/AutomationRule' + delete: + description: >- + This API has been deprecated, use /alert-actions of type + 'automation_rule' instead. + tags: + - Automation Rules + parameters: + - $ref: '#/components/parameters/id' + summary: Remove a specific automation rule. + responses: + '204': + description: Empty body delete response + /incidents: + get: + tags: + - Incidents + parameters: + - $ref: '#/components/parameters/start-index' + - in: query + name: max-results + description: >- + the maximum number of results when paging through a list of + incidents. (Note: when using ?include maximum is reduced to 25) + required: false + schema: + type: integer + format: int32 + maximum: 100 + default: 10 + - name: include + in: query + description: >- + Describes optional properties that should be included in the + response. You may declare multiple. (subscribed) + required: false + explode: true + schema: + type: array + items: + type: string + enum: + - subscribed + - in: query + name: states + description: state of the alert + explode: true + schema: + type: array + items: + type: string + enum: + - INVESTIGATING + - IDENTIFIED + - MONITORING + - RESOLVED + - in: query + name: services + description: service IDs of the incident's affected services + explode: true + schema: + type: array + items: + type: integer + format: int64 + - in: query + name: from + description: >- + from date, ISO-UTC e.g. 2021-05-25T21:24:56.771Z, based on + reportTime + schema: + type: string + format: date-time + - in: query + name: until + description: >- + until date, ISO-UTC e.g. 2021-05-26T21:24:56.771Z, based on + reportTime + schema: + type: string + format: date-time + summary: Get incidents. + responses: + '200': + description: The incidents + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Incident' + post: + tags: + - Incidents + requestBody: + $ref: '#/components/requestBodies/IncidentNoIncludes' + summary: Create a new incident. + description: >- + Note: depending on affected services this will publish notifications to + subscribers. Use /publish-info to forecast notifications. + responses: + '200': + description: The newly created incident + content: + application/json: + schema: + $ref: '#/components/schemas/IncidentNoIncludes' + /incidents/publish-info: + post: + tags: + - Incidents + requestBody: + $ref: '#/components/requestBodies/IncidentNoIncludes' + summary: Forecast the affected subscribers and status pages + description: >- + Forecast the affected subscribers and status pages as well as + notifications that would be send out due to created or update incident. + responses: + '200': + description: The forecast for the provided incident + content: + application/json: + schema: + type: object + properties: + statusPagesInfo: + $ref: '#/components/schemas/UIMenuItem' + privateStatusPages: + type: number + readOnly: true + publicStatusPages: + type: number + readOnly: true + privateSubscribers: + type: number + readOnly: true + publicSubscribers: + type: number + readOnly: true + /incidents/{id}: + get: + tags: + - Incidents + parameters: + - $ref: '#/components/parameters/id' + - name: include + in: query + description: >- + Describes optional properties that should be included in the + response. You may declare multiple. (subscribed, affectedTeams, + history) + required: false + explode: true + schema: + type: array + items: + type: string + enum: + - subscribed + - affectedTeams + - history + summary: Get a specific incident. + description: >- + Note: returns an ETag header that can be send to the PUT /incidents/{id} + resource as If-Match header to return a 412 Error in case any related + resources e.g. Services or Incident have been updated in the mean time. + responses: + '200': + description: The requested incident + headers: + ETag: + description: >- + Send to the PUT /incidents/{id} resource as If-Match header to + return a 412 Error in case any related resources e.g. Services + or Incident have been updated in the mean time. + schema: + type: string + content: + application/json: + schema: + $ref: '#/components/schemas/IncidentWithHistory' + put: + tags: + - Incidents + parameters: + - $ref: '#/components/parameters/id' + - name: If-Match + in: header + required: false + description: >- + Should be the ETag response header retrieved from GET + /incidents/{id} to prevent updating the incident based on outdated + information. Will return 412 status code in case of conflict. + schema: + type: string + requestBody: + $ref: '#/components/requestBodies/IncidentNoIncludes' + summary: Update the specific incident. + description: >- + Note: the update will be automatically appended to the incident's update + history and publish notifications to subscribers. + responses: + '200': + description: The updated incident + content: + application/json: + schema: + $ref: '#/components/schemas/IncidentNoIncludes' + /incidents/{id}/private-subscribers: + get: + tags: + - Incidents + parameters: + - $ref: '#/components/parameters/id' + summary: Get the subscribers (users and teams) of an incident + responses: + '200': + description: The subscribers of the incident + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TeamUserOption' + post: + tags: + - Incidents + parameters: + - $ref: '#/components/parameters/id' + requestBody: + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TeamUserOption' + description: subscribers that should be added + required: true + summary: Add subscribers (users and teams) to an incident + responses: + '204': + description: '' + /services/{id}/private-subscribers: + get: + tags: + - Services + parameters: + - $ref: '#/components/parameters/id' + summary: Get the subscribers (users and teams) of a service + responses: + '200': + description: The subscribers of the service + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TeamUserOption' + put: + tags: + - Services + parameters: + - $ref: '#/components/parameters/id' + requestBody: + $ref: '#/components/requestBodies/TeamUserOptionArray' + summary: Set subscribers (users and teams) of a service + description: 'Note: this is an in place update' + responses: + '204': + description: '' + /status-pages: + get: + tags: + - Status Pages + parameters: + - $ref: '#/components/parameters/start-index' + - in: query + name: max-results + description: >- + the maximum number of results when paging through a list of status + pages. + required: false + schema: + type: integer + format: int32 + maximum: 50 + default: 25 + - name: include + in: query + description: >- + Describes optional properties that should be included in the + response. You may declare multiple. (subscribed) + required: false + explode: true + schema: + type: array + items: + type: string + enum: + - subscribed + summary: Get status pages. + responses: + '200': + description: The status pages + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/StatusPageList' + post: + tags: + - Status Pages + requestBody: + $ref: '#/components/requestBodies/StatusPageNoIncludes' + summary: Create a new status page. + responses: + '200': + description: The newly created status page + content: + application/json: + schema: + $ref: '#/components/schemas/StatusPageNoIncludes' + /status-pages/{id}: + get: + tags: + - Status Pages + parameters: + - $ref: '#/components/parameters/id' + - name: include + in: query + description: >- + Describes optional properties that should be included in the + response. You may declare multiple. (subscribed, uptime, groups, + structure). Note: structure is always included by default. + required: false + explode: true + schema: + type: array + items: + type: string + enum: + - subscribed + - uptime + - groups + - structure + summary: Get a specific status page. + responses: + '200': + description: The requested status page + content: + application/json: + schema: + $ref: '#/components/schemas/StatusPage' + put: + tags: + - Status Pages + parameters: + - $ref: '#/components/parameters/id' + requestBody: + $ref: '#/components/requestBodies/StatusPageNoIncludes' + summary: Update the specific status page + responses: + '200': + description: The updated status page + content: + application/json: + schema: + $ref: '#/components/schemas/StatusPageNoIncludes' + delete: + tags: + - Status Pages + parameters: + - $ref: '#/components/parameters/id' + summary: Remove a specific status page. + responses: + '204': + description: Empty body delete response + /status-pages/{id}/groups: + get: + tags: + - Status Pages + parameters: + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/start-index' + - $ref: '#/components/parameters/max-results' + summary: Get the groups of a status page + responses: + '200': + description: The groups of the status page + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/StatusPageGroup' + post: + tags: + - Status Pages + parameters: + - $ref: '#/components/parameters/id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/StatusPageGroup' + description: Group that should be added + required: true + summary: Add a group to a status page + responses: + '201': + description: The created group + content: + application/json: + schema: + $ref: '#/components/schemas/StatusPageGroup' + /status-pages/{id}/groups/{group-id}: + get: + tags: + - Status Pages + parameters: + - $ref: '#/components/parameters/id' + - name: group-id + in: path + description: entity ID + required: true + schema: + type: number + summary: Get a specific group of a status page + responses: + '200': + description: The group of the status page + content: + application/json: + schema: + $ref: '#/components/schemas/StatusPageGroup' + '404': + description: '' + put: + tags: + - Status Pages + parameters: + - $ref: '#/components/parameters/id' + - name: group-id + in: path + description: entity ID + required: true + schema: + type: number + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/StatusPageGroup' + description: Group that should be updated + required: true + summary: Update a group of a status page + responses: + '200': + description: The updated group of the status page + content: + application/json: + schema: + $ref: '#/components/schemas/StatusPageGroup' + delete: + tags: + - Status Pages + parameters: + - $ref: '#/components/parameters/id' + - name: group-id + in: path + description: entity ID + required: true + schema: + type: number + summary: Remove group from a status page + responses: + '204': + description: '' + /status-pages/{id}/private-subscribers: + get: + tags: + - Status Pages + parameters: + - $ref: '#/components/parameters/id' + summary: Get the subscribers (users and teams) of a status page + responses: + '200': + description: The subscribers of the status page + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TeamUserOption' + put: + tags: + - Status Pages + parameters: + - $ref: '#/components/parameters/id' + requestBody: + $ref: '#/components/requestBodies/TeamUserOptionArray' + summary: Set subscribers (users and teams) of a status page + description: 'Note: this is an in place update' + responses: + '204': + description: '' + post: + tags: + - Status Pages + parameters: + - $ref: '#/components/parameters/id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TeamUserOption' + description: subscriber that should be added + required: true + summary: Add subscriber (user and team) to a status page + responses: + '204': + description: '' + delete: + tags: + - Status Pages + parameters: + - $ref: '#/components/parameters/id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TeamUserOption' + description: subscriber that should be removed + required: true + summary: Remove subscriber (user and team) from a status page + responses: + '204': + description: '' + /service-outages: + get: + tags: + - Service Outages + parameters: + - in: query + name: service + description: the id of the service for which the outages should be fetched + schema: + type: number + - in: query + name: from + description: from date, ISO-UTC e.g. 2021-05-25T21:24:56.771Z + schema: + type: string + format: date-time + - in: query + name: until + description: until date, ISO-UTC e.g. 2021-05-26T21:24:56.771Z + schema: + type: string + format: date-time + - in: query + name: ignore-overrides + description: >- + if the outages should not take overrides into account, default is + false + schema: + type: boolean + summary: Get the outages (including applied overrides) of a specific service + responses: + '200': + description: The outages of the service + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ServiceOutage' + /service-outages/overrides: + get: + tags: + - Service Outages + parameters: + - in: query + name: service + description: the id of the service for which the overrides should be fetched + schema: + type: number + - in: query + name: from + description: from date, ISO-UTC e.g. 2021-05-25T21:24:56.771Z + schema: + type: string + format: date-time + - in: query + name: until + description: until date, ISO-UTC e.g. 2021-05-26T21:24:56.771Z + schema: + type: string + format: date-time + summary: Get the overrides of a specific service + responses: + '200': + description: The overrides of the service + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ServiceOutageOverride' + post: + tags: + - Service Outages + requestBody: + $ref: '#/components/requestBodies/ServiceOutageOverride' + summary: Override a part of a service's outage history + responses: + '201': + description: The added override + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceOutageOverride' + /service-outages/overrides/{id}: + get: + tags: + - Service Outages + parameters: + - $ref: '#/components/parameters/id' + summary: Get the specific service outage override + responses: + '200': + description: The override + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceOutageOverride' + put: + tags: + - Service Outages + parameters: + - $ref: '#/components/parameters/id' + requestBody: + $ref: '#/components/requestBodies/ServiceOutageOverride' + summary: Update an existing service outage override + responses: + '200': + description: The updated override + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceOutageOverride' + delete: + tags: + - Service Outages + parameters: + - $ref: '#/components/parameters/id' + summary: Remove a service outage override + responses: + '204': + description: '' + /metric-data-sources: + get: + tags: + - Metric Data Sources + parameters: + - $ref: '#/components/parameters/start-index' + - in: query + name: max-results + description: >- + the maximum number of results when paging through a list of metric + data sources + required: false + schema: + type: integer + format: int32 + maximum: 100 + default: 10 + summary: Get Metric Data Sources + responses: + '200': + description: The Metric Data Sources + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/MetricDataSourceNoIncludes' + post: + tags: + - Metric Data Sources + requestBody: + $ref: '#/components/requestBodies/MetricDataSourcePost' + summary: Create a new Metric Data Source. + responses: + '200': + description: The newly created Metric Data Source + content: + application/json: + schema: + $ref: '#/components/schemas/MetricDataSource' + /metric-data-sources/{id}: + get: + tags: + - Metric Data Sources + summary: Get a specific Metric Data Source + parameters: + - name: id + in: path + required: true + description: entity ID + schema: + type: number + responses: + '200': + description: The requested Metric Data Source + content: + application/json: + schema: + $ref: '#/components/schemas/MetricDataSource' + put: + tags: + - Metric Data Sources + parameters: + - name: id + in: path + required: true + description: entity ID + schema: + type: number + requestBody: + $ref: '#/components/requestBodies/MetricDataSourcePost' + summary: Update the specific Metric Data Source + responses: + '200': + description: The updated Metric Data Source + content: + application/json: + schema: + $ref: '#/components/schemas/MetricDataSource' + delete: + tags: + - Metric Data Sources + parameters: + - name: id + in: path + required: true + description: entity ID + schema: + type: number + summary: Delete a specific Metric Data Source + responses: + '204': + description: Empty body delete response + /metrics: + get: + tags: + - Metrics + parameters: + - $ref: '#/components/parameters/start-index' + - in: query + name: max-results + description: >- + the maximum number of results when paging through a list of metrics. + (Note: when using ?include maximum is reduced to 25) + required: false + schema: + type: integer + format: int32 + maximum: 100 + default: 10 + - name: include + in: query + description: >- + Describes optional properties that should be included in the + response. You may declare multiple. (dataSource, integrationKey) + required: false + explode: true + schema: + type: array + items: + type: string + enum: + - dataSource + - integrationKey + summary: Get metrics. + responses: + '200': + description: The metrics + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/MetricList' + post: + tags: + - Metrics + requestBody: + $ref: '#/components/requestBodies/MetricPost' + summary: Create a new metric. + responses: + '200': + description: The newly created metric + content: + application/json: + schema: + $ref: '#/components/schemas/Metric' + /metric/{id}: + get: + tags: + - Metrics + summary: Get a specific Metric + parameters: + - name: id + in: path + required: true + description: entity ID + schema: + type: number + responses: + '200': + description: The requested metric + content: + application/json: + schema: + $ref: '#/components/schemas/Metric' + put: + tags: + - Metrics + summary: Update the specific Metric + parameters: + - name: id + in: path + required: true + description: entity ID + schema: + type: number + requestBody: + $ref: '#/components/requestBodies/MetricPost' + responses: + '200': + description: The updated metric + content: + application/json: + schema: + $ref: '#/components/schemas/Metric' + delete: + tags: + - Metrics + summary: Delete the specific Metric + parameters: + - name: id + in: path + required: true + description: entity ID + schema: + type: number + responses: + '204': + description: Empty body delete response + servers: + - url: /api + components: + parameters: + id: + name: id + in: path + description: entity ID + required: true + schema: + type: number + string-id: + name: id + in: path + description: entity ID + required: true + schema: + type: string + user-id-in-path: + name: user-id + in: path + description: numeric user id + required: true + schema: + type: string + include: + name: include + in: query + description: Describes optional properties that should be included in the response. + required: false + schema: + type: string + user-id-in-query: + name: user + in: query + description: numeric user id + schema: + type: string + source-id-or-key: + name: source-id + in: path + description: numeric source id or api key + required: true + schema: + type: string + requester-id: + in: query + name: requester-id + description: id of the user who requested this operation + schema: + type: string + start-index: + in: query + name: start-index + description: >- + an integer specifying the starting point (beginning with 0) when paging + through a list of entities + required: false + schema: + type: integer + format: int32 + default: 0 + max-results: + in: query + name: max-results + description: the maximum number of results when paging through a list of entities. + required: false + schema: + type: integer + format: int32 + maximum: 100 + default: 50 + key: + name: key + in: path + description: api key of resource + required: true + schema: + type: string + requestBodies: + Connector: + content: + application/json: + schema: + $ref: '#/components/schemas/Connector' + description: the connector + required: true + AlertSourceRel: + content: + application/json: + schema: + $ref: '#/components/schemas/AlertSourceRel' + description: the alert source + required: true + ServiceOutageOverride: + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceOutageOverride' + description: override that should be made + required: true + TeamUserOptionArray: + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TeamUserOption' + description: subscribers that should be adjusted + required: true + MaintenanceWindow: + content: + application/json: + schema: + $ref: '#/components/schemas/MaintenanceWindow' + description: the maintenance window + required: true + MetricPost: + content: + application/json: + schema: + $ref: '#/components/schemas/MetricPost' + description: The metric + required: true + Schedule: + content: + application/json: + schema: + $ref: '#/components/schemas/Schedule' + description: >- + The on-call schedule. (scheduleLayers [only available for RECURRING + schedules], shifts [only available for STATIC schedules]) + required: true + SupportHour: + content: + application/json: + schema: + $ref: '#/components/schemas/SupportHour' + description: the support hour + required: true + AlertAction: + content: + application/json: + schema: + $ref: '#/components/schemas/AlertAction' + description: the alert action + required: true + Team: + content: + application/json: + schema: + $ref: '#/components/schemas/Team' + description: the team + required: true + IncidentTemplate: + content: + application/json: + schema: + $ref: '#/components/schemas/IncidentTemplate' + description: the incident template + required: true + ServiceNoIncludes: + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceNoIncludes' + description: the service + required: true + AutomationRule: + content: + application/json: + schema: + $ref: '#/components/schemas/AutomationRule' + description: the automation rule + required: true + IncidentNoIncludes: + content: + application/json: + schema: + $ref: '#/components/schemas/IncidentNoIncludes' + description: the incident + required: true + StatusPageNoIncludes: + content: + application/json: + schema: + $ref: '#/components/schemas/StatusPageNoIncludes' + description: the status page + required: true + MetricDataSourcePost: + content: + application/json: + schema: + $ref: '#/components/schemas/MetricDataSourcePost' + description: The metric data source + required: true + securitySchemes: + apiKey: + type: apiKey + in: header + name: Authorization + description: >- + The Bearer API key of your user more info. + schemas: + ContactStatus: + type: string + enum: + - OK + - LOCKED + - BLACKLISTED + ContactPhoneNumber: + type: object + properties: + id: + type: integer + format: int64 + regionCode: + type: string + target: + type: string + primary: + type: boolean + description: May only be enabled for a single phone number contact at a time + status: + $ref: '#/components/schemas/ContactStatus' + ContactPhoneNumberPost: + type: object + properties: + regionCode: + type: string + target: + type: string + primary: + type: boolean + description: May only be enabled for a single phone number contact at a time + TimeZone: + type: string + enum: + - Europe/Berlin + - America/New_York + - America/Los_Angeles + - Asia/Istanbul + OutboundNumber: + type: object + properties: + countryCode: + type: string + phoneNumber: + type: string + supportsInboundSms: + type: boolean + types: + type: array + items: + type: string + enum: + - SMS + - VOICE + Integration: + type: object + properties: + id: + type: string + name: + type: string + type: + type: string + enum: + - INBOUND + - NATIVE + - OUTBOUND + iconUrl: + type: string + documentationUrl: + type: string + integrationPath: + type: string + Role: + type: string + enum: + - STAKEHOLDER + - GUEST + - RESPONDER + - USER + - ADMIN + TeamRole: + type: string + enum: + - STAKEHOLDER + - RESPONDER + - USER + - ADMIN + UserRel: + type: object + required: + - id + properties: + id: + type: integer + format: int64 + firstName: + type: string + lastName: + type: string + User: + type: object + required: + - firstName + - lastName + - email + properties: + id: + type: integer + format: int64 + firstName: + type: string + lastName: + type: string + email: + type: string + timezone: + $ref: '#/components/schemas/TimeZone' + position: + type: string + department: + type: string + avatarUrl: + type: string + readOnly: true + language: + type: string + enum: + - DE + - EN + role: + $ref: '#/components/schemas/Role' + shiftColor: + type: string + description: Optional hex-color code for the user's shifts in schedules calendars + mutedUntil: + type: string + format: date-time + description: Date in ISO-8601 + createdAt: + type: string + format: date-time + description: Date in ISO-8601 + updatedAt: + type: string + format: date-time + description: Date in ISO-8601 + UserPost: + type: object + required: + - firstName + - lastName + - email + properties: + firstName: + type: string + lastName: + type: string + email: + type: string + timezone: + $ref: '#/components/schemas/TimeZone' + position: + type: string + department: + type: string + avatarUrl: + type: string + readOnly: true + language: + type: string + enum: + - DE + - EN + role: + $ref: '#/components/schemas/Role' + shiftColor: + type: string + description: Optional hex-color code for the user's shifts in schedules calendars + ContactEmail: + type: object + properties: + id: + type: integer + format: int64 + target: + type: string + status: + $ref: '#/components/schemas/ContactStatus' + ContactEmailPost: + type: object + properties: + target: + type: string + NotificationPreferenceAlertMethod: + type: string + enum: + - EMAIL + - SMS + - PUSH + - VOICE + - WHATSAPP + - TELEGRAM + NotificationPreferenceAlertType: + type: string + enum: + - LOW_PRIORITY + - HIGH_PRIORITY + NotificationPreferencesAlertDelayMin: + type: integer + minimum: '0' + maximum: '120' + NotificationPreferencesAlert: + type: object + properties: + id: + type: integer + format: int64 + method: + $ref: '#/components/schemas/NotificationPreferenceAlertMethod' + contact: + oneOf: + - $ref: '#/components/schemas/ContactPhoneNumber' + - $ref: '#/components/schemas/ContactEmail' + delayMin: + $ref: '#/components/schemas/NotificationPreferencesAlertDelayMin' + type: + $ref: '#/components/schemas/NotificationPreferenceAlertType' + NotificationPreferencesAlertPost: + type: object + properties: + method: + $ref: '#/components/schemas/NotificationPreferenceAlertMethod' + contact: + oneOf: + - $ref: '#/components/schemas/ContactPhoneNumber' + - $ref: '#/components/schemas/ContactEmail' + delayMin: + $ref: '#/components/schemas/NotificationPreferencesAlertDelayMin' + type: + $ref: '#/components/schemas/NotificationPreferenceAlertType' + NotificationPreferencesDutyTypes: + type: string + enum: + - ON_CALL + NotificationPreferencesDutyBeforeMin: + type: integer + enum: + - 0 + - 15 + - 30 + - 60 + - 180 + - 360 + - 720 + - 1440 + NotificationPreferenceDutyMethod: + type: string + enum: + - EMAIL + - SMS + - PUSH + - WHATSAPP + - TELEGRAM + NotificationPreferencesDuty: + type: object + properties: + id: + type: integer + format: int64 + beforeMin: + $ref: '#/components/schemas/NotificationPreferencesDutyBeforeMin' + contact: + oneOf: + - $ref: '#/components/schemas/ContactPhoneNumber' + - $ref: '#/components/schemas/ContactEmail' + method: + $ref: '#/components/schemas/NotificationPreferenceDutyMethod' + type: + $ref: '#/components/schemas/NotificationPreferencesDutyTypes' + NotificationPreferencesDutyPost: + type: object + properties: + beforeMin: + $ref: '#/components/schemas/NotificationPreferencesDutyBeforeMin' + contact: + oneOf: + - $ref: '#/components/schemas/ContactPhoneNumber' + - $ref: '#/components/schemas/ContactEmail' + method: + $ref: '#/components/schemas/NotificationPreferenceDutyMethod' + type: + $ref: '#/components/schemas/NotificationPreferencesDutyTypes' + NotificationPreferenceUpdateMethod: + type: string + enum: + - EMAIL + - SMS + - PUSH + - WHATSAPP + - TELEGRAM + NotificationPreferencesUpdateType: + type: string + enum: + - ALERT_ACCEPTED + - ALERT_RESOLVED + - ALERT_ESCALATED + NotificationPreferencesUpdate: + type: object + properties: + id: + type: integer + format: int64 + contact: + oneOf: + - $ref: '#/components/schemas/ContactPhoneNumber' + - $ref: '#/components/schemas/ContactEmail' + method: + $ref: '#/components/schemas/NotificationPreferenceUpdateMethod' + type: + $ref: '#/components/schemas/NotificationPreferencesUpdateType' + NotificationPreferencesUpdatePost: + type: object + properties: + contact: + oneOf: + - $ref: '#/components/schemas/ContactPhoneNumber' + - $ref: '#/components/schemas/ContactEmail' + method: + $ref: '#/components/schemas/NotificationPreferenceUpdateMethod' + type: + $ref: '#/components/schemas/NotificationPreferencesUpdateType' + NotificationPreferenceSubscriptionMethod: + type: string + enum: + - EMAIL + - SMS + - PUSH + NotificationPreferencesSubscription: + type: object + properties: + id: + type: integer + format: int64 + contact: + oneOf: + - $ref: '#/components/schemas/ContactPhoneNumber' + - $ref: '#/components/schemas/ContactEmail' + method: + $ref: '#/components/schemas/NotificationPreferenceSubscriptionMethod' + NotificationPreferencesSubscriptionPost: + type: object + properties: + contact: + oneOf: + - $ref: '#/components/schemas/ContactPhoneNumber' + - $ref: '#/components/schemas/ContactEmail' + method: + $ref: '#/components/schemas/NotificationPreferenceSubscriptionMethod' + EscalationRule: + type: object + required: + - escalationTimeout + properties: + escalationTimeout: + type: integer + user: + description: 'This field (type: User) is deprecated, please use ''users'' instead' + type: object + properties: + id: + type: number + schedule: + description: >- + This field (type: Schedule) is deprecated, please use 'schedules' + instead + type: object + properties: + id: + type: number + users: + type: array + items: + $ref: '#/components/schemas/UserRel' + schedules: + type: array + items: + $ref: '#/components/schemas/ScheduleRel' + EscalationPolicy: + type: object + required: + - name + - escalationRules + properties: + id: + type: integer + format: int64 + name: + type: string + escalationRules: + type: array + items: + $ref: '#/components/schemas/EscalationRule' + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + repeating: + type: boolean + default: false + frequency: + type: integer + format: int32 + minimum: 1 + maximum: 9 + default: 1 + delayMin: + type: integer + format: int32 + minimum: 0 + maximum: 15 + default: 0 + routingKey: + type: string + description: optional + AlertPriority: + type: string + enum: + - HIGH + - LOW + AlertPriorityRule: + type: string + enum: + - HIGH + - LOW + - HIGH_DURING_SUPPORT_HOURS + - LOW_DURING_SUPPORT_HOURS + SupportHour: + type: object + required: + - name + - timezone + - supportDays + properties: + id: + type: integer + format: int64 + name: + type: string + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + timezone: + $ref: '#/components/schemas/TimeZone' + supportDays: + type: object + properties: + MONDAY: + $ref: '#/components/schemas/SupportDay' + TUESDAY: + $ref: '#/components/schemas/SupportDay' + WEDNESDAY: + $ref: '#/components/schemas/SupportDay' + THURSDAY: + $ref: '#/components/schemas/SupportDay' + FRIDAY: + $ref: '#/components/schemas/SupportDay' + SATURDAY: + $ref: '#/components/schemas/SupportDay' + SUNDAY: + $ref: '#/components/schemas/SupportDay' + SupportDay: + type: object + required: + - start + - end + properties: + start: + type: string + format: time + end: + type: string + format: time + IntegrationType: + type: string + enum: + - NAGIOS + - ICINGA + - EMAIL + - SMS + - API + - CRN + - HEARTBEAT + - PRTG + - PINGDOM + - CLOUDWATCH + - AWSPHD + - STACKDRIVER + - INSTANA + - ZABBIX + - SOLARWINDS + - PROMETHEUS + - NEWRELIC + - GRAFANA + - GITHUB + - DATADOG + - UPTIMEROBOT + - APPDYNAMICS + - DYNATRACE + - TOPDESK + - STATUSCAKE + - MONITOR + - TOOL + - CHECKMK + - AUTOTASK + - AWSBUDGET + - SEARCHGUARD + - SERVERDENSITY + - ZAPIER + - KENTIXAM + - CONSUL + - ZAMMAD + - SIGNALFX + - SPLUNK + - KUBERNETES + - SEMATEXT + - SENTRY + - SUMOLOGIC + - RAYGUN + - MXTOOLBOX + - ESWATCHER + - AMAZONSNS + - KAPACITOR + - CORTEXXSOAR + - SENSU + - JUMPCLOUD + - SALESFORCE + - GUARDDUTY + - STATUSHUB + - IXON + - APIFORTRESS + - FRESHSERVICE + - APPSIGNAL + - LIGHTSTEP + - IBMCLOUDFUNCTIONS + - CROWDSTRIKE + - HUMIO + - OHDEAR + - MONGODBATLAS + - GITLAB + - HYPERPING + - PAPRISMACLOUD + - SAMSARA + - PANDORAFMS + - MSSCOM + - TWILIO + - CISCOMERAKI + - CHECKLY + - POSTHOG + - GOOGLESCC + - SLACK + - MSTEAMS + - UPTIMEKUMA + - TWILIOERRORS + - PARTICLE + - CLOUDFLARE + - TULIP + - GRAYLOG + - CATCHPOINT + - LOKI + - CORTEX + - MIMIR + AlertActionType: + type: string + enum: + - datadog + - autotask + - jira + - microsoft_teams + - servicenow + - slack + - webhook + - zendesk + - discord + - github + - topdesk + - aws_lambda + - azure_faas + - google_faas + - email + - sysdig + - zapier + - zammad + - mattermost + - zoom_chat + - zoom_meeting + - status_page_io + - webex + - dingtalk + - dingtalk_action + - aws_event_bridge + - auvik + - dynamic + - zabbix + - automation_rule + - telegram + ConnectorType: + type: string + enum: + - datadog + - jira + - microsoft_teams + - servicenow + - slack + - zendesk + - discord + - github + - topdesk + - aws_lambda + - azure_faas + - google_faas + - sysdig + - zammad + - mattermost + - zoom_chat + - zoom_meeting + - status_page_io + - webex + - dingtalk + - auvik + - dynamic + - zabbix + ScheduleRel: + type: object + properties: + id: + type: integer + format: int64 + name: + type: string + type: + type: string + enum: + - STATIC + - RECURRING + Schedule: + type: object + properties: + id: + type: integer + format: int64 + name: + type: string + timezone: + $ref: '#/components/schemas/TimeZone' + type: + type: string + enum: + - STATIC + - RECURRING + scheduleLayers: + type: array + items: + $ref: '#/components/schemas/ScheduleLayerConfig' + shifts: + type: array + items: + $ref: '#/components/schemas/ShiftRel' + showGaps: + type: boolean + defaultShiftDuration: + type: string + format: P7D + currentShift: + $ref: '#/components/schemas/ShiftRel' + nextShift: + $ref: '#/components/schemas/ShiftRel' + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + ShiftRel: + type: object + properties: + user: + $ref: '#/components/schemas/UserRel' + end: + type: string + format: date-time + start: + type: string + format: date-time + Shift: + type: object + properties: + user: + $ref: '#/components/schemas/User' + end: + type: string + format: date-time + start: + type: string + format: date-time + ScheduleLayerConfig: + type: object + required: + - startsOn + - users + - rotation + properties: + name: + type: string + startsOn: + type: string + format: date-time + endsOn: + type: string + format: date-time + users: + type: array + items: + $ref: '#/components/schemas/UserRel' + rotation: + type: string + format: P7D + restrictionType: + type: string + description: >- + Note: 'TIMES_OF_DAY' is just a UI state representation, the API + always uses 'TIMES_OF_WEEK' + enum: + - TIMES_OF_WEEK + restrictions: + type: array + items: + $ref: '#/components/schemas/ScheduleLayerRestriction' + ScheduleLayerRestriction: + type: object + required: + - from + - to + properties: + from: + $ref: '#/components/schemas/TimeOfWeek' + to: + $ref: '#/components/schemas/TimeOfWeek' + TimeOfWeek: + type: object + required: + - dayOfWeek + - time + properties: + dayOfWeek: + type: string + enum: + - MONDAY + - TUESDAY + - WEDNESDAY + - THURSDAY + - FRIDAY + - SATURDAY + - SUNDAY + time: + type: string + format: '15:00' + Connector: + type: object + required: + - type + - name + properties: + id: + type: string + type: + $ref: '#/components/schemas/ConnectorType' + name: + type: string + createdAt: + type: string + format: date-time + updatedAt: + type: string + format: date-time + params: + type: object + oneOf: + - $ref: '#/components/schemas/EParamsDatadog' + - $ref: '#/components/schemas/EParamsJira' + - $ref: '#/components/schemas/EParamsMicrosoftTeams' + - $ref: '#/components/schemas/EParamsServiceNow' + - $ref: '#/components/schemas/EParamsSlack' + - $ref: '#/components/schemas/EParamsZendesk' + - $ref: '#/components/schemas/EParamsDiscord' + - $ref: '#/components/schemas/EParamsGithub' + - $ref: '#/components/schemas/EParamsTopdesk' + - $ref: '#/components/schemas/EParamsAWSLambda' + - $ref: '#/components/schemas/EParamsAzureFunction' + - $ref: '#/components/schemas/EParamsGoogleFunction' + - $ref: '#/components/schemas/EParamsSysdig' + - $ref: '#/components/schemas/EParamsStatusPageIO' + - $ref: '#/components/schemas/EParamsDingTalk' + - $ref: '#/components/schemas/EParamsZabbix' + EParamsZabbix: + type: object + properties: + url: + type: string + apiKey: + type: string + EParamsDingTalk: + type: object + properties: + url: + type: string + secret: + type: string + EParamsDatadog: + type: object + properties: + apiKey: + type: string + EParamsJira: + type: object + properties: + url: + type: string + email: + type: string + password: + type: string + EParamsMicrosoftTeams: + type: object + properties: + url: + type: string + EParamsServiceNow: + type: object + properties: + url: + type: string + username: + type: string + password: + type: string + EParamsSlack: + type: object + properties: {} + EParamsZendesk: + type: object + properties: + url: + type: string + email: + type: string + apiKey: + type: string + EParamsDiscord: + type: object + properties: + url: + type: string + EParamsGithub: + type: object + properties: + apiKey: + type: string + EParamsTopdesk: + type: object + properties: + url: + type: string + username: + type: string + password: + type: string + EParamsAWSLambda: + type: object + properties: + authorization: + type: string + EParamsAzureFunction: + type: object + properties: + authorization: + type: string + EParamsGoogleFunction: + type: object + properties: + authorization: + type: string + EParamsSysdig: + type: object + properties: + apiKey: + type: string + EParamsStatusPageIO: + type: object + properties: + apiKey: + type: string + AlertAction: + type: object + required: + - connectorType + - name + properties: + id: + type: string + alertSources: + type: array + items: + $ref: '#/components/schemas/AlertSource' + connectorId: + type: string + connectorType: + $ref: '#/components/schemas/AlertActionType' + name: + type: string + createdAt: + type: string + format: date-time + updatedAt: + type: string + format: date-time + triggerMode: + type: string + enum: + - AUTOMATIC + - MANUAL + bidirectional: + type: boolean + readOnly: true + delaySec: + description: May only be used with triggerType 'alert-escalation-ended' selected + type: number + minimum: 0 + maximum: 7200 + triggerTypes: + type: array + items: + type: string + enum: + - alert-created + - alert-assigned + - alert-auto-escalated + - alert-acknowledged + - alert-raised + - alert-comment-added + - alert-escalation-ended + - alert-resolved + - alert-responder-added + - alert-responder-removed + - alert-channel-attached + - alert-channel-detached + alertFilter: + type: object + properties: + operator: + type: string + enum: + - AND + - OR + predicates: + type: array + items: + type: object + properties: + field: + type: string + enum: + - ALERT_SUMMARY + - ALERT_DETAILS + - ESCALATION_POLICY + - ALERT_PRIORITY + criteria: + type: string + enum: + - CONTAINS_ANY_WORDS + - CONTAINS_NOT_WORDS + - CONTAINS_STRING + - CONTAINS_NOT_STRING + - IS_STRING + - IS_NOT_STRING + - MATCHES_REGEX + - MATCHES_NOT_REGEX + value: + type: string + params: + type: object + oneOf: + - $ref: '#/components/schemas/CParamsDatadog' + - $ref: '#/components/schemas/CParamsJira' + - $ref: '#/components/schemas/CParamsMicrosoftTeams' + - $ref: '#/components/schemas/CParamsMicrosoftTeamsWebhookOnly' + - $ref: '#/components/schemas/CParamsServiceNow' + - $ref: '#/components/schemas/CParamsAutotask' + - $ref: '#/components/schemas/CParamsSlack' + - $ref: '#/components/schemas/CParamsWebhook' + - $ref: '#/components/schemas/CParamsZendesk' + - $ref: '#/components/schemas/CParamsDiscord' + - $ref: '#/components/schemas/CParamsGithub' + - $ref: '#/components/schemas/CParamsTopdesk' + - $ref: '#/components/schemas/CParamsAWSLambda' + - $ref: '#/components/schemas/CParamsAzureFunction' + - $ref: '#/components/schemas/CParamsGoogleFunction' + - $ref: '#/components/schemas/CParamsEmail' + - $ref: '#/components/schemas/CParamsSysdig' + - $ref: '#/components/schemas/CParamsZapier' + - $ref: '#/components/schemas/CParamsZoomChat' + - $ref: '#/components/schemas/CParamsZoomMeeting' + - $ref: '#/components/schemas/CParamsStatusPageIO' + - $ref: '#/components/schemas/CParamsDingTalk' + - $ref: '#/components/schemas/CParamsDingTalkAction' + - $ref: '#/components/schemas/CParamsAutomationRule' + - $ref: '#/components/schemas/CParamsAutomationRule' + - $ref: '#/components/schemas/CParamsTelegram' + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + CParamsAutomationRule: + type: object + required: + - alertType + - serviceStatus + - serviceIds + properties: + alertType: + type: string + enum: + - CREATED + - ACCEPTED + resolveIncident: + type: boolean + default: false + serviceStatus: + $ref: '#/components/schemas/ServiceStatus' + templateId: + type: integer + format: int64 + sendNotification: + type: boolean + default: false + serviceIds: + type: array + items: + type: integer + format: int64 + CParamsTelegram: + type: object + required: + - channelId + properties: + channelId: + type: string + description: The telegram group id, usually i64, as string + CParamsDingTalk: + type: object + properties: + isAtAll: + type: boolean + atMobiles: + type: array + items: + type: string + CParamsDingTalkAction: + type: object + properties: + url: + type: string + secret: + type: string + isAtAll: + type: boolean + atMobiles: + type: array + items: + type: string + CParamsDatadog: + type: object + properties: + tags: + type: array + items: + type: string + priority: + type: string + site: + type: string + CParamsJira: + type: object + properties: + project: + type: string + issueType: + type: string + bodyTemplate: + type: string + CParamsServiceNow: + type: object + properties: + callerId: + type: string + impact: + type: string + urgency: + type: string + closeCode: + type: string + assignmentGroup: + type: string + ownerGroup: + type: string + service: + type: string + serviceOffering: + type: string + contactType: + type: string + CParamsAutotask: + type: object + required: + - queueId + properties: + companyId: + type: string + queueId: + type: string + ticketCategory: + type: string + ticketType: + type: string + noteType: + type: string + notePublish: + type: string + status: + type: string + CParamsMicrosoftTeamsWebhookOnly: + type: object + properties: {} + CParamsMicrosoftTeams: + type: object + required: + - channelId + - teamId + properties: + channelId: + type: string + channelName: + type: string + teamId: + type: string + teamName: + type: string + type: + type: string + enum: + - chat + - meeting + CParamsSlack: + type: object + required: + - channelId + properties: + channelId: + type: string + channelName: + type: string + teamDomain: + type: string + teamId: + type: string + CParamsWebhook: + type: object + properties: + webhookUrl: + type: string + bodyTemplate: + type: string + CParamsZendesk: + type: object + properties: + priority: + type: string + CParamsDiscord: + type: object + properties: {} + CParamsGithub: + type: object + properties: + owner: + type: string + repository: + type: string + labels: + type: array + items: + type: string + CParamsTopdesk: + type: object + properties: + status: + type: string + CParamsAWSLambda: + type: object + properties: + webhookUrl: + type: string + bodyTemplate: + type: string + CParamsAzureFunction: + type: object + properties: + webhookUrl: + type: string + bodyTemplate: + type: string + CParamsGoogleFunction: + type: object + properties: + webhookUrl: + type: string + bodyTemplate: + type: string + CParamsEmail: + type: object + properties: + recipients: + type: array + items: + type: string + subject: + type: string + bodyTemplate: + type: string + CParamsSysdig: + type: object + properties: + tags: + type: array + items: + type: string + eventFilter: + type: string + CParamsZapier: + type: object + properties: + webhookUrl: + type: string + CParamsZoomChat: + type: object + properties: + channelId: + type: string + CParamsZoomMeeting: + type: object + properties: + password: + type: string + CParamsStatusPageIO: + type: object + properties: + pageId: + type: string + MaintenanceWindow: + type: object + properties: + timezone: + $ref: '#/components/schemas/TimeZone' + start: + type: string + format: date-time + end: + type: string + format: date-time + summary: + type: string + description: + type: string + alertSources: + type: array + items: + $ref: '#/components/schemas/AlertSource' + maxItems: 50 + services: + type: array + items: + $ref: '#/components/schemas/ServiceNoIncludes' + maxItems: 50 + createdBy: + type: string + readOnly: true + notifications: + type: object + properties: + atCreation: + type: boolean + atStart: + type: boolean + atEnd: + type: boolean + TeamRel: + type: object + properties: + id: + type: integer + format: int64 + name: + type: string + Team: + type: object + properties: + id: + type: integer + format: int64 + name: + type: string + visibility: + $ref: '#/components/schemas/TeamVisibilityType' + members: + type: array + items: + $ref: '#/components/schemas/TeamMember' + createdAt: + type: string + format: date-time + description: Date in ISO-8601 + updatedAt: + type: string + format: date-time + description: Date in ISO-8601 + TeamVisibilityType: + type: string + enum: + - PUBLIC + - PRIVATE + TeamMember: + type: object + properties: + user: + $ref: '#/components/schemas/User' + role: + $ref: '#/components/schemas/TeamRole' + OnCall: + type: object + properties: + user: + $ref: '#/components/schemas/User' + escalationPolicy: + $ref: '#/components/schemas/EscalationPolicy' + schedule: + $ref: '#/components/schemas/ScheduleRel' + start: + type: string + format: date-time + end: + type: string + format: date-time + escalationLevel: + type: number + AlertSource: + type: object + required: + - name + - escalationPolicy + - integrationType + properties: + id: + type: integer + format: int64 + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + name: + type: string + iconUrl: + type: string + lightIconUrl: + type: string + darkIconUrl: + type: string + escalationPolicy: + $ref: '#/components/schemas/EscalationPolicy' + integrationType: + $ref: '#/components/schemas/IntegrationType' + integrationKey: + type: string + integrationUrl: + type: string + readOnly: true + autoResolutionTimeout: + type: string + format: ISO-8601 + alertGroupingWindow: + type: string + format: ISO-8601 + alertCreation: + type: string + default: ONE_ALERT_PER_EMAIL + enum: + - ONE_ALERT_PER_EMAIL + - ONE_ALERT_PER_EMAIL_SUBJECT + - ONE_PENDING_ALERT_ALLOWED + - ONE_OPEN_ALERT_ALLOWED + - OPEN_RESOLVE_ON_EXTRACTION + - ONE_ALERT_GROUPED_PER_WINDOW + status: + type: string + readOnly: true + enum: + - PENDING + - ALL_ACCEPTED + - ALL_RESOLVED + - IN_MAINTENANCE + - DISABLED + emailFiltered: + type: boolean + default: false + emailResolveFiltered: + type: boolean + default: false + active: + type: boolean + default: true + emailPredicates: + type: array + items: + type: object + properties: + field: + type: string + enum: + - EMAIL_FROM + - EMAIL_SUBJECT + - EMAIL_BODY + criteria: + type: string + enum: + - CONTAINS_ANY_WORDS + - CONTAINS_NOT_WORDS + - CONTAINS_STRING + - CONTAINS_NOT_STRING + - IS_STRING + - IS_NOT_STRING + - MATCHES_REGEX + - MATCHES_NOT_REGEX + value: + type: string + emailResolvePredicates: + type: array + items: + type: object + properties: + field: + type: string + enum: + - EMAIL_FROM + - EMAIL_SUBJECT + - EMAIL_BODY + criteria: + type: string + enum: + - CONTAINS_ANY_WORDS + - CONTAINS_NOT_WORDS + - CONTAINS_STRING + - CONTAINS_NOT_STRING + - IS_STRING + - IS_NOT_STRING + - MATCHES_REGEX + - MATCHES_NOT_REGEX + value: + type: string + resolveKeyExtractor: + type: object + properties: + field: + type: string + enum: + - EMAIL_SUBJECT + - EMAIL_BODY + criteria: + type: string + enum: + - ALL_TEXT_BEFORE + - MATCHES_REGEX + - ALL_TEXT_AFTER + value: + type: string + filterOperator: + type: string + enum: + - AND + - OR + resolveFilterOperator: + type: string + enum: + - AND + - OR + alertPriorityRule: + $ref: '#/components/schemas/AlertPriorityRule' + supportHours: + $ref: '#/components/schemas/SupportHour' + heartbeat: + type: object + properties: + summary: + type: string + intervalSec: + type: integer + status: + type: string + readOnly: true + enum: + - OVERDUE + - ON_TIME + - NEVER_RECEIVED + lastPingReceivedAt: + type: string + format: date-time + readOnly: true + bidirectional: + type: boolean + readOnly: true + summaryTemplate: + $ref: '#/components/schemas/AlertSourceTemplate' + detailsTemplate: + $ref: '#/components/schemas/AlertSourceTemplate' + routingTemplate: + $ref: '#/components/schemas/AlertSourceTemplate' + linkTemplates: + type: array + items: + $ref: '#/components/schemas/AlertSourceLinkTemplate' + priorityTemplate: + $ref: '#/components/schemas/AlertSourcePriorityTemplate' + AlertSourceTemplate: + type: object + properties: + textTemplate: + type: string + description: >- + For more information on alert source templating, please visit: + https://docs.ilert.com/alerting/alert-sources#alert-template. + + Example:
`Hi {{ users[0].name }} there!` + + You can use the text template instead of elements by adding the + include `textTemplate` to your request. Any version can be used for + POST or PUT requests. + elements: + type: array + items: + $ref: '#/components/schemas/AlertSourceTemplateElement' + AlertSourceTemplateElement: + type: object + required: + - type, val + properties: + type: + type: string + enum: + - TEXT + - VAR + - RAW + val: + type: string + func: + type: string + args: + type: array + items: + $ref: '#/components/schemas/AlertSourceTemplateElementArg' + AlertSourceTemplateElementArg: + type: object + properties: + S: + type: string + 'N': + type: integer + AlertSourceLinkTemplate: + type: object + required: + - text + - hrefTemplate + properties: + text: + type: string + hrefTemplate: + $ref: '#/components/schemas/AlertSourceTemplate' + AlertSourcePriorityTemplate: + type: object + required: + - valueTemplate + - mappings + properties: + valueTemplate: + $ref: '#/components/schemas/AlertSourceTemplate' + mappings: + type: array + items: + $ref: '#/components/schemas/AlertSourcePriorityTemplateMapping' + AlertSourcePriorityTemplateMapping: + type: object + required: + - value + - priority + properties: + value: + type: string + priority: + type: string + enum: + - LOW + - HIGH + AlertSourceNoIncludes: + type: object + required: + - name + - escalationPolicy + - integrationType + properties: + id: + type: integer + format: int64 + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + name: + type: string + iconUrl: + type: string + lightIconUrl: + type: string + darkIconUrl: + type: string + escalationPolicy: + $ref: '#/components/schemas/EscalationPolicy' + integrationType: + $ref: '#/components/schemas/IntegrationType' + integrationKey: + type: string + integrationUrl: + type: string + readOnly: true + autoResolutionTimeout: + type: string + format: ISO-8601 + alertGroupingWindow: + type: string + format: ISO-8601 + alertCreation: + type: string + default: ONE_ALERT_PER_EMAIL + enum: + - ONE_ALERT_PER_EMAIL + - ONE_ALERT_PER_EMAIL_SUBJECT + - ONE_PENDING_ALERT_ALLOWED + - ONE_OPEN_ALERT_ALLOWED + - OPEN_RESOLVE_ON_EXTRACTION + - ONE_ALERT_GROUPED_PER_WINDOW + status: + type: string + readOnly: true + enum: + - PENDING + - ALL_ACCEPTED + - ALL_RESOLVED + - IN_MAINTENANCE + - DISABLED + emailFiltered: + type: boolean + default: false + emailResolveFiltered: + type: boolean + default: false + active: + type: boolean + default: true + emailPredicates: + type: array + items: + type: object + properties: + field: + type: string + enum: + - EMAIL_FROM + - EMAIL_SUBJECT + - EMAIL_BODY + criteria: + type: string + enum: + - CONTAINS_ANY_WORDS + - CONTAINS_NOT_WORDS + - CONTAINS_STRING + - CONTAINS_NOT_STRING + - IS_STRING + - IS_NOT_STRING + - MATCHES_REGEX + - MATCHES_NOT_REGEX + value: + type: string + emailResolvePredicates: + type: array + items: + type: object + properties: + field: + type: string + enum: + - EMAIL_FROM + - EMAIL_SUBJECT + - EMAIL_BODY + criteria: + type: string + enum: + - CONTAINS_ANY_WORDS + - CONTAINS_NOT_WORDS + - CONTAINS_STRING + - CONTAINS_NOT_STRING + - IS_STRING + - IS_NOT_STRING + - MATCHES_REGEX + - MATCHES_NOT_REGEX + value: + type: string + resolveKeyExtractor: + type: object + properties: + field: + type: string + enum: + - EMAIL_SUBJECT + - EMAIL_BODY + criteria: + type: string + enum: + - ALL_TEXT_BEFORE + - MATCHES_REGEX + - ALL_TEXT_AFTER + value: + type: string + filterOperator: + type: string + enum: + - AND + - OR + resolveFilterOperator: + type: string + enum: + - AND + - OR + alertPriorityRule: + $ref: '#/components/schemas/AlertPriorityRule' + supportHours: + $ref: '#/components/schemas/SupportHour' + heartbeat: + type: object + properties: + summary: + type: string + intervalSec: + type: integer + status: + type: string + readOnly: true + enum: + - OVERDUE + - ON_TIME + - NEVER_RECEIVED + lastPingReceivedAt: + type: string + format: date-time + readOnly: true + bidirectional: + type: boolean + readOnly: true + AlertSourceRel: + type: object + required: + - name + - escalationPolicy + - integrationType + properties: + id: + type: integer + format: int64 + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + name: + type: string + iconUrl: + type: string + lightIconUrl: + type: string + darkIconUrl: + type: string + escalationPolicy: + $ref: '#/components/schemas/EscalationPolicy' + integrationType: + $ref: '#/components/schemas/IntegrationType' + integrationKey: + type: string + integrationUrl: + type: string + readOnly: true + autoResolutionTimeout: + type: string + format: ISO-8601 + alertGroupingWindow: + type: string + format: ISO-8601 + alertCreation: + type: string + default: ONE_ALERT_PER_EMAIL + enum: + - ONE_ALERT_PER_EMAIL + - ONE_ALERT_PER_EMAIL_SUBJECT + - ONE_PENDING_ALERT_ALLOWED + - ONE_OPEN_ALERT_ALLOWED + - OPEN_RESOLVE_ON_EXTRACTION + - ONE_ALERT_GROUPED_PER_WINDOW + status: + type: string + readOnly: true + enum: + - PENDING + - ALL_ACCEPTED + - ALL_RESOLVED + - IN_MAINTENANCE + - DISABLED + emailFiltered: + type: boolean + default: false + emailResolveFiltered: + type: boolean + default: false + active: + type: boolean + default: true + emailPredicates: + type: array + items: + type: object + properties: + field: + type: string + enum: + - EMAIL_FROM + - EMAIL_SUBJECT + - EMAIL_BODY + criteria: + type: string + enum: + - CONTAINS_ANY_WORDS + - CONTAINS_NOT_WORDS + - CONTAINS_STRING + - CONTAINS_NOT_STRING + - IS_STRING + - IS_NOT_STRING + - MATCHES_REGEX + - MATCHES_NOT_REGEX + value: + type: string + emailResolvePredicates: + type: array + items: + type: object + properties: + field: + type: string + enum: + - EMAIL_FROM + - EMAIL_SUBJECT + - EMAIL_BODY + criteria: + type: string + enum: + - CONTAINS_ANY_WORDS + - CONTAINS_NOT_WORDS + - CONTAINS_STRING + - CONTAINS_NOT_STRING + - IS_STRING + - IS_NOT_STRING + - MATCHES_REGEX + - MATCHES_NOT_REGEX + value: + type: string + resolveKeyExtractor: + type: object + properties: + field: + type: string + enum: + - EMAIL_SUBJECT + - EMAIL_BODY + criteria: + type: string + enum: + - ALL_TEXT_BEFORE + - MATCHES_REGEX + - ALL_TEXT_AFTER + value: + type: string + filterOperator: + type: string + enum: + - AND + - OR + resolveFilterOperator: + type: string + enum: + - AND + - OR + alertPriorityRule: + $ref: '#/components/schemas/AlertPriorityRule' + supportHours: + $ref: '#/components/schemas/SimpleIdField64' + heartbeat: + type: object + properties: + summary: + type: string + intervalSec: + type: integer + status: + type: string + readOnly: true + enum: + - OVERDUE + - ON_TIME + - NEVER_RECEIVED + lastPingReceivedAt: + type: string + format: date-time + readOnly: true + bidirectional: + type: boolean + readOnly: true + summaryTemplate: + $ref: '#/components/schemas/AlertSourceTemplate' + detailsTemplate: + $ref: '#/components/schemas/AlertSourceTemplate' + routingTemplate: + $ref: '#/components/schemas/AlertSourceTemplate' + linkTemplates: + type: array + items: + $ref: '#/components/schemas/AlertSourceLinkTemplate' + priorityTemplate: + $ref: '#/components/schemas/AlertSourcePriorityTemplate' + SimpleIdField64: + type: object + description: >- + For POST and PUT requests only the id field is required for sub + entities, e.g. status page -> service, alert source -> support hour + required: + - id + properties: + id: + type: integer + format: int64 + SimpleIdFieldStr: + type: object + required: + - id + properties: + id: + type: string + ManualAlert: + type: object + required: + - summary + - alertSource + properties: + summary: + type: string + details: + type: string + alertSource: + $ref: '#/components/schemas/SimpleIdField64' + escalationPolicy: + $ref: '#/components/schemas/SimpleIdField64' + priority: + $ref: '#/components/schemas/AlertPriority' + assignedTo: + description: >- + This field (type: User) is deprecated, please use 'responders' + instead + type: object + properties: + id: + type: number + images: + type: array + items: + $ref: '#/components/schemas/EventImage' + links: + type: array + items: + $ref: '#/components/schemas/EventLink' + responders: + description: List of responders (users), only user.id is required. + type: array + items: + type: object + properties: + user: + $ref: '#/components/schemas/UserRel' + AlertResponder: + type: object + properties: + user: + $ref: '#/components/schemas/UserRel' + status: + type: string + enum: + - PENDING + - ACCEPTED + acceptedAt: + type: string + format: date-time + Alert: + type: object + properties: + id: + type: integer + format: int64 + summary: + type: string + details: + type: string + reportTime: + type: string + format: date-time + resolvedOn: + type: string + format: date-time + status: + type: string + enum: + - PENDING + - ACCEPTED + - RESOLVED + alertSource: + $ref: '#/components/schemas/AlertSource' + escalationPolicy: + $ref: '#/components/schemas/EscalationPolicy' + priority: + $ref: '#/components/schemas/AlertPriority' + alertKey: + type: string + assignedTo: + description: >- + This field (type: User) is deprecated, please use 'responders' + instead + type: object + properties: + id: + type: number + nextEscalation: + type: string + format: date-time + readOnly: true + escalationRules: + type: array + items: + $ref: '#/components/schemas/EscalationRule' + readOnly: true + nextEscalationUser: + $ref: '#/components/schemas/User' + nextEscalationRuleIndex: + type: number + readOnly: true + images: + type: array + items: + $ref: '#/components/schemas/EventImage' + links: + type: array + items: + $ref: '#/components/schemas/EventLink' + responders: + readOnly: true + type: array + items: + $ref: '#/components/schemas/AlertResponder' + EventImage: + type: object + properties: + src: + type: string + href: + type: string + alt: + type: string + EventLink: + type: object + properties: + href: + type: string + text: + type: string + EventComment: + type: object + properties: + creator: + type: string + content: + type: string + SuggestedResponder: + type: object + properties: + group: + type: string + enum: + - SUGGESTED + - USER + - ESCALATION_POLICY + - ON_CALL_SCHEDULE + id: + type: number + name: + type: string + disabled: + type: boolean + Notification: + type: object + properties: + id: + type: integer + format: int64 + method: + type: string + enum: + - PUSH + - VOICE + - SMS + - EMAIL + - WHATSAPP + target: + type: string + subject: + type: string + alertId: + type: integer + format: int64 + user: + type: object + properties: + id: + type: integer + format: int64 + firstname: + type: string + lastname: + type: string + notificationTime: + type: string + format: date-time + status: + type: string + enum: + - SCHEDULED + - SUCCESS + - ERROR + errorMessage: + type: string + description: An error message in case the notification status is ERROR. + LogEntry: + type: object + properties: + id: + type: integer + format: int64 + timestamp: + type: string + format: date-time + logEntryType: + type: string + enum: + - ConnectorAutomaticResultErrorLogEntry + - ConnectorAutomaticResultLogEntry + - AlertActionErrorLogEntry + - AlertActionFailLogEntry + - AlertActionSuccessLogEntry + - AlertNotRoutedLogEntry + - AlertReceivedLogEntry + - AlertRoutedSuccessfulLogEntry + - AlertSourceResponseLogEntry + - CallLogEntry + - EmailReceivedLogEntry + - EmailResolvedLogEntry + - FilterableLogEntryType + - HeartbeatOverdueLogEntry + - HeartbeatResolvedLogEntry + - AlertAssignedBySystemLogEntry + - AlertAssignedByUserLogEntry + - AlertAssignedToPolicyLogEntry + - AlertAssignedToScheduleLogEntry + - AlertAutoResolvedLogEntry + - AlertCommentAddedBySystemLogEntry + - AlertCommentAddedLogEntry + - AlertCommentPublishedLogEntry + - AlertCreatedByUserLogEntry + - AlertRaisedBySystemLogEntry + - AlertRaisedByUserLogEntry + - AlertSummaryChangedLogEntry + - IncomingCallLogEntry + - LowPriorityCallLog + - MailboxCallLogEntry + - MailboxRecordReceivedLog + - MailboxTranscribedReceivedLog + - NobodyOnCallLogEntry + - NotificationLogEntry + - ParallelCallLogEntry + - PhoneNumberNotSetLogEntry + - PhoneNumberBlockedLogEntry + - QueueResultLogEntry + - StakeholderAddedBySystemLogEntry + - StakeholderAddedLogEntry + - StakeholderRemovedLogEntry + - StakeholderResubscribedLogEntry + - StakeholderUnsubscribedLogEntry + - UserResponseLogEntry + - InComIncidentCreatedLogEntry + - InComIncidentResolvedLogEntry + - InComServiceTransitionLogEntry + - InComLinkedLogEntry + - InComUnlinkedLogEntry + - AlertChannelAttachedByUserLogEntry + - AlertChannelDetachedByUserLogEntry + - AlertEscalatedToLevelLogEntry + text: + type: string + alertId: + type: integer + format: int64 + filterTypes: + type: array + items: + $ref: '#/components/schemas/LogFilterType' + vars: + type: object + properties: {} + additionalProperties: + type: string + LogFilterType: + type: string + enum: + - NOTIFICATIONS + - ALERT_SOURCE_EVENTS + - CALL_ROUTING_EVENTS + - ALERT_UPDATES + - CONNECTOR_EVENTS + SingleTimePoint: + type: object + required: + - value + properties: + timestamp: + type: number + format: int64 + description: The unix epoch second of your time point + value: + type: number + format: double + description: Value of your time point + MultipleTimePoint: + type: object + required: + - value + properties: + series: + type: array + items: + $ref: '#/components/schemas/SingleTimePoint' + SeriesOption: + type: object + description: >- + Can either be a single time point, omitting timestamp field is allowed + as it will be replaced with now() - or a series of multiple time points + oneOf: + - $ref: '#/components/schemas/SingleTimePoint' + - $ref: '#/components/schemas/MultipleTimePoint' + MetricAggregationType: + type: string + enum: + - AVG + - SUM + - MIN + - MAX + - LAST + MetricDisplayType: + type: string + enum: + - GRAPH + - SINGLE + MetricDataSourceType: + type: string + enum: + - DATADOG + - PROMETHEUS + Event: + type: object + required: + - apiKey + - eventType + - summary + properties: + apiKey: + type: string + eventType: + type: string + description: the event type + enum: + - ALERT + - ACCEPT + - RESOLVE + - COMMENT + summary: + type: string + description: >- + The event summary. Will be used as the alert summary if a new alert + will be created. + details: + type: string + description: >- + The event details. Will be used as the alert details if a new alert + will be created. + alertKey: + type: string + description: >- + Used to deduplicate events. If an open alert with the key already + exists, the event will be appended to the alert's event log. + Otherwise a new alert will be created + priority: + $ref: '#/components/schemas/AlertPriority' + images: + type: array + items: + $ref: '#/components/schemas/EventImage' + links: + type: array + items: + $ref: '#/components/schemas/EventLink' + comments: + type: array + items: + $ref: '#/components/schemas/EventComment' + customDetails: + type: object + properties: {} + additionalProperties: true + routingKey: + type: string + description: >- + Optional routing key that overwrites the escalation policy of the + alert source for ALERT events. Must map to routingKey of escalation + policy + EventResponse: + type: object + properties: {} + CountResponse: + type: object + properties: + count: + type: integer + format: int64 + RestError: + type: object + properties: + status: + type: integer + message: + type: string + AlertActionTrigger: + type: object + properties: + alertActionId: + type: string + connectorId: + type: string + type: + type: string + name: + type: string + iconUrl: + type: string + history: + type: array + items: + $ref: '#/components/schemas/AlertActionResult' + AlertActionResult: + type: object + properties: + id: + type: string + alertActionId: + type: string + connectorId: + type: string + alertId: + type: number + success: + type: boolean + actor: + $ref: '#/components/schemas/User' + IncidentStatus: + type: string + description: the incident status + enum: + - INVESTIGATING + - IDENTIFIED + - MONITORING + - RESOLVED + IncidentTemplate: + type: object + properties: + id: + type: number + name: + type: string + summary: + type: string + status: + $ref: '#/components/schemas/IncidentStatus' + message: + type: string + sendNotification: + type: boolean + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + ServiceStatus: + type: string + description: the service status + enum: + - OPERATIONAL + - UNDER_MAINTENANCE + - DEGRADED + - PARTIAL_OUTAGE + - MAJOR_OUTAGE + ServiceOutage: + type: object + properties: + status: + $ref: '#/components/schemas/ServiceStatus' + from: + type: string + format: date-time + until: + type: string + format: date-time + ServiceOutageOverride: + type: object + properties: + id: + type: string + service: + $ref: '#/components/schemas/ServiceNoIncludes' + status: + $ref: '#/components/schemas/ServiceStatus' + from: + type: string + format: date-time + until: + type: string + format: date-time + ServiceUptimePercentage: + type: object + properties: + uptimePercentage: + type: object + properties: + p90: + type: number + format: float + minimum: 0 + maximum: 100 + readOnly: true + p60: + type: number + format: float + minimum: 0 + maximum: 100 + readOnly: true + p30: + type: number + format: float + minimum: 0 + maximum: 100 + readOnly: true + ServiceUptime: + type: object + properties: + rangeStart: + type: string + format: date-time + rangeEnd: + type: string + format: date-time + outages: + type: array + items: + $ref: '#/components/schemas/ServiceOutage' + uptimePercentage: + $ref: '#/components/schemas/ServiceUptimePercentage' + readOnly: true + Service: + type: object + properties: + id: + type: number + name: + type: string + status: + $ref: '#/components/schemas/ServiceStatus' + description: + type: string + oneOpenIncidentOnly: + type: boolean + showUptimeHistory: + type: boolean + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + subscribed: + type: boolean + readOnly: true + uptime: + $ref: '#/components/schemas/ServiceUptime' + incidents: + type: array + items: + $ref: '#/components/schemas/IncidentNoIncludes' + readOnly: true + description: >- + Note that this only contains the latest 10 unresolved incidents, use + /api/incidents?service=x if more or specific results are needed + ServiceUptimeOnly: + type: object + properties: + id: + type: number + name: + type: string + status: + $ref: '#/components/schemas/ServiceStatus' + description: + type: string + oneOpenIncidentOnly: + type: boolean + showUptimeHistory: + type: boolean + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + uptime: + $ref: '#/components/schemas/ServiceUptime' + ServiceNoIncludes: + type: object + properties: + id: + type: number + name: + type: string + status: + $ref: '#/components/schemas/ServiceStatus' + description: + type: string + oneOpenIncidentOnly: + type: boolean + showUptimeHistory: + type: boolean + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + Incident: + type: object + properties: + id: + type: number + summary: + type: string + status: + $ref: '#/components/schemas/IncidentStatus' + message: + type: string + sendNotification: + type: boolean + createdAt: + type: string + format: date-time + updatedAt: + type: string + format: date-time + affectedServices: + type: array + items: + type: object + properties: + impact: + $ref: '#/components/schemas/ServiceStatus' + service: + $ref: '#/components/schemas/ServiceNoIncludes' + resolvedOn: + type: string + format: date-time + readOnly: true + subscribed: + type: boolean + readOnly: true + affectedTeams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + readOnly: true + IncidentUpdate: + type: object + properties: + id: + type: string + content: + type: string + creator: + $ref: '#/components/schemas/UserRel' + incidentStatus: + $ref: '#/components/schemas/IncidentStatus' + sendNotification: + type: boolean + createdAt: + type: string + format: date-time + IncidentWithHistory: + type: object + properties: + id: + type: number + summary: + type: string + status: + $ref: '#/components/schemas/IncidentStatus' + message: + type: string + sendNotification: + type: boolean + createdAt: + type: string + format: date-time + updatedAt: + type: string + format: date-time + history: + type: array + items: + $ref: '#/components/schemas/IncidentUpdate' + affectedServices: + type: array + items: + type: object + properties: + impact: + $ref: '#/components/schemas/ServiceStatus' + service: + $ref: '#/components/schemas/ServiceNoIncludes' + resolvedOn: + type: string + format: date-time + readOnly: true + subscribed: + type: boolean + readOnly: true + affectedTeams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + readOnly: true + IncidentNoIncludes: + type: object + properties: + id: + type: number + summary: + type: string + status: + $ref: '#/components/schemas/IncidentStatus' + message: + type: string + sendNotification: + type: boolean + createdAt: + description: >- + May be overwritten during the creation of the incident, otherwise + read-only + type: string + format: date-time + updatedAt: + description: >- + May be overwritten during the creation of the incident, otherwise + read-only + type: string + format: date-time + affectedServices: + type: array + items: + type: object + properties: + impact: + $ref: '#/components/schemas/ServiceStatus' + service: + $ref: '#/components/schemas/ServiceNoIncludes' + resolvedOn: + type: string + format: date-time + readOnly: true + AutomationRule: + type: object + properties: + id: + type: string + alertType: + type: string + enum: + - CREATED + - ACCEPTED + resolveIncident: + type: boolean + resolveService: + type: boolean + serviceStatus: + $ref: '#/components/schemas/ServiceStatus' + template: + $ref: '#/components/schemas/IncidentTemplate' + service: + $ref: '#/components/schemas/ServiceNoIncludes' + alertSource: + $ref: '#/components/schemas/AlertSource' + sendNotification: + type: boolean + UIMenuItem: + type: object + properties: + id: + type: number + label: + type: string + TeamUserOption: + type: object + properties: + id: + type: number + name: + type: string + type: + type: string + enum: + - USER + - TEAM + StatusPageGroup: + type: object + properties: + id: + type: number + name: + type: string + StatusPageNoIncludes: + type: object + properties: + id: + type: number + name: + type: string + domain: + type: string + subdomain: + type: string + timezone: + $ref: '#/components/schemas/TimeZone' + faviconUrl: + type: string + logoUrl: + type: string + visibility: + type: string + enum: + - PRIVATE + - PUBLIC + hiddenFromSearch: + type: boolean + showSubscribeAction: + type: boolean + showIncidentHistoryOption: + type: boolean + pageTitle: + type: string + pageDescription: + type: string + pageLayout: + type: string + enum: + - SINGLE_COLUMN + - RESPONSIVE + logoRedirectUrl: + type: string + activated: + type: boolean + status: + $ref: '#/components/schemas/ServiceStatus' + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + services: + type: array + items: + $ref: '#/components/schemas/ServiceNoIncludes' + metrics: + type: array + items: + $ref: '#/components/schemas/MetricNoIncludes' + ipWhitelist: + type: array + description: >- + ipv4 or ipv6 addresses to give access to. Can only be set on + 'PRIVATE' status pages + items: + type: string + structure: + $ref: '#/components/schemas/StatusPageStructure' + appearance: + type: string + enum: + - LIGHT + - DARK + StatusPageElement: + type: object + required: + - id + - type + properties: + id: + type: integer + format: int64 + description: The id of the service or group that this element references + type: + type: string + enum: + - SERVICE + - GROUP + options: + type: string + enum: + - expand + - no-graph + description: >- + Note: 'expand' can only be set when type is 'SERVICE', 'no-graph' + can only be set when type is 'GROUP' + children: + type: array + items: + $ref: '#/components/schemas/StatusPageElement' + description: >- + Optional children of this element. Note: children may only be added + to elements of type 'GROUP' + StatusPageStructure: + type: object + properties: + elements: + type: array + items: + $ref: '#/components/schemas/StatusPageElement' + description: >- + This field is not available in the list resource. Describes the + structure of a status page. Allows for nesting children. It is not + required unless groups are used. + StatusPage: + type: object + properties: + id: + type: number + name: + type: string + domain: + type: string + subdomain: + type: string + timezone: + $ref: '#/components/schemas/TimeZone' + faviconUrl: + type: string + logoUrl: + type: string + visibility: + type: string + enum: + - PRIVATE + - PUBLIC + hiddenFromSearch: + type: boolean + showSubscribeAction: + type: boolean + showIncidentHistoryOption: + type: boolean + pageTitle: + type: string + pageDescription: + type: string + pageLayout: + type: string + enum: + - SINGLE_COLUMN + - RESPONSIVE + logoRedirectUrl: + type: string + activated: + type: boolean + status: + $ref: '#/components/schemas/ServiceStatus' + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + services: + type: array + items: + $ref: '#/components/schemas/ServiceUptimeOnly' + metrics: + type: array + items: + $ref: '#/components/schemas/MetricNoIncludes' + ipWhitelist: + type: array + description: >- + ipv4 or ipv6 addresses to give access to. Can only be set on + 'PRIVATE' status pages + items: + type: string + structure: + $ref: '#/components/schemas/StatusPageStructure' + subscribed: + type: boolean + readOnly: true + description: This is an include field, it is not available in the list resource + groups: + type: array + items: + $ref: '#/components/schemas/StatusPageGroup' + readOnly: true + description: >- + This is an include field, it is not available in the list resource. + Read-only, use the sub resource to manipulate groups. + appearance: + type: string + enum: + - LIGHT + - DARK + StatusPageList: + type: object + properties: + id: + type: number + name: + type: string + domain: + type: string + subdomain: + type: string + timezone: + $ref: '#/components/schemas/TimeZone' + faviconUrl: + type: string + logoUrl: + type: string + visibility: + type: string + enum: + - PRIVATE + - PUBLIC + hiddenFromSearch: + type: boolean + showSubscribeAction: + type: boolean + showIncidentHistoryOption: + type: boolean + pageTitle: + type: string + pageDescription: + type: string + logoRedirectUrl: + type: string + activated: + type: boolean + status: + $ref: '#/components/schemas/ServiceStatus' + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + services: + type: array + items: + $ref: '#/components/schemas/ServiceUptimeOnly' + metrics: + type: array + items: + $ref: '#/components/schemas/MetricNoIncludes' + ipWhitelist: + type: array + description: >- + ipv4 or ipv6 addresses to give access to. Can only be set on + 'PRIVATE' status pages + items: + type: string + subscribed: + type: boolean + readOnly: true + description: This is an include field, it is not available in the list resource + MParamsDatadog: + type: object + required: + - region + - apiKey + - applicationKey + properties: + region: + type: string + apiKey: + type: string + applicationKey: + type: string + MParamsPrometheus: + type: object + required: + - url + - authType + properties: + url: + type: string + authType: + type: string + enum: + - NONE + - BASIC + - HEADER + basicUser: + type: string + description: Optional, required for 'BASIC' + basicPass: + type: string + description: Optional, required for 'BASIC' + headerKey: + type: string + description: Optional, required for 'HEADER' + headerValue: + type: string + description: Optional, required for 'HEADER' + MetricDataSourceMetadata: + oneOf: + - $ref: '#/components/schemas/MParamsDatadog' + - $ref: '#/components/schemas/MParamsPrometheus' + MetricDataSource: + type: object + properties: + id: + type: number + name: + type: string + type: + $ref: '#/components/schemas/MetricDataSourceType' + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + metadata: + $ref: '#/components/schemas/MetricDataSourceMetadata' + MetricDataSourcePost: + type: object + required: + - name + - type + - metadata + properties: + name: + type: string + type: + $ref: '#/components/schemas/MetricDataSourceType' + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + metadata: + $ref: '#/components/schemas/MetricDataSourceMetadata' + MetricDataSourceNoIncludes: + type: object + properties: + id: + type: number + name: + type: string + type: + $ref: '#/components/schemas/MetricDataSourceType' + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + MDataDogMetadata: + type: object + required: + - query + properties: + query: + type: string + MPrometheusMetadata: + type: object + required: + - query + properties: + query: + type: string + MetricMetadata: + oneOf: + - $ref: '#/components/schemas/MDataDogMetadata' + - $ref: '#/components/schemas/MPrometheusMetadata' + description: >- + Only required if the metric has a dataSource. You may not change this + after creation. + default: null + MetricList: + type: object + properties: + id: + type: number + name: + type: string + description: + type: string + aggregationType: + $ref: '#/components/schemas/MetricAggregationType' + displayType: + $ref: '#/components/schemas/MetricDisplayType' + interpolateGaps: + type: boolean + default: false + lockYAxisMax: + type: number + format: double + default: null + lockYAxisMin: + type: number + format: double + default: null + mouseOverDecimal: + type: number + format: int32 + default: 0 + minimum: 0 + maximum: 6 + showValuesOnMouseOver: + type: boolean + default: false + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + unitLabel: + type: string + integrationKey: + type: string + dataSource: + $ref: '#/components/schemas/MetricDataSourceNoIncludes' + Metric: + type: object + properties: + id: + type: number + name: + type: string + description: + type: string + aggregationType: + $ref: '#/components/schemas/MetricAggregationType' + displayType: + $ref: '#/components/schemas/MetricDisplayType' + interpolateGaps: + type: boolean + default: false + lockYAxisMax: + type: number + format: double + default: null + lockYAxisMin: + type: number + format: double + default: null + mouseOverDecimal: + type: number + format: int32 + default: 0 + minimum: 0 + maximum: 6 + showValuesOnMouseOver: + type: boolean + default: false + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + unitLabel: + type: string + integrationKey: + type: string + metadata: + $ref: '#/components/schemas/MetricMetadata' + dataSource: + $ref: '#/components/schemas/MetricDataSource' + MetricNoIncludes: + type: object + properties: + id: + type: number + name: + type: string + description: + type: string + aggregationType: + $ref: '#/components/schemas/MetricAggregationType' + displayType: + $ref: '#/components/schemas/MetricDisplayType' + interpolateGaps: + type: boolean + default: false + lockYAxisMax: + type: number + format: double + default: null + lockYAxisMin: + type: number + format: double + default: null + mouseOverDecimal: + type: number + format: int32 + default: 0 + minimum: 0 + maximum: 6 + showValuesOnMouseOver: + type: boolean + default: false + unitLabel: + type: string + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + MetricPost: + type: object + required: + - name + - displayType + - aggregationType + properties: + name: + type: string + description: + type: string + aggregationType: + $ref: '#/components/schemas/MetricAggregationType' + displayType: + $ref: '#/components/schemas/MetricDisplayType' + interpolateGaps: + type: boolean + default: 'false' + lockYAxisMax: + type: number + format: double + default: null + lockYAxisMin: + type: number + format: double + default: null + mouseOverDecimal: + type: number + format: int32 + default: 0 + minimum: 0 + maximum: 6 + showValuesOnMouseOver: + type: boolean + default: false + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + unitLabel: + type: string + metadata: + $ref: '#/components/schemas/MetricMetadata' + dataSource: + type: object + properties: + id: + type: number + description: dataSource is required when providing metadata +konfigCliVersion: 1.38.34 diff --git a/sdks/db/fixed-specs-cache/in-mobile-fixed-spec.yaml b/sdks/db/fixed-specs-cache/in-mobile-fixed-spec.yaml new file mode 100644 index 0000000000..c9f56130ea --- /dev/null +++ b/sdks/db/fixed-specs-cache/in-mobile-fixed-spec.yaml @@ -0,0 +1,3494 @@ +publishJson: + company: inMobile + serviceName: false + sdkName: in-mobile-{language}-sdk + clientName: InMobile + metaDescription: >- + inMobile er en SMS-Gateway testet af over 8.000 brugere. Vi håndterer over + 150 mio. SMS-beskeder årligt og tilstræber en oppetid på 100%, men sandheden + er 99,99%. + + + Uanset, om det drejer sig om at informere dine kunder, medarbejdere eller + andre personer, som er vigtige for din virksomhed, gør inMobile det nemt for + de rette personer at få besked på det rette tidspunkt. + + + Du får adgang til en brugervenlig SMS-Gateway og et gennemtestet API, som du + nemt kan integrere med dit eget system eller hjemmeside. + + + Ønsker du at høre mere om vores løsning, er du velkommen til at kontakte os + på +45 88 33 66 99 eller på mail salg@inmobile.dk + + Vi har åbent alle hverdage mellem kl. 8-17 + apiStatusUrls: inherit + homepage: inmobile.com + developerDocumentation: www.inmobile.com/docs/rest-api + categories: + - messaging + - sms +rawSpecString: > + x-generator: NSwag v13.20.0.0 (NJsonSchema v10.9.0.0 (Newtonsoft.Json + v13.0.0.0)) + + openapi: 3.0.0 + + info: + title: inMobile REST API + description: "\r\n# Introduction\r\n\r\nThis document is a technical description of our REST API used for external systems to send sms messages and to retrieve a status for each sms message sent and to maintain lists and blacklists.\r\n\r\nIn order to call our API, you need an api key. Log in to your account at https://mm.inmobile.dk, go to the \"API\" menu section and your api key will be available here.\r\n\r\nNOTE: It is required for clients to support tls 1.2 or higher.\r\n\r\n\r\n# Firewall openings\r\n\r\nThis is relevant for status callbacks and incoming SMS messages.\r\n\r\nYou can expect callbacks from one of the following IP ranges:\r\n\r\n* 46.36.205.80/28\r\n* 185.221.37.96/28\r\n\r\nThese are also the ip addresses which will be used for api.inmobile.com and mm.inmobile.dk - ensure access to these 2 ranges are opened in your firewall." + version: version 4 + servers: + - url: https://api.inmobile.com + paths: + /v4/blacklist: + get: + tags: + - Blacklist + summary: Returns all blacklists (Paged result. Follow _links.next to fetch all) + operationId: Blacklist_GetAll + parameters: + - name: pageLimit + in: query + description: How many records to return (must be between 1 and 250) + schema: + type: integer + format: int32 + x-position: 1 + responses: + '200': + description: A list of all blacklists + content: + application/json: + schema: + $ref: '#/components/schemas/ApiPageModelOfBlacklistOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + post: + tags: + - Blacklist + summary: Create an entry in blacklist + operationId: Blacklist_Create + requestBody: + x-name: blacklist + content: + application/json: + schema: + $ref: '#/components/schemas/BlacklistCreateApiModel' + required: true + x-position: 1 + responses: + '200': + description: The created blacklist + content: + application/json: + schema: + $ref: '#/components/schemas/BlacklistOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '409': + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/blacklist/{blackListId}: + get: + tags: + - Blacklist + summary: Get entry by id + operationId: Blacklist_Get + parameters: + - name: blackListId + in: path + required: true + description: Id of the blacklist + schema: + type: string + format: guid + x-position: 1 + responses: + '200': + description: A blacklist + content: + application/json: + schema: + $ref: '#/components/schemas/BlacklistOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + delete: + tags: + - Blacklist + summary: Delete entry by id + operationId: Blacklist_Delete + parameters: + - name: blackListId + in: path + required: true + description: Id of the blacklist + schema: + type: string + format: guid + x-position: 1 + responses: + '204': + description: '' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/blacklist/ByNumber: + get: + tags: + - Blacklist + summary: Get entry by number + operationId: Blacklist_GetByNumber + parameters: + - name: countryCode + in: query + schema: + type: string + x-position: 1 + - name: phoneNumber + in: query + schema: + type: string + x-position: 2 + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/BlacklistOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + delete: + tags: + - Blacklist + summary: Delete entry by number + operationId: Blacklist_DeleteByNumber + parameters: + - name: countryCode + in: query + schema: + type: string + x-position: 1 + - name: phoneNumber + in: query + schema: + type: string + x-position: 2 + responses: + '204': + description: '' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/email/outgoing/sendusingtemplate: + post: + tags: + - Email + summary: Send an email using a template + operationId: EmailOutgoing_SendUsingTemplate + requestBody: + x-name: request + content: + application/json: + schema: + $ref: '#/components/schemas/EmailOutgoingTemplatePostRequest' + required: true + x-position: 1 + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/EmailOutgoingTemplatePostReply' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/email/outgoing: + post: + tags: + - Email + summary: Send an email + operationId: EmailOutgoing_Send + requestBody: + x-name: request + content: + application/json: + schema: + $ref: '#/components/schemas/EmailOutgoingPostRequest' + required: true + x-position: 1 + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/EmailOutgoingBasePostReply' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/email/outgoing/events: + get: + tags: + - Email + summary: Get email events + description: >- + Each event will only be returned once. Once called, the event has been + removed from our side and cannot be retrieved again using this method. + operationId: EmailOutgoing_GetEvents + parameters: + - name: limit + in: query + description: How many events to return (must be between 1 and 250) + schema: + type: integer + format: int32 + x-position: 1 + responses: + '200': + description: A list of email events + content: + application/json: + schema: + $ref: '#/components/schemas/EmailEventListModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/email/templates: + get: + tags: + - Email Templates + summary: Get all email templates + description: >- + This response is a paged result and will contain the property + '_links.next'. + + If there are more pages, the next page in the paged result will be + provided here. + operationId: EmailTemplates_GetAllEmailTemplates + parameters: + - name: pageLimit + in: query + description: How many records to return (must be between 1 and 250) + schema: + type: integer + format: int32 + x-position: 1 + responses: + '200': + description: A list of email templates + content: + application/json: + schema: + $ref: '#/components/schemas/ApiPageModelOfEmailTemplateOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/email/templates/{id}: + get: + tags: + - Email Templates + summary: Get email template by id + operationId: EmailTemplates_GetEmailTemplate + parameters: + - name: id + in: path + required: true + schema: + type: string + x-position: 1 + responses: + '200': + description: An email template + content: + application/json: + schema: + $ref: '#/components/schemas/EmailTemplateOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/sms/gdpr/deletionrequests: + post: + tags: + - Gdpr + summary: Create information Deletion Request + operationId: Gdpr_DeletionRequests + requestBody: + x-name: deletionRequest + content: + application/json: + schema: + $ref: '#/components/schemas/DeletionRequestCreateInfo' + required: true + x-position: 1 + responses: + '200': + description: The created information Deletion Request + content: + application/json: + schema: + $ref: '#/components/schemas/RequestDeletionOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/lists: + get: + tags: + - Lists + summary: Get all lists + description: >- + This response is a paged result and will contain the property + '_links.next'. + + If there are more pages, the next page in the paged result will be + provided here. + operationId: Lists_GetAllLists + parameters: + - name: pageLimit + in: query + description: How many records to return (must be between 1 and 250) + schema: + type: integer + format: int32 + x-position: 1 + responses: + '200': + description: A list of lists + content: + application/json: + schema: + $ref: '#/components/schemas/ApiPageModelOfGroupOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + post: + tags: + - Lists + summary: Create list + operationId: Lists_CreateList + requestBody: + x-name: list + content: + application/json: + schema: + $ref: '#/components/schemas/GroupInputApiModel' + required: true + x-position: 1 + responses: + '200': + description: The created list + content: + application/json: + schema: + $ref: '#/components/schemas/GroupOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/lists/{listId}: + get: + tags: + - Lists + summary: Get list + operationId: Lists_GetList + parameters: + - name: listId + in: path + required: true + description: Id of the list + schema: + type: string + format: guid + x-position: 1 + responses: + '200': + description: A list + content: + application/json: + schema: + $ref: '#/components/schemas/GroupOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + delete: + tags: + - Lists + summary: Delete list + operationId: Lists_DeleteList + parameters: + - name: listId + in: path + required: true + description: Id of the list + schema: + type: string + format: guid + x-position: 1 + responses: + '204': + description: '' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + put: + tags: + - Lists + summary: Update list + operationId: Lists_UpdateList + parameters: + - name: listId + in: path + required: true + description: The id of the list + schema: + type: string + format: guid + x-position: 1 + requestBody: + x-name: list + description: The list object + content: + application/json: + schema: + $ref: '#/components/schemas/GroupInputApiModel' + required: true + x-position: 2 + responses: + '200': + description: The updated list + content: + application/json: + schema: + $ref: '#/components/schemas/GroupOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/lists/{listId}/recipients: + get: + tags: + - Lists + summary: Get all recipients in a list + description: >- + This response is a paged result and will contain the property + '_links.next'. + + If there are more pages, the next page in the paged result will be + provided here. + operationId: Lists_GetAllRecipient + parameters: + - name: listId + in: path + required: true + description: Id of the list + schema: + type: string + format: guid + x-position: 1 + - name: pageLimit + in: query + description: How many records to return (must be between 1 and 250) + schema: + type: integer + format: int32 + x-position: 2 + responses: + '200': + description: A list of recipients + content: + application/json: + schema: + $ref: '#/components/schemas/ApiPageModelOfRecipientOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + post: + tags: + - Lists + summary: Create recipient + operationId: Lists_CreateRecipient + parameters: + - name: listId + in: path + required: true + description: Id of the list + schema: + type: string + format: guid + x-position: 1 + requestBody: + x-name: recipient + content: + application/json: + schema: + $ref: '#/components/schemas/RecipientCreateApiModel' + required: true + x-position: 2 + responses: + '200': + description: The created recipient + content: + application/json: + schema: + $ref: '#/components/schemas/RecipientOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '409': + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/lists/{listId}/recipients/all: + delete: + tags: + - Lists + summary: Deletes all recipients from a list + operationId: Lists_DeleteAllRecipients + parameters: + - name: listId + in: path + required: true + description: Id of the list + schema: + type: string + format: guid + x-position: 1 + responses: + '204': + description: The affected count + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/lists/{listId}/recipients/{recipientId}: + get: + tags: + - Lists + summary: Get recipient by id + operationId: Lists_GetRecipient + parameters: + - name: listId + in: path + required: true + description: Id of the list + schema: + type: string + format: guid + x-position: 1 + - name: recipientId + in: path + required: true + description: Id of the recipient + schema: + type: string + format: guid + x-position: 2 + responses: + '200': + description: A recipient + content: + application/json: + schema: + $ref: '#/components/schemas/RecipientOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + delete: + tags: + - Lists + summary: Delete recipient by id + operationId: Lists_DeleteRecipient + parameters: + - name: listId + in: path + required: true + description: Id of the list + schema: + type: string + format: guid + x-position: 1 + - name: recipientId + in: path + required: true + description: Id of the recipient + schema: + type: string + format: guid + x-position: 2 + responses: + '204': + description: '' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + put: + tags: + - Lists + summary: Update recipient + description: >- + Only mentioned fields are updated, e.g. leave out fields["email"] if you + do not want to update this field. On the other hand, set fields["email"] + = null in case you want to erase the existing value. + operationId: Lists_UpdateRecipient + parameters: + - name: listId + in: path + required: true + description: Id of the list + schema: + type: string + format: guid + x-position: 1 + - name: recipientId + in: path + required: true + schema: + type: string + format: guid + x-position: 2 + requestBody: + x-name: recipient + content: + application/json: + schema: + $ref: '#/components/schemas/RecipientUpdateApiModel' + required: true + x-position: 3 + responses: + '200': + description: The updated recipient + content: + application/json: + schema: + $ref: '#/components/schemas/RecipientOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '409': + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/lists/{listId}/recipients/ByNumber: + get: + tags: + - Lists + summary: Get recipient by number + operationId: Lists_GetRecipientByNumber + parameters: + - name: listId + in: path + required: true + description: Id of the list + schema: + type: string + format: guid + x-position: 1 + - name: countryCode + in: query + description: Target countryCode + schema: + type: string + x-position: 2 + - name: phoneNumber + in: query + description: Target phoneNumber + schema: + type: string + x-position: 3 + responses: + '200': + description: A recipient + content: + application/json: + schema: + $ref: '#/components/schemas/RecipientOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + delete: + tags: + - Lists + summary: Delete recipient by number + operationId: Lists_DeleteRecipientByNumber + parameters: + - name: listId + in: path + required: true + description: Id of the list + schema: + type: string + format: guid + x-position: 1 + - name: countryCode + in: query + description: Target countryCode + schema: + type: string + x-position: 2 + - name: phoneNumber + in: query + description: Target phoneNumber + schema: + type: string + x-position: 3 + responses: + '204': + description: '' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + post: + tags: + - Lists + summary: Create or update recipient by number + operationId: Lists_CreateOrUpdateRecipientByNumber + parameters: + - name: listId + in: path + required: true + description: Id of the list + schema: + type: string + format: guid + x-position: 1 + - name: countryCode + in: query + description: Target countryCode + schema: + type: string + x-position: 2 + - name: phoneNumber + in: query + description: Target phoneNumber + schema: + type: string + x-position: 3 + requestBody: + x-name: recipient + content: + application/json: + schema: + $ref: '#/components/schemas/RecipientCreateOrUpdateApiModel' + required: true + x-position: 4 + responses: + '200': + description: The created or updated recipient + content: + application/json: + schema: + $ref: '#/components/schemas/RecipientOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/sms/incoming/messages: + get: + tags: + - Sms - Incoming + summary: Get incoming sms messages. + description: >- + Each message will only be returned once. Once called, the message has + been marked as read from our side and cannot be retrieved again using + this method. + + Using api callbacks in combination with this call does not conflict. + operationId: SmsIncoming_GetMessages + parameters: + - name: limit + in: query + description: How many records to return (must be between 1 and 250) + schema: + type: integer + format: int32 + x-position: 1 + responses: + '200': + description: A list of messages + content: + application/json: + schema: + $ref: '#/components/schemas/IncomingMessageListModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/sms/outgoing: + post: + tags: + - Sms - Outgoing + summary: Send sms messages. + operationId: SmsOutgoing_Create + requestBody: + x-name: request + content: + application/json: + schema: + $ref: '#/components/schemas/SmsOutgoingPostRequest' + required: true + x-position: 1 + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/SmsOutgoingPostReply' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + callbacks: + status: + https://[your_domain]/your/desired/path: + post: + summary: Status callback url (Webhook) + description: >- + The status callback url to receive status information on when + sms messages are delivered (or if they fail). + + This is a call done by us to you and the url to be called, is + the one specified when sending the messages. + + Only messages with 100% identical message callbacks will be + grouped together into the same call. Messages with different + callback urls will never be grouped together in a single + callback. + requestBody: + x-name: payload + content: + application/json: + schema: + $ref: '#/components/schemas/StatusReportListModel' + required: true + x-position: 1 + responses: + '200': + description: '' + /v4/sms/outgoing/sendusingquery: + get: + tags: + - Sms - Outgoing + summary: Send sms messages using query parameters. + description: >- + It is strongly recommended to use the POST version instead of this + version to send text messages. This endpoint is only a emergency + fallback option for systems that are not capable of doing an HTTP post. + operationId: SmsOutgoing_SendUsingQueryGET + parameters: + - name: Text + in: query + description: >- + The text message. + + If the max length is exceeded, the message text is truncated and + sent. + schema: + type: string + maxLength: 10000 + minLength: 1 + example: This is a message text to be sent + x-position: 1 + - name: From + in: query + description: >- + The sender. This can either be a 3-11 chars text sender or an up to + 14 digit long sender number. + + If the max length is exceeded, the string is truncated. + schema: + type: string + example: PetShop + x-position: 2 + - name: Flash + in: query + description: >- + If true, the message will be shown as a flash message (also known as + a class0 message) on the target phone. If false, it will be received + as a standard text message. + + Default: false + schema: + type: boolean + nullable: true + example: false + x-position: 3 + - name: Encoding + in: query + description: >- + The encoding of the message. Can be either "gsm7", "ucs2" or "auto". + + "gsm7" is the default alfabet for text messages and when using gsm7, + a single sms message can contain 160 characters. If the length + exceeeds 160 characters, the message is actually split up into parts + of 153 characters and charged according to this. Please note, that a + few, specific characters fill up 2 bytes and count for 2 letters. + Ref: https://en.wikipedia.org/wiki/GSM_03.38 + + "ucs2"" allows for more non-roman characters to be used along with + smileys. When using this encoding, a single message can consist of + 70 characters. If the message exceeds 70 characters, the final + message is actually split into parts of 67 characters. + + "auto" can be used in case the sender wishes to support non-roman + characters but wants to save the expenses on all the trafic that + only contains gsm characters anyway. + + Default: "gsm7" + schema: + type: string + example: gsm7 + x-position: 4 + - name: To + in: query + description: >- + The msisdn (country code and number) to send to. (Remember to + include countrycode in all numbers, e.g. 4512345678). + + If max length is exceeded, the entire api call will fail. + schema: + type: string + maxLength: 20 + minLength: 0 + example: '4512345678' + x-position: 5 + - name: CountryHint + in: query + description: >- + For optimal phone number validation, we encourage you to provide us + with a country code. This can be the numeric country code (like 44) + or the two-letter suffix (like GB). If this field is empty it is + important that you add the country code (e.g 44) in front of the + phone number in “to”. + schema: + type: string + maxLength: 50 + minLength: 0 + example: '45' + x-position: 6 + - name: MessageId + in: query + description: >- + An optional message id used to identify the message. + + If no message id is provided, a new message id is generated and + assigned to the message. This id must be unique across all messages + created on the same account. + + (In case a previous message has been deleted according to GDPR + deletion rules setup on the specific account, the messageId is + allowed to be reused) + + If max length is exceeded, the entire api call will fail. + schema: + type: string + maxLength: 50 + minLength: 1 + example: PetShop + x-position: 7 + - name: RespectBlacklist + in: query + description: >- + If true, this message will be blocked from sending if the target + number is on the account's blacklist. If false, the message will be + sent no matter blacklist settings. + + Default: true + schema: + type: boolean + nullable: true + example: true + x-position: 8 + - name: ValidityPeriodInSeconds + in: query + description: >- + The validity period in seconds. Minimum is 60 seconds and maximum is + 172800 (48 hours). + + If not specified, the messages is attempted to be delivered in 48 + hours. A typical use of validityPeriod is for messages that makes no + sense to delivery efter er certain time frame, in the case the phone + is turned of, e.g. two factor codes. + + Please note, that messages are still charged even though the + operator is cancelling the delivery attempt due to an exceeded + validity period. + schema: + type: integer + format: int32 + maximum: 172800 + minimum: 60 + nullable: true + example: 90 + x-position: 9 + - name: StatusCallbackUrl + in: query + description: >- + In case you would like a callback from us when the message is + delivered, you can specify it here and we will call it when we have + new message statuses. + + The callback payload will be an array of status objects. + + Api calls sending messages with the same apikey will be subject to + being bulked together. + schema: + type: string + maxLength: 500 + minLength: 0 + example: https://[your_domain]/your/desired/path + x-position: 10 + - name: SendTime.UtcTime + in: query + schema: + type: string + format: date-time + x-position: 11 + - name: SendTime.LocalServerTime + in: query + schema: + type: string + format: date-time + x-position: 12 + - name: MsisdnCooldownInMinutes + in: query + description: >- + If set, the message will be cancelled if the same mobile number + already have received a SMS within this specified time period. + + Fx. used to prevent spamming a mobile number. + + Minimum 60 minutes (1 hour) and maximum is 43200 minutes (30 days). + schema: + type: integer + format: int32 + maximum: 43200 + minimum: 60 + nullable: true + example: 1440 + x-position: 13 + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/SmsOutgoingPostReply' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + callbacks: + status: + https://[your_domain]/your/desired/path: + post: + summary: Status callback url (Webhook) + description: >- + The status callback url to receive status information on when + sms messages are delivered (or if they fail). + + This is a call done by us to you and the url to be called, is + the one specified when sending the messages. + + Only messages with 100% identical message callbacks will be + grouped together into the same call. Messages with different + callback urls will never be grouped together in a single + callback. + requestBody: + x-name: payload + content: + application/json: + schema: + $ref: '#/components/schemas/StatusReportListModel' + required: true + x-position: 1 + responses: + '200': + description: '' + post: + tags: + - Sms - Outgoing + summary: Send sms messages using query parameters. + description: >- + It is strongly recommended to use the POST version instead of this + version to send text messages. This endpoint is only a emergency + fallback option for systems that are not capable of doing an HTTP post. + operationId: SmsOutgoing_SendUsingQueryPOST + parameters: + - name: Text + in: query + description: >- + The text message. + + If the max length is exceeded, the message text is truncated and + sent. + schema: + type: string + maxLength: 10000 + minLength: 1 + example: This is a message text to be sent + x-position: 1 + - name: From + in: query + description: >- + The sender. This can either be a 3-11 chars text sender or an up to + 14 digit long sender number. + + If the max length is exceeded, the string is truncated. + schema: + type: string + example: PetShop + x-position: 2 + - name: Flash + in: query + description: >- + If true, the message will be shown as a flash message (also known as + a class0 message) on the target phone. If false, it will be received + as a standard text message. + + Default: false + schema: + type: boolean + nullable: true + example: false + x-position: 3 + - name: Encoding + in: query + description: >- + The encoding of the message. Can be either "gsm7", "ucs2" or "auto". + + "gsm7" is the default alfabet for text messages and when using gsm7, + a single sms message can contain 160 characters. If the length + exceeeds 160 characters, the message is actually split up into parts + of 153 characters and charged according to this. Please note, that a + few, specific characters fill up 2 bytes and count for 2 letters. + Ref: https://en.wikipedia.org/wiki/GSM_03.38 + + "ucs2"" allows for more non-roman characters to be used along with + smileys. When using this encoding, a single message can consist of + 70 characters. If the message exceeds 70 characters, the final + message is actually split into parts of 67 characters. + + "auto" can be used in case the sender wishes to support non-roman + characters but wants to save the expenses on all the trafic that + only contains gsm characters anyway. + + Default: "gsm7" + schema: + type: string + example: gsm7 + x-position: 4 + - name: To + in: query + description: >- + The msisdn (country code and number) to send to. (Remember to + include countrycode in all numbers, e.g. 4512345678). + + If max length is exceeded, the entire api call will fail. + schema: + type: string + maxLength: 20 + minLength: 0 + example: '4512345678' + x-position: 5 + - name: CountryHint + in: query + description: >- + For optimal phone number validation, we encourage you to provide us + with a country code. This can be the numeric country code (like 44) + or the two-letter suffix (like GB). If this field is empty it is + important that you add the country code (e.g 44) in front of the + phone number in “to”. + schema: + type: string + maxLength: 50 + minLength: 0 + example: '45' + x-position: 6 + - name: MessageId + in: query + description: >- + An optional message id used to identify the message. + + If no message id is provided, a new message id is generated and + assigned to the message. This id must be unique across all messages + created on the same account. + + (In case a previous message has been deleted according to GDPR + deletion rules setup on the specific account, the messageId is + allowed to be reused) + + If max length is exceeded, the entire api call will fail. + schema: + type: string + maxLength: 50 + minLength: 1 + example: PetShop + x-position: 7 + - name: RespectBlacklist + in: query + description: >- + If true, this message will be blocked from sending if the target + number is on the account's blacklist. If false, the message will be + sent no matter blacklist settings. + + Default: true + schema: + type: boolean + nullable: true + example: true + x-position: 8 + - name: ValidityPeriodInSeconds + in: query + description: >- + The validity period in seconds. Minimum is 60 seconds and maximum is + 172800 (48 hours). + + If not specified, the messages is attempted to be delivered in 48 + hours. A typical use of validityPeriod is for messages that makes no + sense to delivery efter er certain time frame, in the case the phone + is turned of, e.g. two factor codes. + + Please note, that messages are still charged even though the + operator is cancelling the delivery attempt due to an exceeded + validity period. + schema: + type: integer + format: int32 + maximum: 172800 + minimum: 60 + nullable: true + example: 90 + x-position: 9 + - name: StatusCallbackUrl + in: query + description: >- + In case you would like a callback from us when the message is + delivered, you can specify it here and we will call it when we have + new message statuses. + + The callback payload will be an array of status objects. + + Api calls sending messages with the same apikey will be subject to + being bulked together. + schema: + type: string + maxLength: 500 + minLength: 0 + example: https://[your_domain]/your/desired/path + x-position: 10 + - name: SendTime.UtcTime + in: query + schema: + type: string + format: date-time + x-position: 11 + - name: SendTime.LocalServerTime + in: query + schema: + type: string + format: date-time + x-position: 12 + - name: MsisdnCooldownInMinutes + in: query + description: >- + If set, the message will be cancelled if the same mobile number + already have received a SMS within this specified time period. + + Fx. used to prevent spamming a mobile number. + + Minimum 60 minutes (1 hour) and maximum is 43200 minutes (30 days). + schema: + type: integer + format: int32 + maximum: 43200 + minimum: 60 + nullable: true + example: 1440 + x-position: 13 + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/SmsOutgoingPostReply' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + callbacks: + status: + https://[your_domain]/your/desired/path: + post: + summary: Status callback url (Webhook) + description: >- + The status callback url to receive status information on when + sms messages are delivered (or if they fail). + + This is a call done by us to you and the url to be called, is + the one specified when sending the messages. + + Only messages with 100% identical message callbacks will be + grouped together into the same call. Messages with different + callback urls will never be grouped together in a single + callback. + requestBody: + x-name: payload + content: + application/json: + schema: + $ref: '#/components/schemas/StatusReportListModel' + required: true + x-position: 1 + responses: + '200': + description: '' + /v4/sms/outgoing/sendusingtemplate: + post: + tags: + - Sms - Outgoing + summary: Send sms messages using a template. + operationId: SmsOutgoing_SendUsingTemplate + requestBody: + x-name: request + content: + application/json: + schema: + $ref: '#/components/schemas/SmsOutgoingTemplatePostRequest' + required: true + x-position: 1 + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/SmsOutgoingTemplatePostReply' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + callbacks: + status: + https://[your_domain]/your/desired/path: + post: + summary: Status callback url (Webhook) + description: >- + The status callback url to receive status information on when + sms messages are delivered (or if they fail). + + This is a call done by us to you and the url to be called, is + the one specified when sending the messages. + + Only messages with 100% identical message callbacks will be + grouped together into the same call. Messages with different + callback urls will never be grouped together in a single + callback. + requestBody: + x-name: payload + content: + application/json: + schema: + $ref: '#/components/schemas/StatusReportListModel' + required: true + x-position: 1 + responses: + '200': + description: '' + /v4/sms/outgoing/cancel: + post: + tags: + - Sms - Outgoing + summary: Cancel sms messages + operationId: SmsOutgoing_Cancel + requestBody: + x-name: request + content: + application/json: + schema: + $ref: '#/components/schemas/SmsOutgoingCancelPostRequest' + required: true + x-position: 1 + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/SmsOutgoingCancelPostReply' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/sms/outgoing/reports: + get: + tags: + - Sms - Outgoing + summary: Get sms status reports. + description: >- + Each report will only be returned once. Once called, the status has been + removed from our side and cannot be retrieved again using this method. + + Using api callbacks in combination with this call does not conflict. + operationId: SmsOutgoing_GetReports + parameters: + - name: limit + in: query + description: How many records to return (must be between 1 and 250) + schema: + type: integer + format: int32 + x-position: 1 + responses: + '200': + description: A list of status reports + content: + application/json: + schema: + $ref: '#/components/schemas/StatusReportListModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/sms/templates: + get: + tags: + - Templates + summary: Get all templates + description: >- + This response is a paged result and will contain the property + '_links.next'. + + If there are more pages, the next page in the paged result will be + provided here. + operationId: Templates_GetAllTemplates + parameters: + - name: pageLimit + in: query + description: How many records to return (must be between 1 and 250) + schema: + type: integer + format: int32 + x-position: 1 + responses: + '200': + description: A list of templates + content: + application/json: + schema: + $ref: '#/components/schemas/ApiPageModelOfStandardTextOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/sms/templates/{id}: + get: + tags: + - Templates + summary: Get template by id + operationId: Templates_GetTemplate + parameters: + - name: id + in: path + required: true + schema: + type: string + x-position: 1 + responses: + '200': + description: A template + content: + application/json: + schema: + $ref: '#/components/schemas/StandardTextOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/tools/parsephonenumbers: + post: + tags: + - Tools + summary: Parse phone numbers + operationId: Tools_ParsePhoneNumbers + requestBody: + x-name: request + content: + application/json: + schema: + $ref: '#/components/schemas/ParsePhoneNumberPostRequest' + required: true + x-position: 1 + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ParsePhoneNumberPostReply' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + components: + schemas: + ApiPageModelOfBlacklistOutputApiModel: + allOf: + - $ref: '#/components/schemas/OutputListApiModelOfBlacklistOutputApiModel' + - type: object + additionalProperties: false + properties: + _links: + $ref: '#/components/schemas/ApiPageLinks' + ApiPageLinks: + type: object + additionalProperties: false + properties: + next: + type: string + description: The link to the next page, e.g. /Feature/Something/cAw2WeS3rdf + example: /Feature/Something/cAw2WeS3rdf + isLastPage: + type: boolean + description: >- + true if this is the last page, false if there are more pages. + NextPageUrl is always defined when this is false and never defined + when it is true. + OutputListApiModelOfBlacklistOutputApiModel: + type: object + additionalProperties: false + properties: + entries: + type: array + items: + $ref: '#/components/schemas/BlacklistOutputApiModel' + BlacklistOutputApiModel: + allOf: + - $ref: '#/components/schemas/BlacklistApiModelbase' + - type: object + additionalProperties: false + properties: + id: + type: string + description: The id of the blacklist entry + format: guid + example: 683862c7-c814-40cc-a74d-048d9f2f8cb7 + created: + type: string + description: >- + When the blacklist entry was created e.g. 2001-02-30T14:50:23Z + (UTC time) + example: '2001-02-30T14:50:23Z' + reasonCode: + description: Why the blacklist was created + example: 5 + oneOf: + - $ref: '#/components/schemas/BlacklistReason' + reasonCodeDescription: + type: string + description: Text version of the ReasonCode + example: AddFromApi + BlacklistReason: + type: integer + description: |- + 1 = CustomerSpecificUnsubscription + 2 = SharedUnsubscription + 3 = CountryBanLaw + 4 = AddWithUserInterface + 5 = AddFromApi + 6 = Custom + 7 = AddFromCrm + 8 = RecipientSyncRemoval + 9 = Autoblacklist + 10 = SpamLimit + 11 = UnsubscribeForm + 12 = CustomDomain + x-enumNames: + - CustomerSpecificUnsubscription + - SharedUnsubscription + - CountryBanLaw + - AddWithUserInterface + - AddFromApi + - Custom + - AddFromCrm + - RecipientSyncRemoval + - Autoblacklist + - SpamLimit + - UnsubscribeForm + - CustomDomain + enum: + - 1 + - 2 + - 3 + - 4 + - 5 + - 6 + - 7 + - 8 + - 9 + - 10 + - 11 + - 12 + BlacklistApiModelbase: + type: object + x-abstract: true + additionalProperties: false + required: + - numberInfo + properties: + numberInfo: + $ref: '#/components/schemas/NumberInfo' + comment: + type: string + description: A comment describing the specific blacklisting (optional). + maxLength: 200 + minLength: 0 + example: Some text provided when created + NumberInfo: + type: object + additionalProperties: false + required: + - countryCode + - phoneNumber + properties: + countryCode: + type: string + description: The country code part of the number + minLength: 1 + example: '45' + phoneNumber: + type: string + description: The local phonenumber part of the number + minLength: 1 + example: '12345678' + ApiErrorMessage: + type: object + additionalProperties: false + properties: + errorMessage: + type: string + description: An overall description of the error. + details: + type: array + description: If available, more details will be provided here. + items: + type: string + BlacklistCreateApiModel: + allOf: + - $ref: '#/components/schemas/BlacklistApiModelbase' + - type: object + additionalProperties: false + properties: + removeFromAllLists: + type: boolean + description: >- + If true, the number will also be removed from all lists. + Default: false + nullable: true + example: false + EmailOutgoingTemplatePostReply: + allOf: + - $ref: '#/components/schemas/EmailOutgoingBasePostReply' + - type: object + additionalProperties: false + properties: + usedPlaceholderKeys: + type: array + description: A list of used placeholder keys + example: + - '{name}' + - '{lastname}' + items: + type: string + notUsedPlaceholderKeys: + type: array + description: A list of not used placeholder keys + example: + - '{name}' + - '{lastname}' + items: + type: string + EmailOutgoingBasePostReply: + type: object + additionalProperties: false + properties: + messageId: + type: string + description: >- + An optional message id used to identify the message. + + If no message id is provided, a new message id is generated and + assigned to the message. This id must be unique across all messages + created on the same account. + + (In case a previous message has been deleted according to GDPR + deletion rules setup on the specific account, the messageId is + allowed to be reused) + + If max length is exceeded, the entire api call will fail. + example: 8fe266b2-56e9-4b5f-938f-cc5e22530721 + to: + type: array + description: The list of created Receivers + items: + $ref: '#/components/schemas/EmailRecipient' + EmailRecipient: + type: object + additionalProperties: false + required: + - emailAddress + - displayName + properties: + emailAddress: + type: string + description: The email address of the recipient + minLength: 1 + example: roy@tomlinson.com + displayName: + type: string + description: The display name to use for the recipient + minLength: 1 + example: Roy Tomlinson + EmailOutgoingTemplatePostRequest: + allOf: + - $ref: '#/components/schemas/EmailOutgoingApiBaseCreateModel' + - type: object + additionalProperties: false + required: + - templateId + properties: + templateId: + type: string + description: The id of the template to use. + minLength: 1 + example: ecdcb257-c1e9-4b44-8a4e-f05822372d82 + placeholders: + description: >- + A key-value list of placeholders to replace in the template + html, text and subject. Keys must be encapsulated with {}. E.g. + {NAME}. + example: + '{name}': Ray + '{lastname}': Tomlinson + oneOf: + - $ref: '#/components/schemas/ApiPlaceholderValueCollection' + ApiPlaceholderValueCollection: + type: object + additionalProperties: + type: string + EmailOutgoingApiBaseCreateModel: + type: object + additionalProperties: false + required: + - from + - to + properties: + from: + description: The from info of the message. + oneOf: + - $ref: '#/components/schemas/EmailRecipient' + to: + type: array + description: >- + A list of receiver objects. Allowed to contain between 1 and 100 + elements. + maxItems: 100 + minItems: 1 + items: + $ref: '#/components/schemas/EmailRecipient' + replyTo: + type: array + description: A list of optional Reply To objects. + maxItems: 100 + minItems: 1 + items: + $ref: '#/components/schemas/EmailRecipient' + messageId: + type: string + description: >- + An optional message id used to identify the message. + + If no message id is provided, a new message id is generated and + assigned to the message. This id must be unique across all messages + created on the same account. + + (In case a previous message has been deleted according to GDPR + deletion rules setup on the specific account, the messageId is + allowed to be reused) + + If max length is exceeded, the entire api call will fail. + maxLength: 50 + minLength: 1 + example: 8fe266b2-56e9-4b5f-938f-cc5e22530721 + sendTime: + type: string + description: >- + If set, this defines to time in the future for the message to be + sent. e.g. 2001-02-30T14:50:23Z (UTC time). + example: '2001-02-30T14:50:23Z' + tracking: + type: boolean + description: >- + If true, this will add Open and Click tracking to your email. + Default: true. + example: false + EmailOutgoingPostRequest: + allOf: + - $ref: '#/components/schemas/EmailOutgoingApiBaseCreateModel' + - type: object + additionalProperties: false + required: + - subject + - html + properties: + subject: + type: string + description: |- + The subject of the email. + If max length is exceeded, the entire api call will fail. + maxLength: 255 + minLength: 0 + example: This is the subject of the email + html: + type: string + description: |- + The HTML body of the email. Max size of 2 MB. + If max size is exceeded, the entire api call will fail. + minLength: 1 + example: >- +

This is an email to + be sent

+ text: + type: string + description: >- + The text body of the email. If none is provided this will be + generated from the HTML. Max size of 2 MB. + + If max size is exceeded, the entire api call will fail. + example: This is the text version of the email + EmailEventListModel: + type: object + additionalProperties: false + properties: + events: + type: array + items: + $ref: '#/components/schemas/EmailEvent' + EmailEvent: + type: object + additionalProperties: false + properties: + messageId: + type: string + description: The id of the message. + example: id1 + eventType: + description: Contains a code for what event type the event is. + example: 3 + oneOf: + - $ref: '#/components/schemas/EmailEventType' + eventTypeDescription: + type: string + description: A text description of the event type + example: Delivered + eventTimestamp: + type: string + description: When the event happened e.g. 2001-02-30T14:50:23Z (UTC time) + example: '2001-02-30T14:50:23Z' + EmailEventType: + type: integer + description: |- + 0 = Undefined + 1 = Clicked + 2 = Complained + 3 = Delivered + 4 = Opened + 5 = PermanentFail + 6 = TemporaryFail + 7 = Unsubscribed + 8 = Queued + 9 = Attempt + x-enumNames: + - Undefined + - Clicked + - Complained + - Delivered + - Opened + - PermanentFail + - TemporaryFail + - Unsubscribed + - Queued + - Attempt + enum: + - 0 + - 1 + - 2 + - 3 + - 4 + - 5 + - 6 + - 7 + - 8 + - 9 + ApiPageModelOfEmailTemplateOutputApiModel: + allOf: + - $ref: '#/components/schemas/OutputListApiModelOfEmailTemplateOutputApiModel' + - type: object + additionalProperties: false + properties: + _links: + $ref: '#/components/schemas/ApiPageLinks' + OutputListApiModelOfEmailTemplateOutputApiModel: + type: object + additionalProperties: false + properties: + entries: + type: array + items: + $ref: '#/components/schemas/EmailTemplateOutputApiModel' + EmailTemplateOutputApiModel: + type: object + additionalProperties: false + properties: + id: + type: string + description: The id of the email template + example: c9b6c7a8-aa22-4a59-b6d5-fdbbeced27bc + name: + type: string + description: The name of the email template + example: My email template + html: + type: string + description: The Html of the email template + example: >- +

Hello {name} {lastname}. + This is an email to be sent

+ text: + type: string + description: The text version of the Html + example: Hello {name} This is the text version of the email + subject: + type: string + description: The subject of the email template + example: Hello {lastname} This is the subject of the email + preheader: + type: string + description: The preheader of the email + example: This is the preheader of the email + placeholders: + type: array + description: >- + A list of the placeholders found in the template html, text and + subject. + example: + - '{name}' + - '{lastname}' + items: + type: string + created: + type: string + description: >- + When the email template was created e.g. 2001-02-30T14:50:23Z (UTC + time) + example: '2001-02-30T14:50:23Z' + lastUpdated: + type: string + description: >- + When the email template was last updated e.g. 2001-02-30T14:50:23Z + (UTC time) + example: '2001-02-30T14:50:23Z' + RequestDeletionOutputApiModel: + type: object + additionalProperties: false + properties: + id: + type: string + description: The Id of the Deletion request + example: cf97f715-63d4-41df-92a1-34eb87b866b5 + DeletionRequestCreateInfo: + type: object + additionalProperties: false + properties: + numberInfo: + $ref: '#/components/schemas/NumberInfo' + ApiPageModelOfGroupOutputApiModel: + allOf: + - $ref: '#/components/schemas/OutputListApiModelOfGroupOutputApiModel' + - type: object + additionalProperties: false + properties: + _links: + $ref: '#/components/schemas/ApiPageLinks' + OutputListApiModelOfGroupOutputApiModel: + type: object + additionalProperties: false + properties: + entries: + type: array + items: + $ref: '#/components/schemas/GroupOutputApiModel' + GroupOutputApiModel: + type: object + additionalProperties: false + properties: + id: + type: string + description: The id of the list + format: guid + example: a80e5daa-1bf9-48ca-b67e-ff79eeab1c39 + name: + type: string + description: The name of the list + example: My list + created: + type: string + description: When the list was created e.g. 2001-02-30T14:50:23Z (UTC time) + example: '2001-02-30T14:50:23Z' + GroupInputApiModel: + type: object + additionalProperties: false + properties: + name: + type: string + ApiPageModelOfRecipientOutputApiModel: + allOf: + - $ref: '#/components/schemas/OutputListApiModelOfRecipientOutputApiModel' + - type: object + additionalProperties: false + properties: + _links: + $ref: '#/components/schemas/ApiPageLinks' + OutputListApiModelOfRecipientOutputApiModel: + type: object + additionalProperties: false + properties: + entries: + type: array + items: + $ref: '#/components/schemas/RecipientOutputApiModel' + RecipientOutputApiModel: + allOf: + - $ref: '#/components/schemas/RecipientBaseApiModel' + - type: object + additionalProperties: false + properties: + id: + type: string + description: The id of the recipient + format: guid + example: 99e0543f-b059-4127-9b50-c42112f19cc9 + listId: + type: string + description: The id of the list that the recipient belongs to + format: guid + example: 4a5f91d5-3aa4-4419-890e-f7b103406dbf + created: + type: string + description: >- + When the recipient was created e.g. 2001-02-30T14:50:23Z (UTC + time) + example: '2001-02-30T14:50:23Z' + RecipientBaseApiModel: + type: object + x-abstract: true + additionalProperties: false + properties: + externalCreated: + type: string + description: >- + When the recipient was created in an external system e.g. + 2001-02-30T14:50:23Z (UTC time) + example: '2001-02-30T14:50:23Z' + numberInfo: + $ref: '#/components/schemas/NumberInfo' + fields: + description: The fields to update in the given recipient. + example: + firstname: Friedhelm + lastname: Hillebrand + birthday: '1945-04-30' + custom1: Custom1 + custom2: Custom2 + custom3: Custom3 + custom4: Custom4 + custom5: Custom5 + custom6: Custom6 + email: test@test.dk + zipCode: '8000' + address: testroad 12 + companyName: test company + oneOf: + - $ref: '#/components/schemas/RecipientFieldsCollection' + RecipientFieldsCollection: + type: object + additionalProperties: + type: string + RecipientCreateOrUpdateApiModel: + allOf: + - $ref: '#/components/schemas/RecipientBaseApiModel' + - type: object + additionalProperties: false + RecipientUpdateApiModel: + allOf: + - $ref: '#/components/schemas/RecipientBaseApiModel' + - type: object + additionalProperties: false + RecipientCreateApiModel: + allOf: + - $ref: '#/components/schemas/RecipientBaseApiModel' + - type: object + additionalProperties: false + IncomingMessageListModel: + type: object + additionalProperties: false + properties: + messages: + type: array + items: + $ref: '#/components/schemas/IncomingMessage' + IncomingMessage: + type: object + additionalProperties: false + properties: + from: + $ref: '#/components/schemas/IncomingMessageSender' + to: + $ref: '#/components/schemas/IncomingMessageTarget' + text: + type: string + receivedAt: + type: string + example: '2001-02-30T14:50:23Z' + IncomingMessageSender: + type: object + additionalProperties: false + properties: + countryCode: + type: string + phoneNumber: + type: string + rawSource: + type: string + isValidMsisdn: + type: boolean + IncomingMessageTarget: + type: object + additionalProperties: false + properties: + countryCode: + type: string + phoneNumber: + type: string + msisdn: + type: string + SmsOutgoingPostReply: + type: object + additionalProperties: false + properties: + results: + type: array + items: + $ref: '#/components/schemas/SmsOutgoingApiCreateResultModel' + SmsOutgoingApiCreateResultModel: + type: object + additionalProperties: false + properties: + numberDetails: + description: >- + The parsed details about the msisdn provided in the to-field of the + request (msisdn is a number with a countrycode e.g. 4512345678) + oneOf: + - $ref: '#/components/schemas/NumberDetails' + text: + type: string + description: The text message + example: This is a message text to be sent + from: + type: string + description: The sender. + example: PetShop + smsCount: + type: integer + description: >- + The number of sms messages this message will be split into when sent + to the operator. Charging will also be done according to this + number. + format: int32 + example: 1 + messageId: + type: string + description: >- + An optional message id used to identify the message. + + If no message id is provided, a new message id is generated and + assigned to the message. This id must be unique across all messages + created on the same account. + + (In case a previous message has been deleted according to GDPR + deletion rules setup on the specific account, the messageId is + allowed to be reused) + example: PetShop + encoding: + type: string + description: >- + The encoding of the message. Can be either "gsm7" or "ucs2". In case + the message was submitted with encoding "auto", this report will + reveal the final encoding based on the characters in the message + text. + + "gsm7" is the default alfabet for text messages and when using gsm7, + a single sms message can contain 160 characters. If the length + exceeeds 160 characters, the message is actually split up into parts + of 153 characters and charged according to this. Please note, that a + few, specific characters fill up 2 bytes and count for 2 letters. + Ref: https://en.wikipedia.org/wiki/GSM_03.38 + + "ucs2"" allows for more non-roman characters to be used along with + smileys. When using this encoding, a single message can consist of + 70 characters. If the message exceeds 70 characters, the final + message is actually split into parts of 67 characters. + example: gsm7 + NumberDetails: + type: object + additionalProperties: false + properties: + countryCode: + type: string + description: The country code part of the msisdn, e.g. 45. + example: '45' + phoneNumber: + type: string + description: The phone number part of the msisdn, e.g. 12345678. + example: '12345678' + rawMsisdn: + type: string + description: >- + The input msisdn in its unaltered format. This is the value provided + when sending the text message. + example: 45 12 34 56 78 + msisdn: + type: string + description: The final cleaned msisdn + example: '4512345678' + isValidMsisdn: + type: boolean + description: True if the input msisdn was valid. + example: true + countryHint: + type: string + description: The country code hint if provided in the request + SmsOutgoingPostRequest: + type: object + additionalProperties: false + required: + - messages + properties: + messages: + type: array + description: >- + A list of the sms messages to be sent. Allowed to contain between 1 + and 250 elements. + maxItems: 250 + minItems: 1 + items: + $ref: '#/components/schemas/SmsOutgoingApiCreateModel' + SmsOutgoingApiCreateModel: + allOf: + - $ref: '#/components/schemas/SmsOutgoingBaseApiModel' + - type: object + additionalProperties: false + required: + - text + - from + properties: + text: + type: string + description: >- + The text message. + + If the max length is exceeded, the message text is truncated and + sent. + maxLength: 10000 + minLength: 1 + example: This is a message text to be sent + from: + type: string + description: >- + The sender. This can either be a 3-11 chars text sender or an up + to 14 digit long sender number. + + If the max length is exceeded, the string is truncated. + minLength: 1 + example: PetShop + flash: + type: boolean + description: >- + If true, the message will be shown as a flash message (also + known as a class0 message) on the target phone. If false, it + will be received as a standard text message. + + Default: false + nullable: true + example: false + encoding: + type: string + description: >- + The encoding of the message. Can be either "gsm7", "ucs2" or + "auto". + + "gsm7" is the default alfabet for text messages and when using + gsm7, a single sms message can contain 160 characters. If the + length exceeeds 160 characters, the message is actually split up + into parts of 153 characters and charged according to this. + Please note, that a few, specific characters fill up 2 bytes and + count for 2 letters. Ref: + https://en.wikipedia.org/wiki/GSM_03.38 + + "ucs2"" allows for more non-roman characters to be used along + with smileys. When using this encoding, a single message can + consist of 70 characters. If the message exceeds 70 characters, + the final message is actually split into parts of 67 characters. + + "auto" can be used in case the sender wishes to support + non-roman characters but wants to save the expenses on all the + trafic that only contains gsm characters anyway. + + Default: "gsm7" + example: gsm7 + SmsOutgoingBaseApiModel: + type: object + additionalProperties: false + required: + - to + properties: + to: + type: string + description: >- + The msisdn (country code and number) to send to. (Remember to + include countrycode in all numbers, e.g. 4512345678). + + If max length is exceeded, the entire api call will fail. + maxLength: 20 + minLength: 0 + example: '4512345678' + countryHint: + type: string + description: >- + For optimal phone number validation, we encourage you to provide us + with a country code. This can be the numeric country code (like 44) + or the two-letter suffix (like GB). If this field is empty it is + important that you add the country code (e.g 44) in front of the + phone number in “to”. + maxLength: 50 + minLength: 0 + example: '45' + messageId: + type: string + description: >- + An optional message id used to identify the message. + + If no message id is provided, a new message id is generated and + assigned to the message. This id must be unique across all messages + created on the same account. + + (In case a previous message has been deleted according to GDPR + deletion rules setup on the specific account, the messageId is + allowed to be reused) + + If max length is exceeded, the entire api call will fail. + maxLength: 50 + minLength: 1 + example: PetShop + respectBlacklist: + type: boolean + description: >- + If true, this message will be blocked from sending if the target + number is on the account's blacklist. If false, the message will be + sent no matter blacklist settings. + + Default: true + nullable: true + example: true + validityPeriodInSeconds: + type: integer + description: >- + The validity period in seconds. Minimum is 60 seconds and maximum is + 172800 (48 hours). + + If not specified, the messages is attempted to be delivered in 48 + hours. A typical use of validityPeriod is for messages that makes no + sense to delivery efter er certain time frame, in the case the phone + is turned of, e.g. two factor codes. + + Please note, that messages are still charged even though the + operator is cancelling the delivery attempt due to an exceeded + validity period. + format: int32 + maximum: 172800 + minimum: 60 + nullable: true + example: 90 + statusCallbackUrl: + type: string + description: >- + In case you would like a callback from us when the message is + delivered, you can specify it here and we will call it when we have + new message statuses. + + The callback payload will be an array of status objects. + + Api calls sending messages with the same apikey will be subject to + being bulked together. + maxLength: 500 + minLength: 0 + example: https://[your_domain]/your/desired/path + sendTime: + type: string + description: >- + If set, this defines to time in the future for the message to be + sent. e.g. 2001-02-30T14:50:23Z (UTC time). + example: '2001-02-30T14:50:23Z' + msisdnCooldownInMinutes: + type: integer + description: >- + If set, the message will be cancelled if the same mobile number + already have received a SMS within this specified time period. + + Fx. used to prevent spamming a mobile number. + + Minimum 60 minutes (1 hour) and maximum is 43200 minutes (30 days). + format: int32 + maximum: 43200 + minimum: 60 + nullable: true + example: 1440 + StatusReportListModel: + type: object + additionalProperties: false + properties: + reports: + type: array + items: + $ref: '#/components/schemas/StatusReport' + StatusReport: + type: object + additionalProperties: false + properties: + messageId: + type: string + description: The id of the message. + example: id1 + numberDetails: + $ref: '#/components/schemas/StatusReportNumberDetails' + deliveryInfo: + $ref: '#/components/schemas/DeliveryInfo' + chargeInfo: + $ref: '#/components/schemas/ChargeInfo' + StatusReportNumberDetails: + allOf: + - $ref: '#/components/schemas/NumberDetails' + - type: object + additionalProperties: false + properties: + isAnonymized: + type: boolean + description: Specifies whether the message has been anonymized or not. + example: false + DeliveryInfo: + type: object + additionalProperties: false + properties: + stateCode: + description: >- + Contains a code indicating whether a message is delivered, failed or + cancelled. + example: -1 + oneOf: + - $ref: '#/components/schemas/MessageStateCode' + stateDescription: + type: string + description: A text description of the state code + example: Failed + sendTime: + type: string + description: When the message was sent e.g. 2001-02-30T14:50:23Z (UTC time) + example: '2001-02-30T14:50:23Z' + doneTime: + type: string + description: >- + When the delivery of the message fails, is cancelled, or is + delivered. If the operator does not support reporting the actual + delivery time, this will be the time when the delivery report is + received from the operator. + + In some cases where the message is not sent, this value can be null. + example: '2001-02-30T14:50:23Z' + errorCode: + $ref: '#/components/schemas/ErrorCode' + errorDescription: + type: string + description: A text description of the error code + example: Undeliverable message + MessageStateCode: + type: integer + description: |- + 0 = Unknown + 1 = Delivered + -2 = Cancelled + -1 = Failed + x-enumNames: + - Unknown + - Delivered + - Cancelled + - Failed + enum: + - 0 + - 1 + - -2 + - -1 + ErrorCode: + type: integer + description: "A code describing the error if the state is not Delivered. This property will be absent in case the state is Delivered.\n\r-1 = Undeliverable message\n\r-2 = Msisdn blacklisted by operator\n\r-3 = Invalid mobile number\n\r-4 = Country not available\n\r-5 = Delivery timeout\n\r-6 = Not delivered removed from gateway\n\r-8 = Insufficient funds\n\r-9 = Authorize failed\n\r-10 = Capture failed\n\r-11 = Overcharge donation limit exceeded\n\r-12 = Overcharge type not activated\n\r-13 = Overcharge settings not valid\n\r-14 = Sender name blocked\n\r-15 = Route not available\n\r-16 = Refund not available\n\r-17 = Refund not possible for message\n\r-18 = Refund failed\n\r-19 = Refund not possible for pending message\n\r-20 = Refund not possible for failed message\n\r-21 = Refund failed already refunded\n\r-22 = Delivery timeout before sent\n\r-23 = Message queue full at operator\n\r-80 = Imported from other system\n\r-99 = Submit failed\n\r-100 = Communication error\n\r-101 = Unknown id\n\r-102 = Cancelled\n\r-103 = Unknown error processing message\n\r-104 = Unknown id at operator\n\r-105 = Msisdn blacklisted on account\n\r-106 = Mobile number cooldown\n\r-201 = Suspicious sms content\n\r-202 = Account deactivated\n\r-300 = Pdu sequence incomplete\n\r-301 = Pdu sequence invalid\n\r" + format: integer + example: -1 + ChargeInfo: + type: object + additionalProperties: false + properties: + isCharged: + type: boolean + description: True if the message will be charged. + example: true + smsCount: + type: integer + description: >- + The total sms count in the message. If IsCharged is true, this is + the number of sms'es that will be charged. + format: int32 + example: 2 + encoding: + type: string + description: >- + The encoding of the message. Can be either "gsm7" or "ucs2". In case + the message was submitted with encoding "auto", this report will + reveal the final encoding based on the characters in the message + text. + + "gsm7" is the default alfabet for text messages and when using gsm7, + a single sms message can contain 160 characters. If the length + exceeeds 160 characters, the message is actually split up into parts + of 153 characters and charged according to this. Please note, that a + few, specific characters fill up 2 bytes and count for 2 letters. + Ref: https://en.wikipedia.org/wiki/GSM_03.38 + + "ucs2"" allows for more non-roman characters to be used along with + smileys. When using this encoding, a single message can consist of + 70 characters. If the message exceeds 70 characters, the final + message is actually split into parts of 67 characters. + example: gsm7 + SmsOutgoingTemplatePostReply: + type: object + additionalProperties: false + properties: + usedPlaceholderKeys: + type: array + description: A list of used used placeholder keys + example: + - '{name}' + - '{lastname}' + items: + type: string + notUsedPlaceholderKeys: + type: array + description: A list of not used placeholder keys + example: + - '{name}' + - '{lastname}' + items: + type: string + results: + type: array + items: + $ref: '#/components/schemas/SmsOutgoingApiCreateResultModel' + SmsOutgoingTemplatePostRequest: + type: object + additionalProperties: false + required: + - templateId + - messages + properties: + templateId: + type: string + description: The id of the template to use + minLength: 1 + example: ecdcb257-c1e9-4b44-8a4e-f05822372d82 + messages: + type: array + description: >- + A list of the sms messages to be sent. Allowed to contain between 1 + and 250 elements. + maxItems: 250 + minItems: 1 + items: + $ref: '#/components/schemas/SmsOutgoingTemplateApiCreateModel' + SmsOutgoingTemplateApiCreateModel: + allOf: + - $ref: '#/components/schemas/SmsOutgoingBaseApiModel' + - type: object + additionalProperties: false + properties: + placeholders: + description: >- + A key-value list of placeholders to replace in the template + text. Keys must be encapsulated with {}. E.g. {NAME}. + example: + '{name}': Friedhelm + '{lastname}': Hillebrand + oneOf: + - $ref: '#/components/schemas/ApiPlaceholderValueCollection' + SmsOutgoingCancelPostReply: + type: object + additionalProperties: false + properties: + results: + type: array + description: A list of results + items: + $ref: '#/components/schemas/SmsOutgoingCancelPostReplyResultModel' + SmsOutgoingCancelPostReplyResultModel: + type: object + additionalProperties: false + properties: + messageId: + type: string + description: The MessageId of the message that was attempted cancelled. + example: 8fe266b2-56e9-4b5f-938f-cc5e22530721 + resultCode: + description: A value indicating if the message was cancelled. + example: 1 + oneOf: + - $ref: '#/components/schemas/CancelResultCode' + resultDescription: + type: string + description: A description of the result. + example: Success + CancelResultCode: + type: integer + description: |- + 0 = Unknown + 1 = Success + -2 = MessageNotFound + -1 = NotCancelled + x-enumNames: + - Unknown + - Success + - MessageNotFound + - NotCancelled + enum: + - 0 + - 1 + - -2 + - -1 + SmsOutgoingCancelPostRequest: + type: object + additionalProperties: false + required: + - messageIds + properties: + messageIds: + type: array + description: >- + A list of the sms message ids to be cancelled. Allowed to contain + between 1 and 250 elements. + maxItems: 250 + minItems: 1 + example: + - id1 + - id2 + items: + type: string + ApiPageModelOfStandardTextOutputApiModel: + allOf: + - $ref: '#/components/schemas/OutputListApiModelOfStandardTextOutputApiModel' + - type: object + additionalProperties: false + properties: + _links: + $ref: '#/components/schemas/ApiPageLinks' + OutputListApiModelOfStandardTextOutputApiModel: + type: object + additionalProperties: false + properties: + entries: + type: array + items: + $ref: '#/components/schemas/StandardTextOutputApiModel' + StandardTextOutputApiModel: + type: object + additionalProperties: false + properties: + id: + type: string + description: The id of the template + example: c7114ec3-8f89-4e26-8048-686585c1da2a + name: + type: string + description: The name of the template + example: My template + text: + type: string + description: The template text + example: My template text {name} {lastname} + senderName: + type: string + description: The sendername to use with this template + example: My sendername + encoding: + type: string + description: >- + The encoding of the message. Can be either "gsm7" or "ucs2" + + "gsm7" is the default alfabet for text messages and when using gsm7, + a single sms message can contain 160 characters. If the length + exceeeds 160 characters, the message is actually split up into parts + of 153 characters and charged according to this. Please note, that a + few, specific characters fill up 2 bytes and count for 2 letters. + Ref: https://en.wikipedia.org/wiki/GSM_03.38 + + "ucs2"" allows for more non-roman characters to be used along with + smileys. When using this encoding, a single message can consist of + 70 characters. If the message exceeds 70 characters, the final + message is actually split into parts of 67 characters. + example: gsm7 + placeholders: + type: array + description: >- + A list of the placeholders found in the template html, text and + subject. + example: + - '{name}' + - '{lastname}' + items: + type: string + created: + type: string + description: When the template was created e.g. 2001-02-30T14:50:23Z (UTC time) + example: '2001-02-30T14:50:23Z' + lastUpdated: + type: string + description: >- + When the template was last updated e.g. 2001-02-30T14:50:23Z (UTC + time) + example: '2001-02-30T14:50:23Z' + ParsePhoneNumberPostReply: + type: object + additionalProperties: false + properties: + results: + type: array + items: + $ref: '#/components/schemas/NumberDetails' + ParsePhoneNumberPostRequest: + type: object + additionalProperties: false + required: + - numbersToParse + properties: + numbersToParse: + type: array + description: A list of the numbersToParse and country hints to be parsed + minItems: 1 + items: + $ref: '#/components/schemas/RawMsisdnAndCountryHint' + RawMsisdnAndCountryHint: + type: object + additionalProperties: false + properties: + countryHint: + type: string + description: The country part of the msisdn, e.g. 45 or DK. + example: '45' + rawMsisdn: + type: string + description: >- + The input msisdn in its unaltered format. This is the value provided + when sending the text message. + example: +45 12 34 56 78 + securitySchemes: + BasicAuth: + type: http + description: >- + Provide Basic Authentiation with an arbitrary username and your api key + as password, e.g. some_value_to_be_ignored:your_api_key_here + scheme: basic + QueryParameter: + type: apiKey + description: >- + Specify your apikey in the url as + https://api.inmobile.com/some/path?apikey=your_api_key_here. This method + is only recommended if basic authorization is not possible. + name: apikey + in: query + security: + - BasicAuth: [] + - QueryParameter: [] + tags: + - name: Sms - Outgoing + - name: Sms - Incoming + - name: Blacklist + - name: Lists + - name: Gdpr + - name: Email + - name: Email Templates + - name: Templates + - name: Tools +konfigCliVersion: 1.38.34 diff --git a/sdks/db/fixed-specs-cache/innoship-fixed-spec.yaml b/sdks/db/fixed-specs-cache/innoship-fixed-spec.yaml new file mode 100644 index 0000000000..4682995ad9 --- /dev/null +++ b/sdks/db/fixed-specs-cache/innoship-fixed-spec.yaml @@ -0,0 +1,8432 @@ +publishJson: + company: Innoship + serviceName: false + sdkName: innoship-{language}-sdk + clientName: Innoship + metaDescription: "Innoship is the advanced delivery management platform that helps retailers to improve customer experience by streamlining the delivery process. We combined our eCommerce logistics expertise with all the enterprise features you need to master last-mile customer experience. \n\nBacked by Abris Capital Partners, the ESG transformation specialist private equity investor, Innoship is now part of Alsendo group, the leading eCommerce shipping solutions technologies in the CEE region.\n\nFrom checkout and shipping to tracking, returns and analytics, Innoship helps you safely deliver on promises made to your customers. \n\nEffortless integration, hassle-free delivery\n•\tA simple, one-time integration with the Innoship app allows retailers to access any carrier, local or international.\n•\tExternal markets become readily available with seamless connections to hundreds of carriers in 15+ countries." + apiStatusUrls: inherit + homepage: innoship.io + developerDocumentation: api.innoship.io/index.html + categories: + - shipping_api + - logistics_provider + - shipping_integration +rawSpecString: | + openapi: 3.0.1 + info: + title: Innoship API + description: Api service implementation (version:6.0.1.503) + termsOfService: https://example.com/terms + contact: + name: Andrei Paul + email: andrei@innoship.ro + license: + name: Use under LICX + url: https://example.com/license + version: v1 + paths: + /api/ClientLocation: + get: + tags: + - ClientLocation + parameters: + - name: countryCode + in: query + schema: + type: string + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + responses: + '200': + description: Success + post: + tags: + - ClientLocation + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/UpdateLocationDto' + application/json: + schema: + $ref: '#/components/schemas/UpdateLocationDto' + text/json: + schema: + $ref: '#/components/schemas/UpdateLocationDto' + application/*+json: + schema: + $ref: '#/components/schemas/UpdateLocationDto' + responses: + '200': + description: Success + /api/ClientLocation/{id}: + put: + tags: + - ClientLocation + parameters: + - name: id + in: path + required: true + schema: + type: integer + format: int32 + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/UpdateLocationDto' + application/json: + schema: + $ref: '#/components/schemas/UpdateLocationDto' + text/json: + schema: + $ref: '#/components/schemas/UpdateLocationDto' + application/*+json: + schema: + $ref: '#/components/schemas/UpdateLocationDto' + responses: + '200': + description: Success + delete: + tags: + - ClientLocation + parameters: + - name: id + in: path + required: true + schema: + type: integer + format: int32 + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + responses: + '200': + description: Success + get: + tags: + - ClientLocation + parameters: + - name: id + in: path + required: true + schema: + type: integer + format: int32 + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + responses: + '200': + description: Success + /api/ClientLocation/Summary: + post: + tags: + - ClientLocation + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/LocationFilter' + application/json: + schema: + $ref: '#/components/schemas/LocationFilter' + text/json: + schema: + $ref: '#/components/schemas/LocationFilter' + application/*+json: + schema: + $ref: '#/components/schemas/LocationFilter' + responses: + '200': + description: Success + /api/ClientLocation/Validate: + post: + tags: + - ClientLocation + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/LocationDto' + application/json: + schema: + $ref: '#/components/schemas/LocationDto' + text/json: + schema: + $ref: '#/components/schemas/LocationDto' + application/*+json: + schema: + $ref: '#/components/schemas/LocationDto' + responses: + '200': + description: Success + /api/ClientLocation/{locationId}/Courier: + post: + tags: + - ClientLocation + parameters: + - name: locationId + in: path + required: true + schema: + type: integer + format: int32 + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/CreateLocationCourierServicesDto' + application/json: + schema: + $ref: '#/components/schemas/CreateLocationCourierServicesDto' + text/json: + schema: + $ref: '#/components/schemas/CreateLocationCourierServicesDto' + application/*+json: + schema: + $ref: '#/components/schemas/CreateLocationCourierServicesDto' + responses: + '200': + description: Success + /api/ClientLocation/{locationId}/Courier/{courierId}: + delete: + tags: + - ClientLocation + parameters: + - name: locationId + in: path + required: true + schema: + type: integer + format: int32 + - name: courierId + in: path + required: true + schema: + type: integer + format: int32 + - name: force + in: query + schema: + type: boolean + - name: isEmagMarketPlace + in: query + schema: + type: boolean + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + responses: + '200': + description: Success + /api/ClientLocation/{locationId}/CourierServices: + put: + tags: + - ClientLocation + parameters: + - name: locationId + in: path + required: true + schema: + type: integer + format: int32 + - name: applyToAllLocations + in: query + schema: + type: boolean + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: '#/components/schemas/UpdateLocationCourierServiceDto' + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UpdateLocationCourierServiceDto' + text/json: + schema: + type: array + items: + $ref: '#/components/schemas/UpdateLocationCourierServiceDto' + application/*+json: + schema: + type: array + items: + $ref: '#/components/schemas/UpdateLocationCourierServiceDto' + responses: + '200': + description: Success + patch: + tags: + - ClientLocation + parameters: + - name: locationId + in: path + required: true + schema: + type: integer + format: int32 + - name: applyToAllLocations + in: query + schema: + type: boolean + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: '#/components/schemas/UpdateLocationCourierServiceDto' + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UpdateLocationCourierServiceDto' + text/json: + schema: + type: array + items: + $ref: '#/components/schemas/UpdateLocationCourierServiceDto' + application/*+json: + schema: + type: array + items: + $ref: '#/components/schemas/UpdateLocationCourierServiceDto' + responses: + '200': + description: Success + /api/Courier/RequestPickup: + post: + tags: + - Courier + summary: Request pickup to courier + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + description: '' + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/PickupRequest' + application/json: + schema: + $ref: '#/components/schemas/PickupRequest' + text/json: + schema: + $ref: '#/components/schemas/PickupRequest' + application/*+json: + schema: + $ref: '#/components/schemas/PickupRequest' + responses: + '200': + description: Pickup requested to courier + content: + application/json: + schema: + $ref: '#/components/schemas/PickupResponse' + '400': + description: Unable to request pickup due to errors + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + /api/Courier/All: + get: + tags: + - Courier + summary: Get all couriers + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + responses: + '200': + description: List of couriers + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/AllCouriersResponse' + '401': + description: Unable to authorize request + /api/Feedback/{from}/{to}: + get: + tags: + - Feedback + parameters: + - name: from + in: path + required: true + schema: + type: string + format: date-time + - name: to + in: path + required: true + schema: + type: string + format: date-time + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + responses: + '200': + description: Success + /api/Label/by-courier/{courierId}/awb/{awb}: + get: + tags: + - Label + summary: Gets the label for the specified courier awb number + parameters: + - name: courierId + in: path + description: '' + required: true + schema: + type: integer + format: int32 + - name: awb + in: path + description: '' + required: true + schema: + type: string + - name: type + in: query + description: '' + schema: + type: string + default: PDF + - name: format + in: query + description: '' + schema: + type: string + default: A6 + - name: includeVoucher + in: query + description: '' + schema: + type: boolean + default: false + - name: useFile + in: query + description: '' + schema: + type: boolean + default: true + - name: skipCache + in: query + description: '' + schema: + type: boolean + default: false + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + responses: + '200': + description: Returns the label + content: + application/pdf: + schema: + $ref: '#/components/schemas/LabelResponse' + application/json: + schema: + $ref: '#/components/schemas/LabelResponse' + text/html: + schema: + $ref: '#/components/schemas/LabelResponse' + '400': + description: Unable to get the label due to validation errors + content: + application/pdf: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/html: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + /api/Label/by-courier/{courierId}/voucher/{awb}: + get: + tags: + - Label + summary: Gets the voucher label for the specified courier awb number + parameters: + - name: courierId + in: path + description: '' + required: true + schema: + type: integer + format: int32 + - name: awb + in: path + description: '' + required: true + schema: + type: string + - name: type + in: query + description: '' + schema: + type: string + default: PDF + - name: format + in: query + description: '' + schema: + type: string + default: A6 + - name: useFile + in: query + description: '' + schema: + type: boolean + default: true + - name: skipCache + in: query + description: '' + schema: + type: boolean + default: false + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + responses: + '200': + description: Returns the label + content: + application/pdf: + schema: + $ref: '#/components/schemas/LabelResponse' + application/json: + schema: + $ref: '#/components/schemas/LabelResponse' + text/html: + schema: + $ref: '#/components/schemas/LabelResponse' + '400': + description: Unable to get the label due to validation errors + content: + application/pdf: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/html: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + /api/Label/by-courier/{courierId}/awb/{awb}/parcel/{barcodes}: + get: + tags: + - Label + summary: Gets the label for the specified courier parcel barcode and order awb + parameters: + - name: courierId + in: path + description: '' + required: true + schema: + type: integer + format: int32 + - name: awb + in: path + description: '' + required: true + schema: + type: string + - name: barcodes + in: path + description: '' + required: true + schema: + type: string + - name: type + in: query + description: '' + schema: + type: string + default: PDF + - name: format + in: query + description: '' + schema: + type: string + default: A6 + - name: useFile + in: query + description: '' + schema: + type: boolean + default: true + - name: skipCache + in: query + description: '' + schema: + type: boolean + default: false + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + responses: + '200': + description: Returns the label + content: + application/pdf: + schema: + $ref: '#/components/schemas/LabelResponse' + application/json: + schema: + $ref: '#/components/schemas/LabelResponse' + text/html: + schema: + $ref: '#/components/schemas/LabelResponse' + '400': + description: Unable to get the label due to validation errors + content: + application/pdf: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/html: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + /api/Label/bulk: + post: + tags: + - Label + summary: Create bulk labels operation + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + description: '' + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/BulkLabelApiRequest' + application/json: + schema: + $ref: '#/components/schemas/BulkLabelApiRequest' + text/json: + schema: + $ref: '#/components/schemas/BulkLabelApiRequest' + application/*+json: + schema: + $ref: '#/components/schemas/BulkLabelApiRequest' + responses: + '200': + description: Returns OperationId + '400': + description: Unable to create bulk labels operation due to validation errors + content: + application/pdf: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/html: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + /api/Label/bulk/{operationId}: + get: + tags: + - Label + summary: Get bulk labels by operationId + parameters: + - name: operationId + in: path + description: '' + required: true + schema: + type: string + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + responses: + '200': + description: Returns the label + content: + application/pdf: + schema: + $ref: '#/components/schemas/LabelResponse' + application/json: + schema: + $ref: '#/components/schemas/LabelResponse' + text/html: + schema: + $ref: '#/components/schemas/LabelResponse' + '400': + description: Unable to get the label due to validation errors + content: + application/pdf: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/html: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + /api/Location/ClientLocations: + get: + tags: + - Location + responses: + '200': + description: Success + /api/Location/FixedLocation/{id}: + get: + tags: + - Location + parameters: + - name: id + in: path + required: true + schema: + type: integer + format: int32 + responses: + '200': + description: Success + /api/Location/FixedLocations: + get: + tags: + - Location + parameters: + - name: Courier + in: query + schema: + $ref: '#/components/schemas/Courier' + - name: CountryCode + in: query + schema: + type: string + - name: CountyName + in: query + schema: + type: string + - name: LocalityName + in: query + schema: + type: string + - name: FixedLocationType + in: query + schema: + $ref: '#/components/schemas/FixedLocationType' + - name: ShowInactive + in: query + schema: + type: boolean + - name: RestrictionParcelsCount + in: query + schema: + type: integer + format: int32 + - name: RestrictionSizeHeight + in: query + schema: + type: integer + format: int32 + - name: RestrictionSizeWidth + in: query + schema: + type: integer + format: int32 + - name: RestrictionSizeLength + in: query + schema: + type: integer + format: int32 + - name: ExternalLocationId + in: query + schema: + type: string + - name: Latitude + in: query + schema: + type: number + format: double + - name: Longitude + in: query + schema: + type: number + format: double + - name: Radius + in: query + schema: + type: number + format: double + responses: + '200': + description: Success + /api/Location/Countries: + get: + tags: + - Location + responses: + '200': + description: Success + /api/Location/Counties/{countryCode}: + get: + tags: + - Location + parameters: + - name: countryCode + in: path + required: true + schema: + type: string + responses: + '200': + description: Success + /api/Location/Localities/{countyId}: + get: + tags: + - Location + parameters: + - name: countyId + in: path + required: true + schema: + type: integer + format: int32 + responses: + '200': + description: Success + /api/Location/Postalcodes/{CountryCode}/{PostalCode}: + get: + tags: + - Location + parameters: + - name: CountryCode + in: path + required: true + schema: + maxLength: 2 + minLength: 2 + pattern: ^[a-z]*$ + type: string + - name: PostalCode + in: path + required: true + schema: + type: string + - name: CourierId + in: query + schema: + type: integer + format: int32 + responses: + '200': + description: Success + content: + text/plain: + schema: + $ref: '#/components/schemas/PostalCodeInfo' + application/json: + schema: + $ref: '#/components/schemas/PostalCodeInfo' + text/json: + schema: + $ref: '#/components/schemas/PostalCodeInfo' + /api/Location/Postalcodes/{LocalityId}: + get: + tags: + - Location + parameters: + - name: LocalityId + in: path + required: true + schema: + type: integer + format: int32 + - name: CourierId + in: query + schema: + type: integer + format: int32 + - name: filter + in: query + schema: + type: string + responses: + '200': + description: Success + content: + text/plain: + schema: + type: array + items: + $ref: '#/components/schemas/LocalityPostalCodeInfo' + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/LocalityPostalCodeInfo' + text/json: + schema: + type: array + items: + $ref: '#/components/schemas/LocalityPostalCodeInfo' + /api/Location/Postalcodes/Country/{CountryCode}: + get: + tags: + - Location + parameters: + - name: CountryCode + in: path + required: true + schema: + maxLength: 2 + minLength: 2 + pattern: ^[a-z]*$ + type: string + - name: CourierId + in: query + schema: + type: integer + format: int32 + responses: + '200': + description: Success + content: + text/plain: + schema: + $ref: '#/components/schemas/PostalCodeStructured' + application/json: + schema: + $ref: '#/components/schemas/PostalCodeStructured' + text/json: + schema: + $ref: '#/components/schemas/PostalCodeStructured' + /api/Manifest: + post: + tags: + - Manifest + summary: Requests pickup and get manifest id + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + description: '' + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/ManifestRequest' + application/json: + schema: + $ref: '#/components/schemas/ManifestRequest' + text/json: + schema: + $ref: '#/components/schemas/ManifestRequest' + application/*+json: + schema: + $ref: '#/components/schemas/ManifestRequest' + responses: + '200': + description: Returns ManifestId + '400': + description: Unable to process due to validation errors + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + get: + tags: + - Manifest + summary: Requests manifest report by id + parameters: + - name: manifestId + in: query + description: '' + schema: + type: integer + format: int64 + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + responses: + '200': + description: Returns PDF + '400': + description: Unable to process due to validation errors + content: + application/pdf: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + /api/Notifications/sendsms: + post: + tags: + - Notifications + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/SendSmsRequest' + application/json: + schema: + $ref: '#/components/schemas/SendSmsRequest' + text/json: + schema: + $ref: '#/components/schemas/SendSmsRequest' + application/*+json: + schema: + $ref: '#/components/schemas/SendSmsRequest' + responses: + '200': + description: Success + /api/OfflineOrder/Activate: + put: + tags: + - OfflineOrder + summary: Activate Offline Orders + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + description: '' + content: + application/json-patch+json: + schema: + type: array + items: + $ref: '#/components/schemas/ActivateOrderApiRequest' + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ActivateOrderApiRequest' + text/json: + schema: + type: array + items: + $ref: '#/components/schemas/ActivateOrderApiRequest' + application/*+json: + schema: + type: array + items: + $ref: '#/components/schemas/ActivateOrderApiRequest' + responses: + '200': + description: Activated successfully + '400': + description: Unable to process due to validation errors + '401': + description: Unable to authorize request + /api/OfflineOrder/Edit: + put: + tags: + - OfflineOrder + summary: Edit Offline Orders + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + description: '' + content: + application/json-patch+json: + schema: + type: array + items: + $ref: '#/components/schemas/EditOrderApiRequest' + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/EditOrderApiRequest' + text/json: + schema: + type: array + items: + $ref: '#/components/schemas/EditOrderApiRequest' + application/*+json: + schema: + type: array + items: + $ref: '#/components/schemas/EditOrderApiRequest' + responses: + '200': + description: Activated successfully + '400': + description: Unable to process due to validation errors + '401': + description: Unable to authorize request + /api/OfflineOrder/Add: + post: + tags: + - OfflineOrder + summary: Add Offline Orders + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + description: '' + content: + application/json-patch+json: + schema: + type: array + items: + $ref: '#/components/schemas/OfflineOrderAddRequest' + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/OfflineOrderAddRequest' + text/json: + schema: + type: array + items: + $ref: '#/components/schemas/OfflineOrderAddRequest' + application/*+json: + schema: + type: array + items: + $ref: '#/components/schemas/OfflineOrderAddRequest' + responses: + '200': + description: Added successfully + '400': + description: Unable to process due to validation errors + '401': + description: Unable to authorize request + /api/Order: + post: + tags: + - Order + summary: Creates a new order + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + description: '' + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/OrderRequest' + example: + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3785363+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + application/json: + schema: + $ref: '#/components/schemas/OrderRequest' + example: + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3785363+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + text/json: + schema: + $ref: '#/components/schemas/OrderRequest' + example: + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3785363+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + application/*+json: + schema: + $ref: '#/components/schemas/OrderRequest' + example: + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3785363+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + responses: + '201': + description: Creates an new order in the system + content: + application/json: + schema: + $ref: '#/components/schemas/OrderResponse' + example: + clientOrderId: 662 + courierShipmentId: '877551879' + courierShipmentVoucher: null + courier: 1 + courierParcelsBarcodes: null + price: + amount: 13.36 + vat: 2.54 + totalAmount: 15.9 + currency: RON + priceComponents: null + calculatedDeliveryDate: '2019-10-03T00:00:00Z' + trackPageUrl: null + courierTrackPageUrl: null + courierResponse: null + extra: null + address: null + '400': + description: Unable to create the order due to validation error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /api/Order/simulate: + post: + tags: + - Order + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/OrderRequest' + example: + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3809049+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + application/json: + schema: + $ref: '#/components/schemas/OrderRequest' + example: + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3809049+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + text/json: + schema: + $ref: '#/components/schemas/OrderRequest' + example: + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3809049+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + application/*+json: + schema: + $ref: '#/components/schemas/OrderRequest' + example: + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3809049+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/OrderResponse' + example: + clientOrderId: 662 + courierShipmentId: '877551879' + courierShipmentVoucher: null + courier: 1 + courierParcelsBarcodes: null + price: + amount: 13.36 + vat: 2.54 + totalAmount: 15.9 + currency: RON + priceComponents: null + calculatedDeliveryDate: '2019-10-03T00:00:00Z' + trackPageUrl: null + courierTrackPageUrl: null + courierResponse: null + extra: null + address: null + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /api/Order/validate: + post: + tags: + - Order + summary: Validates a new order request + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + description: '' + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/OrderRequest' + example: + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3824063+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + application/json: + schema: + $ref: '#/components/schemas/OrderRequest' + example: + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3824063+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + text/json: + schema: + $ref: '#/components/schemas/OrderRequest' + example: + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3824063+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + application/*+json: + schema: + $ref: '#/components/schemas/OrderRequest' + example: + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3824063+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/OrderResponse' + example: + clientOrderId: 662 + courierShipmentId: '877551879' + courierShipmentVoucher: null + courier: 1 + courierParcelsBarcodes: null + price: + amount: 13.36 + vat: 2.54 + totalAmount: 15.9 + currency: RON + priceComponents: null + calculatedDeliveryDate: '2019-10-03T00:00:00Z' + trackPageUrl: null + courierTrackPageUrl: null + courierResponse: null + extra: null + address: null + '201': + description: Creates an new order in the system + '400': + description: Unable to create the order due to validation error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /api/Order/multiple/simulate: + post: + tags: + - Order + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: '#/components/schemas/OrderRequest' + example: + - serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3895363+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + - serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3895452+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/OrderRequest' + example: + - serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3895363+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + - serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3895452+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + text/json: + schema: + type: array + items: + $ref: '#/components/schemas/OrderRequest' + example: + - serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3895363+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + - serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3895452+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + application/*+json: + schema: + type: array + items: + $ref: '#/components/schemas/OrderRequest' + example: + - serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3895363+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + - serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3895452+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + responses: + '201': + description: Created + content: + application/json: + schema: + type: object + additionalProperties: + $ref: '#/components/schemas/OrderResponseResponseWithErrors' + example: + '1': + response: + clientOrderId: 662 + courierShipmentId: '877551879' + courierShipmentVoucher: null + courier: 1 + courierParcelsBarcodes: null + price: + amount: 13.36 + vat: 2.54 + totalAmount: 15.9 + currency: RON + priceComponents: null + calculatedDeliveryDate: '2019-10-03T00:00:00Z' + trackPageUrl: null + courierTrackPageUrl: null + courierResponse: null + extra: null + address: null + errors: null + correlationId: null + '2': + response: + clientOrderId: 662 + courierShipmentId: '877551879' + courierShipmentVoucher: null + courier: 1 + courierParcelsBarcodes: null + price: + amount: 13.36 + vat: 2.54 + totalAmount: 15.9 + currency: RON + priceComponents: null + calculatedDeliveryDate: '2019-10-03T00:00:00Z' + trackPageUrl: null + courierTrackPageUrl: null + courierResponse: null + extra: null + address: null + errors: null + correlationId: null + '400': + description: Bad Request + content: + application/json: + schema: + type: object + additionalProperties: + $ref: '#/components/schemas/OrderResponseResponseWithErrors' + example: + '1': + response: + clientOrderId: 662 + courierShipmentId: '877551879' + courierShipmentVoucher: null + courier: 1 + courierParcelsBarcodes: null + price: + amount: 13.36 + vat: 2.54 + totalAmount: 15.9 + currency: RON + priceComponents: null + calculatedDeliveryDate: '2019-10-03T00:00:00Z' + trackPageUrl: null + courierTrackPageUrl: null + courierResponse: null + extra: null + address: null + errors: null + correlationId: null + '2': + response: + clientOrderId: 662 + courierShipmentId: '877551879' + courierShipmentVoucher: null + courier: 1 + courierParcelsBarcodes: null + price: + amount: 13.36 + vat: 2.54 + totalAmount: 15.9 + currency: RON + priceComponents: null + calculatedDeliveryDate: '2019-10-03T00:00:00Z' + trackPageUrl: null + courierTrackPageUrl: null + courierResponse: null + extra: null + address: null + errors: null + correlationId: null + '401': + description: Unauthorized + content: + application/json: + schema: + type: object + additionalProperties: + $ref: '#/components/schemas/OrderResponseResponseWithErrors' + example: + '1': + response: + clientOrderId: 662 + courierShipmentId: '877551879' + courierShipmentVoucher: null + courier: 1 + courierParcelsBarcodes: null + price: + amount: 13.36 + vat: 2.54 + totalAmount: 15.9 + currency: RON + priceComponents: null + calculatedDeliveryDate: '2019-10-03T00:00:00Z' + trackPageUrl: null + courierTrackPageUrl: null + courierResponse: null + extra: null + address: null + errors: null + correlationId: null + '2': + response: + clientOrderId: 662 + courierShipmentId: '877551879' + courierShipmentVoucher: null + courier: 1 + courierParcelsBarcodes: null + price: + amount: 13.36 + vat: 2.54 + totalAmount: 15.9 + currency: RON + priceComponents: null + calculatedDeliveryDate: '2019-10-03T00:00:00Z' + trackPageUrl: null + courierTrackPageUrl: null + courierResponse: null + extra: null + address: null + errors: null + correlationId: null + /api/Order/file: + post: + tags: + - Order + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + responses: + '201': + description: Created + content: + application/json: + schema: + type: object + additionalProperties: + $ref: '#/components/schemas/OrderResponseResponseWithErrors' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /api/Order/{courierId}/awb/{awbNo}: + delete: + tags: + - Order + summary: Deletes an existing order + parameters: + - name: courierId + in: path + description: Courier id + required: true + schema: + type: integer + format: int32 + - name: awbNo + in: path + description: AWB number + required: true + schema: + type: string + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + responses: + '201': + description: Deletes an existing order from the system + content: + application/json: + schema: + $ref: '#/components/schemas/OrderResponse' + example: + clientOrderId: 662 + courierShipmentId: '877551879' + courierShipmentVoucher: null + courier: 1 + courierParcelsBarcodes: null + price: + amount: 13.36 + vat: 2.54 + totalAmount: 15.9 + currency: RON + priceComponents: null + calculatedDeliveryDate: '2019-10-03T00:00:00Z' + trackPageUrl: null + courierTrackPageUrl: null + courierResponse: null + extra: null + address: null + '400': + description: Unable to delete the order due to validation error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /api/Order/UpdateStatus: + post: + tags: + - Order + summary: Updates orders statuses + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + description: '' + content: + application/json-patch+json: + schema: + type: array + items: + $ref: '#/components/schemas/UpdateStatusRequest' + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UpdateStatusRequest' + text/json: + schema: + type: array + items: + $ref: '#/components/schemas/UpdateStatusRequest' + application/*+json: + schema: + type: array + items: + $ref: '#/components/schemas/UpdateStatusRequest' + responses: + '200': + description: Request was processed successfully + '400': + description: Unable to process due to validation errors + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /api/Order/UpdateParcels: + post: + tags: + - Order + summary: Create a new order based on the existing one and cancel the original + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + description: '' + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/UpdateParcelsRequest' + application/json: + schema: + $ref: '#/components/schemas/UpdateParcelsRequest' + text/json: + schema: + $ref: '#/components/schemas/UpdateParcelsRequest' + application/*+json: + schema: + $ref: '#/components/schemas/UpdateParcelsRequest' + responses: + '200': + description: Creates an new order in the system + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/OrderResponse' + example: + clientOrderId: 662 + courierShipmentId: '877551879' + courierShipmentVoucher: null + courier: 1 + courierParcelsBarcodes: null + price: + amount: 13.36 + vat: 2.54 + totalAmount: 15.9 + currency: RON + priceComponents: null + calculatedDeliveryDate: '2019-10-03T00:00:00Z' + trackPageUrl: null + courierTrackPageUrl: null + courierResponse: null + extra: null + address: null + '400': + description: Unable to create the order due to validation error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /api/Order/UpdateCustomAttributes/{courierId}/awb/{awb}: + post: + tags: + - Order + summary: Updates custom attributes + parameters: + - name: courierId + in: path + description: Courier id + required: true + schema: + type: integer + format: int32 + - name: awb + in: path + description: AWB number + required: true + schema: + type: string + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + description: '' + content: + application/json-patch+json: + schema: + type: object + additionalProperties: + type: string + application/json: + schema: + type: object + additionalProperties: + type: string + text/json: + schema: + type: object + additionalProperties: + type: string + application/*+json: + schema: + type: object + additionalProperties: + type: string + responses: + '200': + description: Request was processed successfully + '400': + description: Unable to process due to validation errors + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /api/Order/by-location/{externalLocationId}/{from}/{to}: + get: + tags: + - Order + summary: Retrieve orders by externalLocationId with dates filter + parameters: + - name: externalLocationId + in: path + description: External Location Id + required: true + schema: + type: string + - name: from + in: path + description: From date + required: true + schema: + type: string + format: date-time + - name: to + in: path + description: To date + required: true + schema: + type: string + format: date-time + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + responses: + '200': + description: Request was processed successfully + '400': + description: Unable to process due to validation errors + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /api/Order/ReturnAwbInfo/{courierId}/{returnAwb}: + get: + tags: + - Order + parameters: + - name: courierId + in: path + required: true + schema: + type: integer + format: int32 + - name: returnAwb + in: path + required: true + schema: + type: string + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + responses: + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /api/Order/UploadDocuments: + post: + tags: + - Order + summary: UploadDocuments + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/UploadDocumentsApiRequest' + application/json: + schema: + $ref: '#/components/schemas/UploadDocumentsApiRequest' + text/json: + schema: + $ref: '#/components/schemas/UploadDocumentsApiRequest' + application/*+json: + schema: + $ref: '#/components/schemas/UploadDocumentsApiRequest' + responses: + '200': + description: Document uploaded + content: + application/json: + schema: + $ref: '#/components/schemas/UploadDocumentsApiResponse' + '400': + description: Unable to upload documents + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /api/Price: + post: + tags: + - Price + summary: Gets the prices for the specified request + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + description: '' + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/OrderRequest' + example: + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.4002507+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + application/json: + schema: + $ref: '#/components/schemas/OrderRequest' + example: + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.4002507+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + text/json: + schema: + $ref: '#/components/schemas/OrderRequest' + example: + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.4002507+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + application/*+json: + schema: + $ref: '#/components/schemas/OrderRequest' + example: + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.4002507+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + responses: + '201': + description: List of prices for eligible couriers + content: + application/json: + schema: + $ref: '#/components/schemas/PriceResponse' + '400': + description: Unable to get prices due to validation error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /api/Track/by-awb/with-return: + post: + tags: + - Track + summary: Track by Order Courier AWB with return info + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/TrackRequest' + application/json: + schema: + $ref: '#/components/schemas/TrackRequest' + text/json: + schema: + $ref: '#/components/schemas/TrackRequest' + application/*+json: + schema: + $ref: '#/components/schemas/TrackRequest' + responses: + '200': + description: Success + content: + text/plain: + schema: + type: array + items: + $ref: '#/components/schemas/TrackResponseWithReturnInfo' + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TrackResponseWithReturnInfo' + text/json: + schema: + type: array + items: + $ref: '#/components/schemas/TrackResponseWithReturnInfo' + '400': + description: Bad Request + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /api/Track/return/by-awb: + post: + tags: + - Track + summary: Track Retrun by Courier AWB + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/TrackRequest' + application/json: + schema: + $ref: '#/components/schemas/TrackRequest' + text/json: + schema: + $ref: '#/components/schemas/TrackRequest' + application/*+json: + schema: + $ref: '#/components/schemas/TrackRequest' + responses: + '200': + description: Success + content: + text/plain: + schema: + type: array + items: + $ref: '#/components/schemas/TrackResponseWithReturnInfo' + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TrackResponseWithReturnInfo' + text/json: + schema: + type: array + items: + $ref: '#/components/schemas/TrackResponseWithReturnInfo' + '400': + description: Bad Request + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /api/Voucher/Create: + post: + tags: + - Voucher + summary: Create Voucher + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + description: '' + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/CreateVoucherApiRequest' + application/json: + schema: + $ref: '#/components/schemas/CreateVoucherApiRequest' + text/json: + schema: + $ref: '#/components/schemas/CreateVoucherApiRequest' + application/*+json: + schema: + $ref: '#/components/schemas/CreateVoucherApiRequest' + responses: + '200': + description: Activated successfully + '400': + description: Unable to process due to validation errors + '401': + description: Unable to authorize request + /api/Voucher/Activate: + post: + tags: + - Voucher + summary: Activate Voucher + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + description: '' + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/ActivateVoucherApiRequest' + application/json: + schema: + $ref: '#/components/schemas/ActivateVoucherApiRequest' + text/json: + schema: + $ref: '#/components/schemas/ActivateVoucherApiRequest' + application/*+json: + schema: + $ref: '#/components/schemas/ActivateVoucherApiRequest' + responses: + '200': + description: Activated successfully + '400': + description: Unable to process due to validation errors + '401': + description: Unable to authorize request + components: + schemas: + ActivateAddress: + type: object + properties: + name: + type: string + nullable: true + contactPerson: + type: string + nullable: true + country: + type: string + nullable: true + countryName: + type: string + nullable: true + countyId: + type: integer + format: int32 + nullable: true + localityId: + type: integer + format: int32 + nullable: true + countryId: + type: integer + format: int32 + nullable: true + countyName: + type: string + nullable: true + localityName: + type: string + nullable: true + addressText: + type: string + nullable: true + postalCode: + type: string + nullable: true + phone: + type: string + nullable: true + email: + type: string + nullable: true + fixedLocationId: + type: string + nullable: true + fixedLocationName: + type: string + nullable: true + courierFixedLocationId: + type: string + nullable: true + additionalProperties: false + ActivateOrderApiRequest: + type: object + properties: + courier: + $ref: '#/components/schemas/Courier' + courierShipmentId: + type: string + nullable: true + shipmentDate: + type: string + format: date-time + nullable: true + shipmentDateEnd: + type: string + format: date-time + nullable: true + parcels: + type: array + items: + $ref: '#/components/schemas/ActivateOrderParcel' + nullable: true + addressFrom: + $ref: '#/components/schemas/ActivateAddress' + addressTo: + $ref: '#/components/schemas/ActivateAddress' + additionalProperties: false + ActivateOrderParcel: + type: object + properties: + sequenceNo: + type: integer + format: int32 + size: + $ref: '#/components/schemas/ActivateOrderParcelSize' + weight: + type: number + format: double + additionalProperties: false + ActivateOrderParcelSize: + type: object + properties: + width: + type: number + format: double + height: + type: number + format: double + length: + type: number + format: double + additionalProperties: false + ActivateVoucherApiRequest: + type: object + properties: + courier: + $ref: '#/components/schemas/Courier' + courierShipmentId: + type: string + nullable: true + courierShipmentVoucher: + type: string + nullable: true + additionalProperties: false + AllCouriersResponse: + type: object + properties: + courierId: + type: integer + format: int32 + courier: + type: string + nullable: true + courierDisplayName: + type: string + nullable: true + additionalProperties: false + BulkLabelApiRequest: + type: object + properties: + labelType: + $ref: '#/components/schemas/LabelType' + labelFormat: + $ref: '#/components/schemas/LabelFormat' + useFile: + type: boolean + includeVoucher: + type: boolean + awBs: + type: array + items: + $ref: '#/components/schemas/BulkLabelApiRequestItem' + nullable: true + additionalProperties: false + BulkLabelApiRequestItem: + type: object + properties: + courierId: + $ref: '#/components/schemas/Courier' + typeId: + type: integer + format: int32 + courierShipmentId: + type: string + nullable: true + additionalProperties: false + ClientPreferences: + type: object + properties: + preferredLabel: + $ref: '#/components/schemas/LabelFormat' + preferredLocationId: + type: integer + format: int32 + nullable: true + orderColumns: + type: array + items: + type: string + nullable: true + pickupColumns: + type: array + items: + type: string + nullable: true + returnColumns: + type: array + items: + type: string + nullable: true + additionalProperties: false + Courier: + enum: + - Cargus + - DPD + - FanCourier + - GLS + - Nemo + - Sameday + - ExpressOne + - ECont + - TeamCourier + - DHL + - PostaRomana + - PostaPanduri + - GLS_HU + - DragonStar + - Coletaria + - Bookurier + - Asendia + - TNT + - DPD_BG + - GLS_HR + - GLS_CZ + - GLS_SI + - GLS_SK + - InOut + - StackCurier + - GebruderWeiss + - Pallex + - GT + - CourierManager + - GLS_IT + - ECourier + - Unimasters + - TCE + - TransilvaniaPost + - BGPost + - Evropat + - SMPCourier + - DHL_DE + - Raben + - Memex + - PTTExpress + - XDCourier + - IL + - NovaPosta + - PinkPost + - Strongo + - DHL_Paket + - DHL_Parcel + - BeeFast + - InPost + - KLG + - Schenker + - Packageez + - Kargo + - SundayCourier + - PocztaPolska + - Sinapseria + - UPS + - DPD_HR + - DPD_SI + - NovaPoshtaGlobal + - ALD + - ProNatur + - DPD_HU + - GLS_PL + - Futar24h + - SlovakParcelService + - DPD_DE + - VanOnGo + - CeskaPosta + - DPD_SK + - SolAir + - PostaSlovenije + - DPD_PL + - Agil24 + - OrlenPackza + - Speedex + - FedEx + - DPD_UK + - PPL + - EColet + - ACS + - Helpship + - DPD_CZ + - MagyarPosta + - EVRI + - FedEx_PL + - KuehneNagel + - Sameday_BG + - Sameday_HU + - FanDelivery + - Seur + - Correos + - Couriera + - ChopChop + - InPost_ES + - FanCourierMoldova + - GLS_DE + - Kurier123 + - Dachser + - CTT_PT + - DPD_AT + - PostNord + - Pharmalink + - MRW + - Eurolog + - IDLogistics + - GLS_DK + - RoyalMail + - FanInternational + - Go4 + - InPost_IT + - AmazonShipping_IT + - TNT_IT + - Posta_SK + - Posta_AT + - GLS_ES + - LithuanianPost + - DHL_Parcel_DE + - DPD_LT + - ExpressOne_BG + - FoxPost + - Posta_NL + - InnoshipMocked + type: string + CourierServiceRestrictionsDto: + type: object + properties: + piecesCountMin: + type: integer + format: int32 + nullable: true + piecesCountMax: + type: integer + format: int32 + nullable: true + weightMin: + type: integer + format: int32 + nullable: true + weightMax: + type: integer + format: int32 + nullable: true + parcelWeightMin: + type: integer + format: int32 + nullable: true + parcelWeightMax: + type: integer + format: int32 + nullable: true + widthMin: + type: integer + format: int32 + nullable: true + widthMax: + type: integer + format: int32 + nullable: true + heightMin: + type: integer + format: int32 + nullable: true + heightMax: + type: integer + format: int32 + nullable: true + lengthMin: + type: integer + format: int32 + nullable: true + lengthMax: + type: integer + format: int32 + nullable: true + orderCountMax: + type: integer + format: int32 + nullable: true + orderPiecesCountMax: + type: integer + format: int32 + nullable: true + orderLocationCountMax: + type: array + items: + $ref: '#/components/schemas/RestrictionCountryCountyDto' + nullable: true + orderLocationPiecesCountMax: + type: array + items: + $ref: '#/components/schemas/RestrictionCountryCountyDto' + nullable: true + allowsCOD: + type: boolean + nullable: true + allowsBankCOD: + type: boolean + nullable: true + allowsNoSizeForParcels: + type: boolean + nullable: true + allowsPickUp: + type: boolean + nullable: true + allowsOrder: + type: boolean + nullable: true + allowsEmptyPostalCode: + type: boolean + nullable: true + allowsReturnDocument: + type: boolean + nullable: true + allowsReturnPackage: + type: boolean + nullable: true + allowsOversized: + type: boolean + nullable: true + allowsInsurance: + type: boolean + nullable: true + allowsSaturdayDelivery: + type: boolean + nullable: true + allowsOpenPackage: + type: boolean + nullable: true + courierCutOffTime: + type: string + format: date-span + nullable: true + additionalProperties: false + CreateLocationCourierServicesDto: + type: object + properties: + courierId: + type: integer + format: int32 + isEmagMarketPlace: + type: boolean + additionalProperties: false + CreateVoucherApiRequest: + type: object + properties: + courier: + $ref: '#/components/schemas/Courier' + courierShipmentId: + type: string + nullable: true + voucherCourier: + $ref: '#/components/schemas/Courier' + insuranceAmount: + type: number + format: double + insuranceCurrency: + type: string + nullable: true + additionalProperties: false + EditOrderApiRequest: + type: object + properties: + offlineStatusId: + $ref: '#/components/schemas/OrderOfflineStatus' + courier: + $ref: '#/components/schemas/Courier' + courierShipmentId: + type: string + nullable: true + shipmentDate: + type: string + format: date-time + nullable: true + shipmentDateEnd: + type: string + format: date-time + nullable: true + parcels: + type: array + items: + $ref: '#/components/schemas/ActivateOrderParcel' + nullable: true + addressFrom: + $ref: '#/components/schemas/ActivateAddress' + addressTo: + $ref: '#/components/schemas/ActivateAddress' + additionalProperties: false + Error: + type: object + properties: + context: + type: string + nullable: true + message: + type: string + nullable: true + details: + type: array + items: + $ref: '#/components/schemas/Error' + nullable: true + additionalProperties: false + ErrorResponse: + type: object + properties: + errors: + type: array + items: + $ref: '#/components/schemas/ErrorResponseItem' + nullable: true + correlationId: + type: string + nullable: true + additionalProperties: false + ErrorResponseItem: + type: object + properties: + message: + type: string + nullable: true + details: + type: array + items: + type: string + nullable: true + additionalProperties: false + FixedLocationType: + enum: + - Locker + - PickupPoint + type: string + LabelFormat: + enum: + - A4 + - A6 + - T_85x85 + - A6_300dpi + - A4_4xA6 + - A6_10x9 + type: string + LabelResponse: + type: object + properties: + courier: + type: integer + format: int32 + contents: + type: string + nullable: true + labels: + type: array + items: + type: string + nullable: true + additionalProperties: false + LabelType: + enum: + - Pdf + - Html + - Zpl + type: string + LimitedAddress: + type: object + properties: + country: + type: string + nullable: true + countyName: + type: string + nullable: true + localityName: + type: string + nullable: true + postalCode: + type: string + nullable: true + additionalProperties: false + LocalityPostalCodeInfo: + type: object + properties: + localityId: + type: integer + format: int32 + postalCode: + type: string + nullable: true + streetName: + type: string + nullable: true + streetNameLocalized: + type: string + nullable: true + neighbourhoodName: + type: string + nullable: true + neighbourhoodNameLocalized: + type: string + nullable: true + streetPrefix: + type: string + nullable: true + streetPrefixLocalized: + type: string + nullable: true + additionalProperties: false + LocationAddressDto: + type: object + properties: + name: + type: string + nullable: true + contactPerson: + type: string + nullable: true + phone: + type: string + nullable: true + email: + type: string + nullable: true + localityId: + type: integer + format: int32 + localityName: + type: string + nullable: true + addressText: + type: string + nullable: true + postalCode: + type: string + nullable: true + countyId: + type: integer + format: int32 + countyName: + type: string + nullable: true + countryCode: + type: string + nullable: true + countryName: + type: string + nullable: true + ignoreLocalityId: + type: boolean + latitude: + type: number + format: double + nullable: true + longitude: + type: number + format: double + nullable: true + additionalProperties: false + LocationCourierServiceDto: + type: object + properties: + courierId: + type: integer + format: int32 + courier: + type: string + nullable: true + courierDisplayName: + type: string + nullable: true + serviceId: + type: integer + format: int32 + service: + type: string + nullable: true + serviceGroupId: + type: integer + format: int32 + serviceGroupName: + type: string + nullable: true + hasValidationError: + type: boolean + nullable: true + courierServiceRestrictions: + $ref: '#/components/schemas/CourierServiceRestrictionsDto' + useCourierPrices: + type: boolean + nullable: true + mappingTemplateOptionId: + type: string + nullable: true + voucherTemplateOptionId: + type: string + nullable: true + extraServices: + type: object + additionalProperties: + type: boolean + nullable: true + nullable: true + mappingReferences: + type: object + additionalProperties: + type: integer + format: int32 + nullable: true + nullable: true + countryDeliveryDays: + type: object + additionalProperties: + type: integer + format: int32 + nullable: true + nullable: true + enabled: + type: boolean + nullable: true + localityKm: + type: integer + format: int32 + nullable: true + priceLocalityId: + type: integer + format: int32 + nullable: true + additionalProperties: false + LocationDto: + type: object + properties: + address: + $ref: '#/components/schemas/LocationAddressDto' + courierCutOffTimes: + type: string + nullable: true + courierAutomaticCallTimes: + type: string + nullable: true + useSameCourierForSameAddress: + type: boolean + courierFailPolicy: + type: integer + format: int32 + timeZoneId: + type: string + nullable: true + priceGroupId: + type: integer + format: int32 + nullable: true + notificationEmail: + type: string + nullable: true + notificationPhone: + type: string + nullable: true + courierVoucherService: + type: object + additionalProperties: + type: integer + format: int32 + nullable: true + nullable: true + marketPlaceCallBackSettings: + type: object + additionalProperties: + type: object + additionalProperties: + type: string + nullable: true + nullable: true + importIsActive: + type: boolean + nullable: true + setHandoverOnManifest: + type: boolean + nullable: true + courierServices: + type: array + items: + $ref: '#/components/schemas/LocationCourierServiceDto' + nullable: true + id: + type: integer + format: int32 + name: + type: string + nullable: true + externalLocationId: + type: string + nullable: true + additionalProperties: false + LocationFilter: + type: object + properties: + name: + type: array + items: + type: string + nullable: true + countryId: + type: array + items: + type: integer + format: int32 + nullable: true + countyId: + type: array + items: + type: integer + format: int32 + nullable: true + localityId: + type: array + items: + type: integer + format: int32 + nullable: true + addressText: + type: string + nullable: true + courierId: + type: array + items: + type: integer + format: int32 + nullable: true + ids: + type: array + items: + type: integer + format: int32 + nullable: true + createdAtLe: + type: string + format: date-time + nullable: true + createdAtGe: + type: string + format: date-time + nullable: true + userId: + type: array + items: + type: string + format: uuid + nullable: true + skip: + type: integer + format: int32 + nullable: true + take: + type: integer + format: int32 + nullable: true + orderBy: + type: string + nullable: true + orderByAsc: + type: boolean + additionalProperties: false + ManifestRequest: + type: object + properties: + courierId: + $ref: '#/components/schemas/Courier' + externalLocationId: + type: string + nullable: true + lastPickHour: + type: integer + format: int32 + nullable: true + additionalProperties: false + MarketplaceIntegration: + enum: + - Vivre + type: string + OfflineOrderAddParcel: + type: object + properties: + sequenceNo: + type: integer + format: int32 + size: + $ref: '#/components/schemas/OfflineOrderAddParcelSize' + weight: + type: number + format: double + type: + $ref: '#/components/schemas/ParcelType' + reference1: + type: string + nullable: true + reference2: + type: string + nullable: true + reference3: + type: string + nullable: true + customerBarcode: + type: string + nullable: true + additionalProperties: false + OfflineOrderAddParcelSize: + type: object + properties: + width: + type: number + format: double + height: + type: number + format: double + length: + type: number + format: double + additionalProperties: false + OfflineOrderAddRequest: + type: object + properties: + courier: + $ref: '#/components/schemas/Courier' + courierShipmentId: + type: string + nullable: true + parcels: + type: array + items: + $ref: '#/components/schemas/OfflineOrderAddParcel' + nullable: true + additionalProperties: false + OrderBarcodes: + type: object + properties: + sequenceNo: + type: integer + format: int32 + barcode: + type: string + nullable: true + customerBarcode: + type: string + nullable: true + additionalProperties: false + OrderOfflineStatus: + enum: + - New + - Success + - Error + - InProgress + - Consolidate + type: string + OrderRequest: + type: object + properties: + serviceId: + type: integer + format: int32 + courierId: + $ref: '#/components/schemas/Courier' + shipmentDate: + type: string + format: date-time + shipmentDateEnd: + type: string + format: date-time + addressFrom: + $ref: '#/components/schemas/OrderRequestAddress' + addressTo: + $ref: '#/components/schemas/OrderRequestAddress' + addressReturn: + $ref: '#/components/schemas/OrderRequestAddress' + payment: + $ref: '#/components/schemas/PaymentType' + content: + $ref: '#/components/schemas/OrderRequestContent' + extra: + $ref: '#/components/schemas/OrderRequestExtra' + parameters: + $ref: '#/components/schemas/OrderRequestParameters' + externalClientLocation: + type: string + nullable: true + externalOrderId: + type: string + nullable: true + metadata: + type: string + nullable: true + sourceChannel: + type: string + nullable: true + observation: + type: string + nullable: true + customAttributes: + type: object + additionalProperties: + type: string + nullable: true + nullable: true + clientSettings: + $ref: '#/components/schemas/OrderRequestClientSettings' + additionalProperties: false + OrderRequestAddress: + type: object + properties: + name: + type: string + nullable: true + contactPerson: + type: string + nullable: true + country: + type: string + nullable: true + countryName: + type: string + nullable: true + countyId: + type: integer + format: int32 + nullable: true + localityId: + type: integer + format: int32 + nullable: true + countryId: + type: integer + format: int32 + nullable: true + countyName: + type: string + nullable: true + localityName: + type: string + nullable: true + addressText: + type: string + nullable: true + streetType: + type: string + nullable: true + streetName: + type: string + nullable: true + streetNumber: + type: string + nullable: true + postalCode: + type: string + nullable: true + phone: + type: string + nullable: true + email: + type: string + nullable: true + fixedLocationId: + type: string + nullable: true + fixedLocationName: + type: string + nullable: true + courierFixedLocationId: + type: string + nullable: true + additionalProperties: false + OrderRequestClientSettings: + type: object + properties: + trackPageDomainName: + type: string + nullable: true + priceWeight: + type: number + format: double + nullable: true + performanceWeight: + type: number + format: double + nullable: true + performanceMaximumPriceDeviation: + type: number + format: double + nullable: true + performanceMaximumFlatPriceDeviation: + type: number + format: double + nullable: true + performancePreferredMinimumPriceThreshold: + type: number + format: double + nullable: true + clientPreferences: + $ref: '#/components/schemas/ClientPreferences' + senderLocationTimeZoneId: + type: string + nullable: true + doNoSaveGDPRData: + type: boolean + nullable: true + openPackageIsOptional: + type: boolean + nullable: true + saturdayDeliveryIsOptional: + type: boolean + nullable: true + uniqueOrderReferenceId: + type: integer + format: int32 + nullable: true + useInnoshipInsurance: + type: boolean + nullable: true + performanceClientRates: + type: object + additionalProperties: + type: number + format: double + nullable: true + additionalProperties: false + OrderRequestContent: + type: object + properties: + envelopeCount: + type: integer + format: int32 + parcelsCount: + type: integer + format: int32 + palettesCount: + type: integer + format: int32 + totalWeight: + type: number + format: double + contents: + type: string + nullable: true + package: + type: string + nullable: true + oversizedPackage: + type: boolean + parcels: + type: array + items: + $ref: '#/components/schemas/OrderRequestContentParcel' + nullable: true + invoiceNumber: + type: string + nullable: true + invoiceDate: + type: string + format: date-time + nullable: true + invoiceValue: + type: number + format: double + nullable: true + invoiceValueCurrency: + type: string + nullable: true + articles: + type: array + items: + $ref: '#/components/schemas/OrderRequestContentArticle' + nullable: true + additionalProperties: false + OrderRequestContentArticle: + type: object + properties: + quantity: + type: integer + format: int32 + description: + type: string + nullable: true + countryOfOrigin: + type: string + nullable: true + tariff: + type: string + nullable: true + weightNet: + type: number + format: double + weightGross: + type: number + format: double + pricePerPieceAmount: + type: number + format: double + pricePerPieceAmountCurrency: + type: string + nullable: true + sku: + type: string + nullable: true + additionalProperties: false + OrderRequestContentParcel: + type: object + properties: + sequenceNo: + type: integer + format: int32 + size: + $ref: '#/components/schemas/OrderRequestContentParcelSize' + weight: + type: number + format: double + type: + $ref: '#/components/schemas/ParcelType' + reference1: + type: string + nullable: true + reference2: + type: string + nullable: true + reference3: + type: string + nullable: true + customerBarcode: + type: string + nullable: true + dangerousGood: + $ref: '#/components/schemas/OrderRequestContentParcelDangerousGood' + additionalProperties: false + OrderRequestContentParcelDangerousGood: + type: object + properties: + productId: + type: string + nullable: true + productDescription: + type: string + nullable: true + productClass: + type: integer + format: int32 + quantityClassification: + type: string + nullable: true + packagingGroupType: + type: string + nullable: true + packagingInstructions: + type: string + nullable: true + chemicalRecordIdentifier: + type: string + nullable: true + additionalProperties: false + OrderRequestContentParcelSize: + type: object + properties: + width: + type: number + format: double + height: + type: number + format: double + length: + type: number + format: double + additionalProperties: false + OrderRequestExtra: + type: object + properties: + bankRepaymentAmount: + type: number + format: double + nullable: true + bankRepaymentCurrency: + type: string + nullable: true + cashOnDeliveryAmount: + type: number + format: double + nullable: true + cashOnDeliveryAmountCurrency: + type: string + nullable: true + cashOnDeliveryPayoutToLocation: + type: boolean + nullable: true + declaredValueAmount: + type: number + format: double + nullable: true + declaredValueAmountCurrency: + type: string + nullable: true + openPackage: + type: boolean + nullable: true + saturdayDelivery: + type: boolean + nullable: true + insuranceAmount: + type: number + format: double + nullable: true + insuranceAmountCurrency: + type: string + nullable: true + reference1: + type: string + nullable: true + reference2: + type: string + nullable: true + reference3: + type: string + nullable: true + reference4: + type: string + nullable: true + returnOfDocuments: + type: boolean + nullable: true + returnOfDocumentsComment: + type: string + nullable: true + returnPackage: + type: boolean + nullable: true + returnVoucher: + type: boolean + nullable: true + bank: + type: string + nullable: true + bankIBAN: + type: string + nullable: true + bankAccountHolder: + type: string + nullable: true + customsDeclaration: + $ref: '#/components/schemas/OrderRequestExtraCustomsDeclaration' + marketPlace: + $ref: '#/components/schemas/MarketplaceIntegration' + uitCode: + type: string + nullable: true + additionalProperties: false + OrderRequestExtraCustomsDeclaration: + type: object + properties: + exporter: + $ref: '#/components/schemas/OrderRequestAddress' + importer: + $ref: '#/components/schemas/OrderRequestAddress' + exporterTaxId: + type: string + nullable: true + exporterEORI: + type: string + nullable: true + exporterBN: + type: string + nullable: true + importerTaxId: + type: string + nullable: true + importerEORI: + type: string + nullable: true + reason: + $ref: '#/components/schemas/PurposeOfShipment' + incoterm: + type: string + nullable: true + attachments: + type: array + items: + $ref: '#/components/schemas/OrderRequestExtraCustomsDeclarationAttachment' + nullable: true + additionalProperties: false + OrderRequestExtraCustomsDeclarationAttachment: + type: object + properties: + name: + type: string + nullable: true + content: + type: string + nullable: true + additionalProperties: false + OrderRequestParameters: + type: object + properties: + async: + type: boolean + getParcelsBarcodes: + type: boolean + includeCourierResponse: + type: boolean + includePriceBreakdown: + type: boolean + includeAddressInResponse: + type: boolean + consolidateOrder: + type: boolean + overwriteLocationAddressWithSenderDetails: + type: boolean + additionalProperties: false + OrderResponse: + type: object + properties: + clientOrderId: + type: integer + format: int32 + nullable: true + courierShipmentId: + type: string + nullable: true + courierShipmentVoucher: + type: string + nullable: true + courier: + type: integer + format: int32 + courierParcelsBarcodes: + type: array + items: + $ref: '#/components/schemas/OrderBarcodes' + nullable: true + price: + $ref: '#/components/schemas/OrderResponsePrice' + calculatedDeliveryDate: + type: string + format: date-time + nullable: true + trackPageUrl: + type: string + nullable: true + courierTrackPageUrl: + type: string + nullable: true + courierResponse: + type: object + additionalProperties: {} + nullable: true + extra: + $ref: '#/components/schemas/OrderRequestExtra' + address: + $ref: '#/components/schemas/OrderResponseAddress' + additionalProperties: false + OrderResponseAddress: + type: object + properties: + from: + $ref: '#/components/schemas/LimitedAddress' + to: + $ref: '#/components/schemas/LimitedAddress' + additionalProperties: false + OrderResponsePrice: + type: object + properties: + amount: + type: number + format: double + vat: + type: number + format: double + totalAmount: + type: number + format: double + currency: + type: string + nullable: true + priceComponents: + type: object + properties: + Km: + type: number + format: double + KmFixed: + type: number + format: double + Envelopes: + type: number + format: double + ContentWeight: + type: number + format: double + Insurance: + type: number + format: double + CashOnDelivery: + type: number + format: double + BankRepayment: + type: number + format: double + FixedExtras: + type: number + format: double + Returns: + type: number + format: double + FuelSurcharge: + type: number + format: double + CourierPrice: + type: number + format: double + OpenPackage: + type: number + format: double + SaturdayDelivery: + type: number + format: double + PriceForExtraParcel: + type: number + format: double + ContentWeightZones: + type: number + format: double + ContentWeightPiecesZones: + type: number + format: double + PickupThirdParty: + type: number + format: double + InnoshipInsurance: + type: number + format: double + ReturnDocument: + type: number + format: double + ReturnPackage: + type: number + format: double + PalletType: + type: number + format: double + FuelSurchargeFlat: + type: number + format: double + ParcelsCount: + type: number + format: double + ExtraCharges: + type: number + format: double + HeaviestParcelWeight: + type: number + format: double + WeightAndLDM: + type: number + format: double + ZonePalletType: + type: number + format: double + CountryPalletType: + type: number + format: double + additionalProperties: false + nullable: true + additionalProperties: false + OrderResponseResponseWithErrors: + type: object + properties: + response: + $ref: '#/components/schemas/OrderResponse' + errors: + type: array + items: + $ref: '#/components/schemas/Error' + nullable: true + correlationId: + type: string + nullable: true + additionalProperties: false + ParcelType: + enum: + - Envelope + - Parcel + - Pallet + type: string + PaymentType: + enum: + - Sender + - Recipient + - ThirdParty + type: string + PickupRequest: + type: object + properties: + courierId: + type: integer + format: int32 + locationId: + type: integer + format: int32 + lastPickupHour: + type: integer + format: int32 + lastPickMinute: + type: integer + format: int32 + additionalProperties: false + PickupResponse: + type: object + properties: + success: + type: boolean + message: + type: string + nullable: true + additionalProperties: false + PostalCodeInfo: + type: object + properties: + countryCode: + type: string + nullable: true + countryName: + type: string + nullable: true + postalCode: + type: string + nullable: true + streets: + type: array + items: + $ref: '#/components/schemas/PostalCodeInfoStreet' + nullable: true + additionalProperties: false + PostalCodeInfoStreet: + type: object + properties: + localityId: + type: integer + format: int32 + localityName: + type: string + nullable: true + countyId: + type: integer + format: int32 + countyName: + type: string + nullable: true + countryId: + type: integer + format: int32 + countryName: + type: string + nullable: true + streetName: + type: string + nullable: true + group: + type: string + nullable: true + additionalProperties: false + PostalCodeStructured: + type: object + properties: + countryCode: + type: string + nullable: true + countryId: + type: integer + format: int32 + countryName: + type: string + nullable: true + countryNameLocalized: + type: string + nullable: true + counties: + type: array + items: + $ref: '#/components/schemas/PostalCodeStructuredCounty' + nullable: true + additionalProperties: false + PostalCodeStructuredCounty: + type: object + properties: + countyId: + type: integer + format: int32 + countyName: + type: string + nullable: true + countyNameLocalized: + type: string + nullable: true + localities: + type: array + items: + $ref: '#/components/schemas/PostalCodeStructuredLocality' + nullable: true + additionalProperties: false + PostalCodeStructuredLocality: + type: object + properties: + localityId: + type: integer + format: int32 + localityName: + type: string + nullable: true + localityNameLocalized: + type: string + nullable: true + streets: + type: array + items: + $ref: '#/components/schemas/PostalCodeStructuredStreet' + nullable: true + additionalProperties: false + PostalCodeStructuredStreet: + type: object + properties: + postalCode: + type: string + nullable: true + streetName: + type: string + nullable: true + streetNameLocalized: + type: string + nullable: true + neighbourhood: + type: string + nullable: true + neighbourhoodLocalized: + type: string + nullable: true + group: + type: string + nullable: true + streetPrefix: + type: string + nullable: true + streetPrefixLocalized: + type: string + nullable: true + additionalProperties: false + PriceRate: + type: object + properties: + carrierId: + type: integer + format: int32 + carrier: + type: string + nullable: true + rateAmount: + type: number + format: double + rateVatAmount: + type: number + format: double + rateTotalAmount: + type: number + format: double + readOnly: true + rateCurrency: + type: string + nullable: true + score: + type: number + format: double + performance: + type: number + format: double + calculatedDeliveryDate: + type: string + format: date-time + nullable: true + deliveryDays: + type: integer + format: int32 + serviceId: + type: integer + format: int32 + service: + type: string + nullable: true + priority: + type: integer + format: int32 + priceComponents: + type: object + properties: + Km: + type: number + format: double + KmFixed: + type: number + format: double + Envelopes: + type: number + format: double + ContentWeight: + type: number + format: double + Insurance: + type: number + format: double + CashOnDelivery: + type: number + format: double + BankRepayment: + type: number + format: double + FixedExtras: + type: number + format: double + Returns: + type: number + format: double + FuelSurcharge: + type: number + format: double + CourierPrice: + type: number + format: double + OpenPackage: + type: number + format: double + SaturdayDelivery: + type: number + format: double + PriceForExtraParcel: + type: number + format: double + ContentWeightZones: + type: number + format: double + ContentWeightPiecesZones: + type: number + format: double + PickupThirdParty: + type: number + format: double + InnoshipInsurance: + type: number + format: double + ReturnDocument: + type: number + format: double + ReturnPackage: + type: number + format: double + PalletType: + type: number + format: double + FuelSurchargeFlat: + type: number + format: double + ParcelsCount: + type: number + format: double + ExtraCharges: + type: number + format: double + HeaviestParcelWeight: + type: number + format: double + WeightAndLDM: + type: number + format: double + ZonePalletType: + type: number + format: double + CountryPalletType: + type: number + format: double + additionalProperties: false + nullable: true + additionalProperties: false + PriceResponse: + type: object + properties: + rates: + type: array + items: + $ref: '#/components/schemas/PriceRate' + nullable: true + correlationId: + type: string + nullable: true + additionalProperties: false + PurposeOfShipment: + enum: + - CommercialShipment + - NonCommercialShipment + type: string + RestrictionCountryCountyDto: + type: object + properties: + countryId: + type: integer + format: int32 + countyId: + type: integer + format: int32 + nullable: true + value: + type: integer + format: int32 + additionalProperties: false + SendSmsRequest: + type: object + properties: + campaignName: + type: string + nullable: true + data: + type: array + items: + $ref: '#/components/schemas/SendSmsRequestItem' + nullable: true + additionalProperties: false + SendSmsRequestItem: + type: object + properties: + phone: + type: array + items: + type: string + nullable: true + message: + type: string + nullable: true + additionalProperties: false + TrackRequest: + type: object + properties: + courier: + $ref: '#/components/schemas/Courier' + awbList: + type: array + items: + type: string + nullable: true + additionalProperties: false + TrackResponseHistory: + type: object + properties: + clientStatusId: + type: integer + format: int32 + clientStatusDescription: + type: string + nullable: true + eventDate: + type: string + format: date-time + isFinalStatus: + type: boolean + localityName: + type: string + nullable: true + additionalProperties: false + TrackResponseWithReturnInfo: + type: object + properties: + returnAwb: + type: string + nullable: true + returnAwbHistory: + type: array + items: + $ref: '#/components/schemas/TrackResponseHistory' + nullable: true + orderId: + type: integer + format: int32 + externalOrderId: + type: string + nullable: true + correlationId: + type: string + nullable: true + courier: + type: integer + format: int32 + shipmentAwb: + type: string + nullable: true + carrierMeasuredWeight: + type: number + format: double + nullable: true + recipientContactName: + type: string + nullable: true + recipientLocality: + type: string + nullable: true + recipientCountryCode: + type: string + nullable: true + trackUrl: + type: string + nullable: true + currentStatus: + type: string + nullable: true + currentStatusId: + type: integer + format: int32 + dispatchId: + type: string + nullable: true + history: + type: array + items: + $ref: '#/components/schemas/TrackResponseHistory' + nullable: true + cashOnDeliveryHistory: + type: array + items: + $ref: '#/components/schemas/TrackResponseHistory' + nullable: true + additionalProperties: false + UpdateLocationCourierServiceDto: + type: object + properties: + courierId: + type: integer + format: int32 + serviceId: + type: integer + format: int32 + courierServiceRestrictions: + $ref: '#/components/schemas/CourierServiceRestrictionsDto' + useCourierPrices: + type: boolean + nullable: true + mappingTemplateOptionId: + type: string + nullable: true + voucherTemplateOptionId: + type: string + nullable: true + extraServices: + type: object + additionalProperties: + type: boolean + nullable: true + nullable: true + mappingReferences: + type: object + additionalProperties: + type: integer + format: int32 + nullable: true + nullable: true + countryDeliveryDays: + type: object + additionalProperties: + type: integer + format: int32 + nullable: true + nullable: true + enabled: + type: boolean + nullable: true + localityKm: + type: integer + format: int32 + nullable: true + priceLocalityId: + type: integer + format: int32 + nullable: true + additionalProperties: false + UpdateLocationDto: + type: object + properties: + address: + $ref: '#/components/schemas/LocationAddressDto' + courierCutOffTimes: + type: string + nullable: true + courierAutomaticCallTimes: + type: string + nullable: true + useSameCourierForSameAddress: + type: boolean + courierFailPolicy: + type: integer + format: int32 + timeZoneId: + type: string + nullable: true + priceGroupId: + type: integer + format: int32 + nullable: true + notificationEmail: + type: string + nullable: true + notificationPhone: + type: string + nullable: true + courierVoucherService: + type: object + additionalProperties: + type: integer + format: int32 + nullable: true + nullable: true + marketPlaceCallBackSettings: + type: object + additionalProperties: + type: object + additionalProperties: + type: string + nullable: true + nullable: true + importIsActive: + type: boolean + nullable: true + setHandoverOnManifest: + type: boolean + nullable: true + id: + type: integer + format: int32 + name: + type: string + nullable: true + externalLocationId: + type: string + nullable: true + additionalProperties: false + UpdateParcelsRequest: + type: object + properties: + courierId: + $ref: '#/components/schemas/Courier' + courierShipmentId: + type: string + nullable: true + envelopeCount: + type: integer + format: int32 + parcelsCount: + type: integer + format: int32 + palettesCount: + type: integer + format: int32 + oversizedPackage: + type: boolean + totalWeight: + type: number + format: double + parcels: + type: array + items: + $ref: '#/components/schemas/OrderRequestContentParcel' + nullable: true + parameters: + $ref: '#/components/schemas/OrderRequestParameters' + additionalProperties: false + UpdateStatusRequest: + type: object + properties: + courierId: + $ref: '#/components/schemas/Courier' + courierShipmentId: + type: string + nullable: true + typeId: + type: integer + format: int32 + nullable: true + statusId: + type: integer + format: int32 + actionDateTime: + type: string + format: date-time + additionalProperties: false + UploadDocumentsApiRequest: + type: object + properties: + courierId: + $ref: '#/components/schemas/Courier' + courierShipmentId: + type: string + nullable: true + attachments: + type: array + items: + $ref: '#/components/schemas/OrderRequestExtraCustomsDeclarationAttachment' + nullable: true + additionalProperties: false + UploadDocumentsApiResponse: + type: object + properties: + success: + type: boolean + message: + type: string + nullable: true + additionalProperties: false + securitySchemes: + ApiKeyAuth: + type: apiKey + name: X-Api-Key + in: header + security: + - ApiKeyAuth: + - readAccess + - writeAccess + servers: + - url: https://api.innoship.com +konfigCliVersion: 1.38.34 diff --git a/sdks/db/fixed-specs/fordefi-fixed-spec.yaml b/sdks/db/fixed-specs/fordefi-fixed-spec.yaml index 3a94c3b51b..9a53a87616 100644 --- a/sdks/db/fixed-specs/fordefi-fixed-spec.yaml +++ b/sdks/db/fixed-specs/fordefi-fixed-spec.yaml @@ -2,7 +2,7 @@ openapi: 3.0.3 info: title: Fordefi API description: >- - The future of institutional web3 wallets. + The future of institutional web3 wallets. For builders, traders, and operators, Fordefi's comprehensive MPC wallet diff --git a/sdks/db/fixed-specs/ilert-fixed-spec.yaml b/sdks/db/fixed-specs/ilert-fixed-spec.yaml new file mode 100644 index 0000000000..0200e11a31 --- /dev/null +++ b/sdks/db/fixed-specs/ilert-fixed-spec.yaml @@ -0,0 +1,7526 @@ +openapi: 3.0.0 +info: + title: ilert REST API + description: >- + + The ilert API is a + [RESTful](https://en.wikipedia.org/wiki/Representational_state_transfer) API + and provides programmatic access to entities in ilert and lets you easily + integrate ilert with 3rd party tools. If you are looking to develop an + inbound integration (e.g. for a monitoring tool), please use our [Events + API](https://api.ilert.com). + + + The API supports the JSON content type for requests and responses. The + response content type is requested via the HTTP Accept header + (`application/json`). All resources are accessible via https and are located + at `api.ilert.com/api`. + + ## Authentication + + The REST API accepts bearer API tokens. Each user may create API keys using + the ilert web application. Note: Make sure to send the `Bearer ` prefix e.g. + `Bearer APIKEY` when sending api key requests. By default, access to all + resources (using any method) requires the client to be authenticated. + + + ## Team Context + When using API tokens, the currently selected team context of the user will not be taken into account, i.e. list results will always return all entities to which the user has a view permission. When using basic auth credentials the currently selected team context of the user will be used to filter resource results. The context may be overwritten for API key calls using the `team-context` HTTP header. Specifying `0` for ALL teams, `-1` for MY teams or a specific team id e.g. `team-context=901` to fetch results for a certain team. + + ## Errors + + ilert uses HTTP response codes to indicate success or failure of an API + request. Codes in the 2xx range indicate success, codes in the 4xx range + indicate a client error (e.g. a missing required parameter) and codes in the + 5xx range indicate an error with ilert's servers. In case of an error, the + response body contains the following information: + + Attribute | Description + ------------- | ------------- + status | the corresponsing HTTP status code + message | a human readable description of the error + code | error code, used to identify error type + + ## API Versioning + + Changes to our API are always backwards-compatible. To get more information + about our API versioning and historical changes, please take a look here. + version: '' + x-logo: + url: ./ilert-logo-spaced.png + backgroundColor: '#fafafa' + altText: ilert documentation logo + x-konfig-ignore: + object-with-no-properties: true +servers: + - url: /api +tags: + - name: Notification Preferences + - name: Status Pages + - name: Alerts + - name: Contacts + - name: Schedules + - name: Users + - name: Alert Actions + - name: Teams + - name: Services + - name: Incidents + - name: Service Outages + - name: Escalation Policies + - name: Alert Sources + - name: Support Hours + - name: Connectors + - name: Maintenance Windows + - name: Incident Templates + - name: Automation Rules + - name: Metrics + - name: Metric Data Sources + - name: Heartbeats + - name: Reports + - name: Numbers + - name: Integrations + - name: Events + - name: Series + - name: Log-Entries + - name: Notifications + - name: On-Calls +paths: + /users/{user-id}: + get: + tags: + - Users + summary: Get the specified user. + operationId: Users_getUserById + parameters: + - $ref: '#/components/parameters/user-id-in-path' + responses: + '200': + description: the user object + content: + application/json: + schema: + $ref: '#/components/schemas/User' + put: + tags: + - Users + summary: Update an existing user. + operationId: Users_updateExistingUser + parameters: + - $ref: '#/components/parameters/user-id-in-path' + requestBody: + description: the user object + content: + application/json: + schema: + $ref: '#/components/schemas/User' + responses: + '200': + description: the updated user + content: + application/json: + schema: + $ref: '#/components/schemas/User' + delete: + tags: + - Users + summary: Delete the specified user. + operationId: Users_deleteUser + parameters: + - $ref: '#/components/parameters/user-id-in-path' + responses: + '204': + description: if deletion was successful + /users/{user-id}/contacts/emails: + get: + tags: + - Contacts + summary: Get a user's emails + operationId: Contacts_getUserEmails + parameters: + - $ref: '#/components/parameters/user-id-in-path' + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ContactsGetUserEmailsResponse' + post: + tags: + - Contacts + summary: Create a new email + operationId: Contacts_addNewEmail + parameters: + - $ref: '#/components/parameters/user-id-in-path' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ContactEmailPost' + required: true + responses: + '201': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ContactEmail' + /users/{user-id}/contacts/emails/{id}: + get: + tags: + - Contacts + summary: Get a specific email + operationId: Contacts_getEmail + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ContactEmail' + put: + tags: + - Contacts + summary: Update a user's email + operationId: Contacts_updateUserEmail + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ContactEmailPost' + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ContactEmail' + delete: + tags: + - Contacts + summary: Delete the user's specified email + operationId: Contacts_deleteUserEmail + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + responses: + '204': + description: if deletion was successful + /users/{user-id}/contacts/phone-numbers: + get: + tags: + - Contacts + summary: Get a user's phone numbers + operationId: Contacts_getUserPhoneNumbers + parameters: + - $ref: '#/components/parameters/user-id-in-path' + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ContactsGetUserPhoneNumbersResponse' + post: + tags: + - Contacts + summary: Create a phone number + operationId: Contacts_createPhoneNumber + parameters: + - $ref: '#/components/parameters/user-id-in-path' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ContactPhoneNumberPost' + required: true + responses: + '201': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ContactPhoneNumber' + /users/{user-id}/contacts/phone-numbers/{id}: + get: + tags: + - Contacts + summary: Get specific phone number + operationId: Contacts_getPhoneNumber + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ContactPhoneNumber' + put: + tags: + - Contacts + summary: Update a user's phone number + operationId: Contacts_updateUserPhoneNumber + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ContactPhoneNumberPost' + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ContactPhoneNumber' + delete: + tags: + - Contacts + summary: Delete the user's specified phone number + operationId: Contacts_deletePhoneNumber + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + responses: + '204': + description: if deletion was successful + /users/{user-id}/notification-preferences/alerts: + get: + tags: + - Notification Preferences + summary: Get alert notification preferences of a user + operationId: NotificationPreferences_getUserAlerts + parameters: + - $ref: '#/components/parameters/user-id-in-path' + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: >- + #/components/schemas/NotificationPreferencesGetUserAlertsResponse + post: + tags: + - Notification Preferences + summary: Create an alert notification preference + operationId: NotificationPreferences_createAlertPreference + parameters: + - $ref: '#/components/parameters/user-id-in-path' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesAlertPost' + required: true + responses: + '201': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesAlert' + /users/{user-id}/notification-preferences/alerts/{id}: + get: + tags: + - Notification Preferences + summary: Get specific notification preferences alert + operationId: NotificationPreferences_getSpecificAlert + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesAlert' + put: + tags: + - Notification Preferences + summary: Update a user's alert notification preference + operationId: NotificationPreferences_updateAlertPreference + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesAlertPost' + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesAlert' + delete: + tags: + - Notification Preferences + summary: Delete the user's specified notification preferences alert + operationId: NotificationPreferences_deleteUserNotificationPreferencesAlert + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + responses: + '204': + description: if deletion was successful + /users/{user-id}/notification-preferences/duties: + get: + tags: + - Notification Preferences + summary: Get duty notification preferences of a user + operationId: NotificationPreferences_getUserDutyPreferences + parameters: + - $ref: '#/components/parameters/user-id-in-path' + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: >- + #/components/schemas/NotificationPreferencesGetUserDutyPreferencesResponse + post: + tags: + - Notification Preferences + summary: Create a duty notification preference + operationId: NotificationPreferences_createDuty + parameters: + - $ref: '#/components/parameters/user-id-in-path' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesDutyPost' + required: true + responses: + '201': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesDuty' + /users/{user-id}/notification-preferences/duties/{id}: + get: + tags: + - Notification Preferences + summary: Get specific notification preferences duty + operationId: NotificationPreferences_getSpecificDuty + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesDuty' + put: + tags: + - Notification Preferences + summary: Update a user's duty notification preference + operationId: NotificationPreferences_updateDutyNotificationPreference + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesDutyPost' + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesDuty' + delete: + tags: + - Notification Preferences + summary: Delete the user's specified notification preferences duty + operationId: NotificationPreferences_deleteUserNotificationDuty + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + responses: + '204': + description: if deletion was successful + /users/{user-id}/notification-preferences/updates: + get: + tags: + - Notification Preferences + summary: Get update notification preferences of a user + operationId: NotificationPreferences_getUserUpdatePreferences + parameters: + - $ref: '#/components/parameters/user-id-in-path' + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: >- + #/components/schemas/NotificationPreferencesGetUserUpdatePreferencesResponse + post: + tags: + - Notification Preferences + summary: Create an update notification preference + operationId: NotificationPreferences_createUpdatePreference + parameters: + - $ref: '#/components/parameters/user-id-in-path' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesUpdatePost' + required: true + responses: + '201': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesUpdate' + /users/{user-id}/notification-preferences/updates/{id}: + get: + tags: + - Notification Preferences + summary: Get specific notification preferences update + operationId: NotificationPreferences_getSpecificUpdate + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesUpdate' + put: + tags: + - Notification Preferences + summary: Update a user's update notification preference + operationId: NotificationPreferences_updateUserUpdateNotificationPreference + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesUpdatePost' + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesUpdate' + delete: + tags: + - Notification Preferences + summary: Delete the user's specified notification preferences update + operationId: NotificationPreferences_deleteUpdate + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + responses: + '204': + description: if deletion was successful + /users/{user-id}/notification-preferences/subscriptions: + get: + tags: + - Notification Preferences + summary: Get subscription notification preferences of a user + operationId: NotificationPreferences_getUserSubscriptions + parameters: + - $ref: '#/components/parameters/user-id-in-path' + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: >- + #/components/schemas/NotificationPreferencesGetUserSubscriptionsResponse + post: + tags: + - Notification Preferences + summary: Create a subscription notification preference + operationId: NotificationPreferences_createSubscriptionNotificationPreference + parameters: + - $ref: '#/components/parameters/user-id-in-path' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesSubscriptionPost' + required: true + responses: + '201': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesSubscription' + /users/{user-id}/notification-preferences/subscriptions/{id}: + get: + tags: + - Notification Preferences + summary: Get specific notification preferences subscription + operationId: NotificationPreferences_getSpecificSubscription + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesSubscription' + put: + tags: + - Notification Preferences + summary: Update a user's subscription notification preference + operationId: NotificationPreferences_updateSubscriptionPreference + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesSubscriptionPost' + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesSubscription' + delete: + tags: + - Notification Preferences + summary: Delete the user's specified notification preferences subscription + operationId: NotificationPreferences_deleteSubscription + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + responses: + '204': + description: if deletion was successful + /numbers: + get: + tags: + - Numbers + summary: >- + List available phone numbers that ilert uses to send voice and SMS + notifications + operationId: Numbers_listAvailableNumbers + security: [] + responses: + '200': + description: List of phone numbers + content: + application/json: + schema: + $ref: '#/components/schemas/NumbersListAvailableNumbersResponse' + /integrations: + get: + tags: + - Integrations + summary: >- + List available inbound and outbound integrations. Note: this resource is + paginated. + operationId: Integrations_listAvailable + security: [] + parameters: + - $ref: '#/components/parameters/start-index' + - $ref: '#/components/parameters/max-results' + responses: + '200': + description: list of integrations + content: + application/json: + schema: + $ref: '#/components/schemas/IntegrationsListAvailableResponse' + /users: + get: + tags: + - Users + summary: List existing users. + operationId: Users_listExistingUsers + parameters: + - $ref: '#/components/parameters/start-index' + - $ref: '#/components/parameters/max-results' + responses: + '200': + description: list of users + content: + application/json: + schema: + $ref: '#/components/schemas/UsersListExistingUsersResponse' + post: + tags: + - Users + summary: Create a new user. Requires ADMIN privileges. + operationId: Users_createNewUser + description: | + **Sample request** + + ```json + Request URL: https://api.ilert.com/api/users + + { + "firstName": "John", + "lastName": "Doe", + "email": "john@acme.com", + "position": "Software Engineer", + } + ``` + + **Response** + + ````json + { + "id": 2188373, + "firstName": "John", + "lastName": "Doe", + "email": "john@acme.com", + "position": "Software Engineer", + "timezone": "Europe/Berlin", + "language": "de", + "role": "RESPONDER", + } + ```` + requestBody: + description: the user object + content: + application/json: + schema: + $ref: '#/components/schemas/UserPost' + responses: + '201': + description: >- + Created. The URI of the created user entity is included in the + Location header and the user object is included in the body. + content: + application/json: + schema: + $ref: '#/components/schemas/User' + /users/current: + get: + tags: + - Users + summary: Get the currently authenticated user. + operationId: Users_getCurrentUser + responses: + '200': + description: user object + content: + application/json: + schema: + $ref: '#/components/schemas/User' + put: + tags: + - Users + summary: Update the current user. + operationId: Users_updateCurrentUser + requestBody: + description: user object + content: + application/json: + schema: + $ref: '#/components/schemas/UserPost' + responses: + '200': + description: the updated user + content: + application/json: + schema: + $ref: '#/components/schemas/User' + /alerts: + post: + tags: + - Alerts + summary: >- + Create alerts with customised parameters without requiring events from + monitoring tools that use our Events API. + operationId: Alerts_createCustomizedAlert + description: >- + Escalation of the alert will be based on the alert source's escalation + policy or may be overridden by providing a specific escalation policy or + lastly specific set of responders (users), latter will only notify the + user(s) and will not escalate any further. + requestBody: + description: the alert + content: + application/json: + schema: + $ref: '#/components/schemas/ManualAlert' + required: true + responses: + '201': + description: the created and freshly escalated alert + content: + application/json: + schema: + $ref: '#/components/schemas/Alert' + get: + tags: + - Alerts + summary: >- + List alerts (optionally matching certain criteria that are specified by + query parameters). + operationId: Alerts_listMatchingCriteria + description: >- + **Sample URLs** + + * List only alerts that are either in state `PENDING` or `ACCEPTED`:
https://api.ilert.com/api/alerts?states=PENDING&states=ACCEPTED + + * List only alerts that belong to the alert source with ID `1243` or + `1743` and where user `jd` is a responder:
+ https://api.ilert.com/api/alerts?sources=1243&sources=1743&responders=jd + * Paginate first batch for a range of alerts (note: query parameters + should be url encoded):
+ https://api.ilert.com/api/alerts?start-index=0&max-results=100&from=2021-03-01T21:24:56.771Z&until=2021-04-01T21:24:56.771Z + * Fetch next page, assuming equal to max-results were returned:
+ https://api.ilert.com/api/alerts?start-index=100&max-results=100&from=2021-03-01T21:24:56.771Z&until=2021-04-01T21:24:56.771Z + * Pagination should be done based on the `reportTime` field using the + parameters `from` and `until` as well as `start-index`. When building a + local alert state store the `id` field should be used as identifier. The + `alertKey` field is not suitable for this, as it is used to group + related alerts to each other. + parameters: + - $ref: '#/components/parameters/start-index' + - $ref: '#/components/parameters/max-results' + - description: >- + Describes optional properties that should be included in the + response. You may declare multiple. (nextEscalationUser) + name: include + in: query + required: false + explode: true + schema: + type: array + items: + type: string + enum: + - nextEscalationUser + - description: state of the alert + in: query + name: states + explode: true + schema: + type: array + items: + type: string + enum: + - PENDING + - ACCEPTED + - RESOLVED + - description: alert source IDs of the alert's alert source + in: query + name: sources + explode: true + schema: + type: array + items: + type: integer + format: int64 + - description: escalation policy IDs of the alert's escalation policy + in: query + name: policies + explode: true + schema: + type: array + items: + type: integer + format: int64 + - description: user ids of the user that is a responder of the alert + in: query + name: responders + explode: true + schema: + type: array + items: + type: string + - description: >- + from date, ISO-UTC e.g. 2021-05-25T21:24:56.771Z, based on + reportTime + in: query + name: from + schema: + type: string + format: date-time + - description: >- + until date, ISO-UTC e.g. 2021-05-26T21:24:56.771Z, based on + reportTime + in: query + name: until + schema: + type: string + format: date-time + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/AlertsListMatchingCriteriaResponse' + /alerts/count: + get: + tags: + - Alerts + summary: Get the alert count matching the specified criteria. + operationId: Alerts_getAlertCountMatchingCriteria + parameters: + - description: state of the alert + in: query + name: states + explode: true + schema: + type: array + items: + type: string + enum: + - PENDING + - ACCEPTED + - RESOLVED + - description: alert source IDs of the alert's alert source + in: query + name: sources + explode: true + schema: + type: array + items: + type: integer + format: int64 + - description: user ids of the user that is a responder of the alert + in: query + name: responders + explode: true + schema: + type: array + items: + type: string + - description: from date + in: query + name: from + schema: + type: string + format: date-time + - description: until date + in: query + name: until + schema: + type: string + format: date-time + responses: + '200': + description: the number of alerts matching the specified criteria + content: + application/json: + schema: + $ref: '#/components/schemas/CountResponse' + /alerts/{id}: + get: + tags: + - Alerts + summary: Get the alert with the specified id. + operationId: Alerts_getById + parameters: + - $ref: '#/components/parameters/id' + - description: >- + Describes optional properties that should be included in the + response. You may declare multiple. (escalationRules, + nextEscalationUser) + name: include + in: query + required: false + explode: true + schema: + type: array + items: + type: string + enum: + - escalationRules + - nextEscalationUser + responses: + '200': + description: alert object + content: + application/json: + schema: + $ref: '#/components/schemas/Alert' + /alerts/{id}/suggested-responders: + get: + tags: + - Alerts + summary: >- + Get available (assignable) responders for the alert with the specified + id. + operationId: Alerts_getAssignableResponders + parameters: + - $ref: '#/components/parameters/id' + - description: locale for response text eg. 'en' or 'de' + name: lang + in: query + schema: + type: string + responses: + '200': + description: the list of alert responders + content: + application/json: + schema: + $ref: '#/components/schemas/AlertsGetAssignableRespondersResponse' + /alerts/{id}/responders: + post: + tags: + - Alerts + summary: Add an additional responder to the alert. + operationId: Alerts_addResponder + parameters: + - $ref: '#/components/parameters/id' + responses: + '201': + description: the created alert responder object + content: + application/json: + schema: + $ref: '#/components/schemas/AlertResponder' + '404': + description: Responder did not exist + '405': + description: Responder is already present on the alert + /alerts/{id}/responders/{user-id}: + delete: + tags: + - Alerts + summary: Remove a responder from the alert. + operationId: Alerts_removeResponder + parameters: + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/user-id-in-path' + responses: + '204': + description: Responder has been removed + '404': + description: Responder did not exist + /alerts/{id}/assign: + put: + tags: + - Alerts + summary: Assign the alert. + operationId: Alerts_assignAlertTo + description: >- + Either provide a user-id, policy-id (escalation policy) or schedule-id + (on-call schedule) that the specific alert should be assigned to. + parameters: + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/user-id-in-query' + - description: numeric policy id + name: policy + in: query + schema: + type: string + - description: numeric schedule id + name: schedule + in: query + schema: + type: string + responses: + '200': + description: the updated alert object + content: + application/json: + schema: + $ref: '#/components/schemas/Alert' + /alerts/{id}/accept: + put: + tags: + - Alerts + summary: Accept the Alert. + operationId: Alerts_acceptAlert + parameters: + - $ref: '#/components/parameters/id' + responses: + '200': + description: the updated alert object + content: + application/json: + schema: + $ref: '#/components/schemas/Alert' + /alerts/{id}/resolve: + put: + tags: + - Alerts + summary: Resolve the alert. + operationId: Alerts_resolveAlert + parameters: + - $ref: '#/components/parameters/id' + responses: + '200': + description: the updated alert object + content: + application/json: + schema: + $ref: '#/components/schemas/Alert' + /alerts/{id}/notifications: + get: + tags: + - Alerts + - Notifications + summary: Get notifications for the specified alert. + operationId: Alerts_getNotifications + parameters: + - $ref: '#/components/parameters/id' + responses: + '200': + description: a list of notification objects + content: + application/json: + schema: + $ref: '#/components/schemas/AlertsGetNotificationsResponse' + /alerts/{id}/log-entries: + get: + tags: + - Alerts + - Log-Entries + summary: Get log entries for the specified alert. + operationId: Alerts_getLogEntries + parameters: + - $ref: '#/components/parameters/id' + - description: log entry language + name: lang + in: query + schema: + type: string + enum: + - en + - de + - $ref: '#/components/parameters/start-index' + - $ref: '#/components/parameters/max-results' + - description: >- + Describes optional properties that should be included in the + response. You may declare multiple. (vars) + name: include + in: query + required: false + explode: true + schema: + type: array + items: + type: string + enum: + - vars + - description: filter-type (group) of the log + in: query + name: filter-types + explode: true + schema: + type: array + items: + type: string + enum: + - NOTIFICATIONS + - ALERT_SOURCE_EVENTS + - CALL_ROUTING_EVENTS + - ALERT_UPDATES + - CONNECTOR_EVENTS + - INCIDENT_COMMUNICATIONS + responses: + '200': + description: list of log entries + content: + application/json: + schema: + $ref: '#/components/schemas/AlertsGetLogEntriesResponse' + /alerts/{id}/actions: + get: + tags: + - Alert Actions + summary: Get available actions for specified alert. + operationId: AlertActions_getAvailableActions + parameters: + - $ref: '#/components/parameters/id' + responses: + '200': + description: list of alert actions + content: + application/json: + schema: + $ref: '#/components/schemas/AlertActionTrigger' + post: + tags: + - Alert Actions + summary: Invoke a specific alert action. + operationId: AlertActions_invokeSpecificAction + parameters: + - $ref: '#/components/parameters/id' + requestBody: + description: the alert action, you might skip the 'history' field + content: + application/json: + schema: + $ref: '#/components/schemas/AlertActionTrigger' + required: true + responses: + '201': + description: the alert action result, validate the 'success' field + content: + application/json: + schema: + $ref: '#/components/schemas/AlertActionResult' + /schedules: + get: + tags: + - Schedules + summary: List on-call schedules. + operationId: Schedules_listOnCallSchedules + parameters: + - description: >- + Describes optional properties that should be included in the + response. You may declare multiple. (currentShift, nextShift, + scheduleLayers [only available for RECURRING schedules], shifts + [only available for STATIC schedules], past [show shifts in the + past, only for STATIC]) + name: include + in: query + required: false + explode: true + schema: + type: array + items: + type: string + enum: + - scheduleLayers + - shifts + - currentShift + - nextShift + - past + - $ref: '#/components/parameters/start-index' + - description: >- + the maximum number of results when paging through a list of + schedules. + in: query + name: max-results + required: false + schema: + type: integer + format: int32 + maximum: 20 + default: 20 + responses: + '200': + description: a list of on-call schedules + content: + application/json: + schema: + $ref: '#/components/schemas/SchedulesListOnCallSchedulesResponse' + post: + tags: + - Schedules + summary: Create a new on-call schedule. + operationId: Schedules_createNewOnCallSchedule + parameters: + - description: Used for static schedules to prevent creating schedules with gaps + name: abort-on-gaps + in: query + required: false + schema: + type: boolean + requestBody: + $ref: '#/components/requestBodies/Schedule' + responses: + '201': + description: The created on-call schedule + content: + application/json: + schema: + $ref: '#/components/schemas/Schedule' + /schedules/{id}: + get: + tags: + - Schedules + summary: Get the on-call schedule with the specified id. + operationId: Schedules_getById + parameters: + - $ref: '#/components/parameters/id' + - description: >- + Describes optional properties that should be included in the + response. You may declare multiple. (currentShift, nextShift, + scheduleLayers [only available for RECURRING schedules], shifts + [only available for STATIC schedules], past [show shifts in the + past, only for STATIC]) + name: include + in: query + required: false + explode: true + schema: + type: array + items: + type: string + enum: + - scheduleLayers + - shifts + - currentShift + - nextShift + - past + responses: + '200': + description: >- + The schedule object. (scheduleLayers [only available for RECURRING + schedules], shifts [only available for STATIC schedules]) + content: + application/json: + schema: + $ref: '#/components/schemas/Schedule' + put: + tags: + - Schedules + summary: Update an on-call schedule. + operationId: Schedules_updateOnCallSchedule + parameters: + - $ref: '#/components/parameters/id' + - description: Used for static schedules to prevent updating schedules with gaps + name: abort-on-gaps + in: query + required: false + schema: + type: boolean + requestBody: + $ref: '#/components/requestBodies/Schedule' + responses: + '200': + description: The updated on-call schedule + content: + application/json: + schema: + $ref: '#/components/schemas/Schedule' + delete: + tags: + - Schedules + summary: Delete the on-call schedule with the specified id. + operationId: Schedules_deleteScheduleById + parameters: + - $ref: '#/components/parameters/id' + responses: + '204': + description: empty response + /schedules/{id}/shifts: + get: + tags: + - Schedules + summary: Get shifts for the specified schedule and date range. + operationId: Schedules_getShiftsByIdAndDateRange + parameters: + - $ref: '#/components/parameters/id' + - description: from date, default is start of last month + in: query + name: from + schema: + type: string + format: date-time + - description: until date, default is from date plus 3 months + in: query + name: until + schema: + type: string + - description: if true, shifts won't include overrides + in: query + name: exclude-overrides + schema: + type: boolean + default: false + responses: + '200': + description: the shift objects + content: + application/json: + schema: + $ref: >- + #/components/schemas/SchedulesGetShiftsByIdAndDateRangeResponse + /schedules/{id}/overrides: + get: + tags: + - Schedules + summary: Get overrides for the specified schedule. + operationId: Schedules_getOverridesById + parameters: + - $ref: '#/components/parameters/id' + responses: + '200': + description: the shift objects + content: + application/json: + schema: + $ref: '#/components/schemas/SchedulesGetOverridesByIdResponse' + put: + tags: + - Schedules + summary: Add an override shift to a schedule. + operationId: Schedules_addOverrideShift + parameters: + - $ref: '#/components/parameters/id' + requestBody: + description: >- + the shift which should overwrite the schedule (must not be in the + past) + content: + application/json: + schema: + $ref: '#/components/schemas/Shift' + required: true + responses: + '200': + description: the overwritten schedule object + content: + application/json: + schema: + $ref: '#/components/schemas/ScheduleRel' + /schedules/{id}/user-on-call: + get: + tags: + - Schedules + summary: >- + Get the user (wrapped in a shift object) on-call for the specified + schedule. + operationId: Schedules_getUserOnCall + parameters: + - $ref: '#/components/parameters/id' + responses: + '200': + description: the current shift + content: + application/json: + schema: + $ref: '#/components/schemas/Shift' + '204': + description: if no user is on-call + /on-calls: + get: + tags: + - On-Calls + summary: List on-calls with flexible filters + operationId: OnCalls_listWithFilters + parameters: + - description: escalation policy ids to filter on call duties for + name: policies + in: query + required: false + schema: + type: number + - description: >- + can be provided instead of 'policies', must be a serialised and + urlencoded JSON object e.g. ?policy-levels="{ "id": 12, "level": 1 + }" where id is the policy id and level is the escalation level that + should be included + name: policy-levels + in: query + required: false + schema: + type: string + - description: on call schedule ids to filter on call duties for + name: schedules + in: query + required: false + schema: + type: number + - description: user ids to filter on call duties for + name: users + in: query + required: false + schema: + type: number + - description: 'include full entities for: policy, escalationPolicy or user' + name: expand + in: query + required: false + schema: + type: string + - description: >- + date-time ISO-UTC e.g. 2021-05-25T21:24:56.771Z, start of the time + range, may not exceed 3 months in total span, defaults to current + time + name: from + in: query + required: false + schema: + type: string + - description: >- + date-time ISO-UTC e.g. 2021-05-25T21:24:56.771Z, end of the time + range, must be after 'from', defaults to current time + name: until + in: query + required: false + schema: + type: string + - description: Time zone in which the results will be rendered, defaults to UTC + name: timezone + in: query + required: false + schema: + type: string + - description: offset for the search results, defaults to 0 + name: start-index + in: query + required: false + schema: + type: number + - description: limit for the search results, defaults to 50, may not exceed 250 + name: max-results + in: query + required: false + schema: + type: number + responses: + '200': + description: returns a list of on-call objects for the searched window + content: + application/json: + schema: + $ref: '#/components/schemas/OnCallsListWithFiltersResponse' + /alert-sources: + get: + tags: + - Alert Sources + summary: List alert sources. + operationId: AlertSources_listSources + parameters: + - $ref: '#/components/parameters/start-index' + - description: >- + the maximum number of results when paging through a list of alert + sources. + in: query + name: max-results + required: false + schema: + type: integer + format: int32 + maximum: 50 + default: 50 + responses: + '200': + description: the alert source object + content: + application/json: + schema: + $ref: '#/components/schemas/AlertSourcesListSourcesResponse' + post: + tags: + - Alert Sources + summary: Create a new alert source. + operationId: AlertSources_createNewSource + requestBody: + $ref: '#/components/requestBodies/AlertSourceRel' + responses: + '201': + description: >- + The URI of the alert source will be included in the location header + and the alert source will be included in the body. + content: + application/json: + schema: + $ref: '#/components/schemas/AlertSource' + /alert-sources/{id}: + get: + tags: + - Alert Sources + summary: Get the alert source with specified id or alternatively api key. + operationId: AlertSources_getByIdOrApiKey + parameters: + - $ref: '#/components/parameters/source-id-or-key' + - description: >- + Describes optional properties that should be included in the + response. You may declare multiple. (detailsTemplate, + summaryTemplate, routingTemplate, linkTemplates, priorityTemplate, + textTemplate) + name: include + in: query + required: false + explode: true + schema: + type: array + items: + type: string + enum: + - detailsTemplate + - summaryTemplate + - routingTemplate + - linkTemplates + - priorityTemplate + - textTemplate + responses: + '200': + description: the alert source object + content: + application/json: + schema: + $ref: '#/components/schemas/AlertSource' + put: + tags: + - Alert Sources + summary: Update an existing alert source. + operationId: AlertSources_updateExistingSource + parameters: + - $ref: '#/components/parameters/id' + requestBody: + $ref: '#/components/requestBodies/AlertSourceRel' + responses: + '200': + description: the updated alert source object + content: + application/json: + schema: + $ref: '#/components/schemas/AlertSource' + delete: + tags: + - Alert Sources + summary: Delete the specified alert source. + operationId: AlertSources_deleteSpecifiedSource + parameters: + - $ref: '#/components/parameters/id' + responses: + '204': + description: if deletion was successful + /support-hours: + get: + tags: + - Support Hours + summary: List support hours. + operationId: SupportHours_list + parameters: + - $ref: '#/components/parameters/start-index' + - description: >- + the maximum number of results when paging through a list of support + hours. + in: query + name: max-results + required: false + schema: + type: integer + format: int32 + maximum: 50 + default: 50 + responses: + '200': + description: list of support hours + content: + application/json: + schema: + $ref: '#/components/schemas/SupportHoursListResponse' + post: + tags: + - Support Hours + summary: Create a new support hour. + operationId: SupportHours_createNewSupportHour + requestBody: + $ref: '#/components/requestBodies/SupportHour' + responses: + '201': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/SupportHour' + /support-hours/{id}: + get: + tags: + - Support Hours + summary: Get the support hour with specified id. + operationId: SupportHours_getById + parameters: + - $ref: '#/components/parameters/id' + responses: + '200': + description: the support hour object + content: + application/json: + schema: + $ref: '#/components/schemas/SupportHour' + put: + tags: + - Support Hours + summary: Update an existing support hour. + operationId: SupportHours_updateExistingHour + parameters: + - $ref: '#/components/parameters/id' + requestBody: + $ref: '#/components/requestBodies/SupportHour' + responses: + '200': + description: the updated support hour object + content: + application/json: + schema: + $ref: '#/components/schemas/SupportHour' + delete: + tags: + - Support Hours + summary: Delete the specified support hour. + operationId: SupportHours_deleteSpecifiedSupportHour + parameters: + - $ref: '#/components/parameters/id' + responses: + '204': + description: if deletion was successful + /maintenance-windows: + get: + tags: + - Maintenance Windows + summary: List maintenance windows. + operationId: MaintenanceWindows_list + parameters: + - $ref: '#/components/parameters/start-index' + - $ref: '#/components/parameters/max-results' + responses: + '200': + description: the maintenance window object + content: + application/json: + schema: + $ref: '#/components/schemas/MaintenanceWindowsListResponse' + post: + tags: + - Maintenance Windows + summary: Create a new maintenance window. + operationId: MaintenanceWindows_createNewWindow + requestBody: + $ref: '#/components/requestBodies/MaintenanceWindow' + responses: + '200': + description: >- + The URI of the maintenance window will be included in the location + header and the maintenance window will be included in the body. + content: + application/json: + schema: + $ref: '#/components/schemas/MaintenanceWindow' + /maintenance-windows/{id}: + get: + tags: + - Maintenance Windows + summary: Get the maintenance window with specified id. + operationId: MaintenanceWindows_getById + parameters: + - $ref: '#/components/parameters/id' + responses: + '200': + description: the maintenance window object + content: + application/json: + schema: + $ref: '#/components/schemas/MaintenanceWindow' + put: + tags: + - Maintenance Windows + summary: Update an existing maintenance window. + operationId: MaintenanceWindows_updateExistingWindow + parameters: + - $ref: '#/components/parameters/id' + requestBody: + $ref: '#/components/requestBodies/MaintenanceWindow' + responses: + '200': + description: the updated maintenance window object + content: + application/json: + schema: + $ref: '#/components/schemas/MaintenanceWindow' + delete: + tags: + - Maintenance Windows + summary: Delete the specified maintenance window. + operationId: MaintenanceWindows_removeById + parameters: + - $ref: '#/components/parameters/id' + responses: + '204': + description: if deletion was successful + /escalation-policies: + get: + tags: + - Escalation Policies + summary: List escalation policies. + operationId: EscalationPolicies_listPolicies + parameters: + - $ref: '#/components/parameters/start-index' + - description: >- + the maximum number of results when paging through a list of + escalation policies. + in: query + name: max-results + required: false + schema: + type: integer + format: int32 + maximum: 50 + default: 50 + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/EscalationPoliciesListPoliciesResponse' + post: + tags: + - Escalation Policies + summary: Create a new escalation policy. + operationId: EscalationPolicies_createNewPolicy + requestBody: + description: the escalation polocy + content: + application/json: + schema: + $ref: '#/components/schemas/EscalationPolicy' + required: true + responses: + '201': + description: >- + Created. The URI of the escalation policy is included in the + Location header and the entity in the body + content: + application/json: + schema: + $ref: '#/components/schemas/EscalationPolicy' + /escalation-policies/{id}: + get: + tags: + - Escalation Policies + summary: Get escalation policy with the specified id. + operationId: EscalationPolicies_getById + parameters: + - $ref: '#/components/parameters/id' + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/EscalationPolicy' + put: + tags: + - Escalation Policies + summary: Update an existing escalation policy. + operationId: EscalationPolicies_updateExistingPolicy + parameters: + - $ref: '#/components/parameters/id' + requestBody: + description: the escalation policy + content: + application/json: + schema: + $ref: '#/components/schemas/EscalationPolicy' + required: true + responses: + '200': + description: The updated escalation policy + content: + application/json: + schema: + $ref: '#/components/schemas/EscalationPolicy' + delete: + tags: + - Escalation Policies + summary: Delete the specified escalation policy. + operationId: EscalationPolicies_deleteSpecificPolicy + parameters: + - $ref: '#/components/parameters/id' + responses: + '204': + description: if deletion was successful + /series/{key}: + post: + tags: + - Series + summary: Ingest a series for a metric + operationId: Series_ingestMetricSeries + security: [] + description: >- + Post a time point or multiple time points (series) to a metric. User + authorization is not required instead provide the integration key of + your metric. + parameters: + - $ref: '#/components/parameters/key' + requestBody: + description: the time point or series of time points + content: + application/json: + schema: + $ref: '#/components/schemas/SeriesOption' + required: true + responses: + '202': + description: The time points have been accepted + /events: + post: + tags: + - Events + summary: Post an event to ilert. + operationId: Events_postEventToIlert + security: [] + description: > + Use the Event API to integrate your monitoring or ticketing tools with + ilert. It provides a single API endpoint that allows you to create, + accept and resolve alerts in ilert. It is designed around the notion + that monitoring tools send events when + + * a problem occurs (an `ALERT` event in ilert terminology) + + * a problem is acknowledged, indicating that someone is working on the + resolution of the problem (an `ACCEPT`event) + + * a problem is resolved (a `RESOLVED`event) + + + The API accepts these events, routes them to the alert source to which + the api key belongs, and takes appropriate action. + + + An event object contains the following attributes: + + + Attribute | Desription + + ------------- | ------------- + + apiKey | **Required**. The API key of the alert source. + + eventType | **Required**. Must be either `ALERT`, `ACCEPT`, or + `RESOLVE` + + summary | **Required**. The event summary. Will be used as the alert + summary if a new alert is created. + + details | Optional. The event details. Will be used as the alert details + if a new alert is created. + + alertKey | Optional. For `ALERT` events, the alertKey can be used to + deduplicate or group events. If an open alert with the key already + exists, the event will be appended to the alert's event log. Otherwise a + new alert will be created. For `ACCEPT` and `RESOLVE` events, the + alertKey is used to reference the open alert which is to be accepted or + resolved by this event. + + priority | Optional. Must be either HIGH or LOW. Will overwrite the + evaluated priority of the alert source. + + images | Optional. A list of images containing src, href and alt. + + links | Optional. A list of links, containing href and text. + + customDetails | Optional. Additional custom details for the event. + + routingKey | Optional. Overwrite escalation policy for ALERT events. + + + + ### Getting started + + Before you can start making API requests, you need to create an API + alert source in the ilert web interface: + + 1. Go to "Alert sources" + + 2. Click on "Add a new alert source" + + 3. Fill out the form chosing "API" as the integration type and save. + + + An API key will be generated for the alert source after creation. You + can obtain the key on the alert sources' details page. You can only use + the key to post events to this alert source and you don't need to + provide any other credentials when using the Event API. + + + ### Example: create, accept and resolve an alert + + The following example will guide you through a basic workflow where an + alert is created, accepted, and resolved. + + + #### Create alert + + An alert can be created by posting an `ALERT` event: + + + **Request** + + ```json + + https://api.ilert.com/api/events + + + { + "apiKey": "edf0235f-a720-458e-a7fd-6b001042a4f4", + "eventType": "ALERT", + "alertKey": "srv/mail01", + "summary": "Host srv/mail01 is CRITICAL" + } + + ``` + + + Let's say we want to post an update saying that the host is down. To do + that, we will post another `ALERT` event using the same alertKey: + + + **Request** + + ```json + + https://api.ilert.com/api/events + + + { + "apiKey": "edf0235f-a720-458e-a7fd-6b001042a4f4", + "eventType": "ALERT", + "alertKey": "srv/mail01", + "summary": "Host srv/mail01 is DOWN" + } + + ``` + + + #### Accept an + + Continuing our example from above, we want to accept the alert that we + created. In order to that, we post an `ACCEPT`event using the same + alertKey that we used when we posted the `ALERT` event. + + + **Request** + + ```json + + https://api.ilert.com/api/events + + + { + "apiKey": "edf0235f-a720-458e-a7fd-6b001042a4f4", + "eventType": "ACCEPT", + "alertKey": "srv/mail01" + } + + ``` + + + The alert is now in ACCEPTED state stopping any further notifications. + + + #### Resolve an alert + + To resolve the alert, we simply post a `RESOLVE` event using the alert + key from above. + + + **Request** + + ```json + + https://api.ilert.com/api/events + + + { + "apiKey": "edf0235f-a720-458e-a7fd-6b001042a4f4", + "eventType": "RESOLVE", + "alertKey": "srv/mail01" + } + + ``` + + + The alert is now resolved. + + + + + ### Dealing with errors and retries + + We strongly recommend to implement a retry logic on the client side if + an error occurs (ideally using an [exponential + backoff](https://en.wikipedia.org/wiki/Exponential_backoff)). + + + Retry a failed request for the following errors: + + * any network errors + + * 5xx errors: this indicates an error in ilert + + * 429 Too Many Requests: you have reached your rate limit + + + + Do NOT retry a request for the following HTTP response codes: + + * 202 Accepted: the request was successful + + * 400 Bad Request: (check the error message for details) + requestBody: + description: the event + content: + application/json: + schema: + $ref: '#/components/schemas/Event' + required: true + responses: + '202': + description: The event has been accepted + /heartbeats/{key}: + head: + tags: + - Heartbeats + summary: Ping heartbeat alert source. + operationId: Heartbeats_pingAlertSource + security: [] + parameters: + - $ref: '#/components/parameters/key' + responses: + '202': + description: Arbitrary accept response + get: + tags: + - Heartbeats + summary: Ping heartbeat alert source. + operationId: Heartbeats_pingAlertSource + security: [] + parameters: + - $ref: '#/components/parameters/key' + responses: + '202': + description: Arbitrary accept response + post: + tags: + - Heartbeats + summary: Ping heartbeat alert source. + operationId: Heartbeats_pingAlertSource + security: [] + parameters: + - $ref: '#/components/parameters/key' + responses: + '202': + description: Arbitrary accept response + /alert-actions: + get: + tags: + - Alert Actions + summary: Get alert actions. + operationId: AlertActions_getList + parameters: + - description: alert source id + name: source + in: query + schema: + type: number + - description: connector id + name: connector + in: query + schema: + type: string + - $ref: '#/components/parameters/start-index' + - description: >- + the maximum number of results when paging through a list of alert + actions. + in: query + name: max-results + required: false + schema: + type: integer + format: int32 + maximum: 100 + default: 100 + responses: + '200': + description: The filtered alert actions + content: + application/json: + schema: + $ref: '#/components/schemas/AlertActionsGetListResponse' + post: + tags: + - Alert Actions + summary: Create a new alert action. + operationId: AlertActions_createNewAction + requestBody: + $ref: '#/components/requestBodies/AlertAction' + responses: + '200': + description: The newly created alert action + content: + application/json: + schema: + $ref: '#/components/schemas/AlertAction' + /alert-actions/{id}: + get: + tags: + - Alert Actions + summary: Get a specific alert action. + operationId: AlertActions_getSpecificAction + parameters: + - $ref: '#/components/parameters/string-id' + responses: + '200': + description: The requested alert action + content: + application/json: + schema: + $ref: '#/components/schemas/AlertAction' + put: + tags: + - Alert Actions + summary: 'Update the specific alert action. (note: type cannot be changed)' + operationId: AlertActions_updateSpecificAlertAction + parameters: + - $ref: '#/components/parameters/string-id' + requestBody: + $ref: '#/components/requestBodies/AlertAction' + responses: + '200': + description: The updated alert action + content: + application/json: + schema: + $ref: '#/components/schemas/AlertAction' + delete: + tags: + - Alert Actions + summary: Remove a specific alert action. + operationId: AlertActions_removeSpecificAction + parameters: + - $ref: '#/components/parameters/string-id' + responses: + '204': + description: Empty body delete response + /connectors: + get: + tags: + - Connectors + summary: Get connectors. + operationId: Connectors_getAvailableConnectors + parameters: + - $ref: '#/components/parameters/start-index' + - $ref: '#/components/parameters/max-results' + responses: + '200': + description: The connectors + content: + application/json: + schema: + $ref: '#/components/schemas/ConnectorsGetAvailableConnectorsResponse' + post: + tags: + - Connectors + summary: Create a new connector. + operationId: Connectors_createNewConnector + requestBody: + $ref: '#/components/requestBodies/Connector' + responses: + '200': + description: The newly created connector + content: + application/json: + schema: + $ref: '#/components/schemas/Connector' + /connectors/{id}: + get: + tags: + - Connectors + summary: Get a specific connector. + operationId: Connectors_getSpecificConnector + parameters: + - $ref: '#/components/parameters/string-id' + responses: + '200': + description: The requested connector + content: + application/json: + schema: + $ref: '#/components/schemas/Connector' + put: + tags: + - Connectors + summary: 'Update the specific connector. (note: type cannot be changed)' + operationId: Connectors_updateSpecificConnector + parameters: + - $ref: '#/components/parameters/string-id' + requestBody: + $ref: '#/components/requestBodies/Connector' + responses: + '200': + description: The updated connector + content: + application/json: + schema: + $ref: '#/components/schemas/Connector' + delete: + tags: + - Connectors + summary: Remove a specific connector. + operationId: Connectors_removeSpecificConnector + parameters: + - $ref: '#/components/parameters/string-id' + responses: + '204': + description: Empty body delete response + /teams: + get: + tags: + - Teams + summary: Get teams. + operationId: Teams_getAll + parameters: + - $ref: '#/components/parameters/start-index' + - $ref: '#/components/parameters/max-results' + - description: >- + optional, filter teams for specific members (currently only a single + occurrence of this param is allowed) + name: members + in: query + required: false + schema: + type: number + responses: + '200': + description: The teams + content: + application/json: + schema: + $ref: '#/components/schemas/TeamsGetAllResponse' + post: + tags: + - Teams + summary: Create a new team. + operationId: Teams_createNewTeam + requestBody: + $ref: '#/components/requestBodies/Team' + responses: + '200': + description: The newly created team + content: + application/json: + schema: + $ref: '#/components/schemas/Team' + /teams/{id}: + get: + tags: + - Teams + summary: Get a specific team. + operationId: Teams_getDetails + parameters: + - $ref: '#/components/parameters/id' + responses: + '200': + description: The requested team + content: + application/json: + schema: + $ref: '#/components/schemas/Team' + put: + tags: + - Teams + summary: Update the specific team + operationId: Teams_updateSpecificTeam + parameters: + - $ref: '#/components/parameters/id' + requestBody: + $ref: '#/components/requestBodies/Team' + responses: + '200': + description: The updated team + content: + application/json: + schema: + $ref: '#/components/schemas/Team' + delete: + tags: + - Teams + summary: Remove a specific team. + operationId: Teams_removeSpecificTeam + parameters: + - $ref: '#/components/parameters/id' + responses: + '204': + description: Empty body delete response + /teams/{id}/members: + post: + tags: + - Teams + summary: Add a new team member to specific team + operationId: Teams_addNewMember + parameters: + - $ref: '#/components/parameters/id' + requestBody: + description: the team member + content: + application/json: + schema: + $ref: '#/components/schemas/TeamMember' + required: true + responses: + '200': + description: The added team member + content: + application/json: + schema: + $ref: '#/components/schemas/TeamMember' + /teams/{id}/members/{id}: + delete: + tags: + - Teams + summary: Remove a specific member of a specific team. + operationId: Teams_removeSpecificMember + parameters: + - $ref: '#/components/parameters/id' + responses: + '204': + description: Empty body delete response + /reports/alerts: + get: + tags: + - Reports + summary: List alert metrics for the requested resources + operationId: Reports_listAlertMetrics + parameters: + - description: alert source ids to filter metrics for + name: sources + in: query + required: false + schema: + type: number + - description: escalation policy ids to filter metrics for + name: policies + in: query + required: false + schema: + type: number + - description: phone numbers of call routing numbers to filter metrics for + name: numbers + in: query + required: false + schema: + type: string + - description: >- + date-time ISO-UTC e.g. 2021-05-25T21:24:56.771Z, start of the time + range, may not exceed 1 year in total span + name: from + in: query + required: true + schema: + type: string + - description: >- + date-time ISO-UTC e.g. 2021-05-25T21:24:56.771Z, end of the time + range, must be after 'from', must not be in the future + name: until + in: query + required: true + schema: + type: string + - description: >- + Time zone in which the results will be rendered, defaults to + tenant's configured default timezone + name: timezone + in: query + required: false + schema: + type: string + - description: >- + Describes the metric that should be fetched choose one of: COUNT, + MTTA or MTTR - defaults to COUNT + name: metric + in: query + required: false + schema: + type: string + - description: >- + Defines the grouping of metrics, choose one of: DAY, WEEK or MONTH - + defaults to WEEK + name: group-by + in: query + required: false + schema: + type: string + - description: >- + Sets the priority filter that should be applied, choose one of: LOW, + HIGH or ALL - defaults to ALL + name: priority + in: query + required: false + schema: + type: string + responses: + '200': + description: >- + an array of alert report metrics, each metric is another array + containing data in the following order: + + + [long:alertSourceId, long:escalationPolicyId, + string:callRoutingNumberPhoneNumber, string:ISO-8601, long:value] + + + e.g. [ [202541, 13541, "", "2021-08", 15] ] + + + Please note: the ISO-8601 (4th column) in this case depends on the + chosen 'group-by' parameter. DAY=2021-08-01, WEEK=2021-W12, + MONTH=2021-08 + content: + application/json: + schema: + $ref: '#/components/schemas/ReportsListAlertMetricsResponse' + metric sample: + examples: + response: + value: + summary: metric sample + value: + - - 202541 + - 13541 + - '' + - 2021-08 + - 15 + /reports/alerts/summary: + get: + tags: + - Reports + summary: Summarize a list of alert metrics + operationId: Reports_summarizeAlertMetrics + parameters: + - description: alert source ids to filter metrics for + name: sources + in: query + required: false + schema: + type: number + - description: escalation policy ids to filter metrics for + name: policies + in: query + required: false + schema: + type: number + - description: phone numbers of call routing numbers to filter metrics for + name: numbers + in: query + required: false + schema: + type: string + - description: >- + date-time ISO-UTC e.g. 2021-05-25T21:24:56.771Z, start of the time + range, may not exceed 1 year in total span + name: from + in: query + required: true + schema: + type: string + - description: >- + date-time ISO-UTC e.g. 2021-05-25T21:24:56.771Z, end of the time + range, must be after 'from', must not be in the future + name: until + in: query + required: true + schema: + type: string + - description: >- + Time zone in which the results will be rendered, defaults to + tenant's configured default timezone + name: timezone + in: query + required: false + schema: + type: string + - description: >- + Describes the metric that should be fetched choose one of: COUNT, + MTTA or MTTR - defaults to COUNT + name: metric + in: query + required: false + schema: + type: string + - description: >- + Defines the grouping of metrics, choose one of: DAY, WEEK or MONTH - + defaults to WEEK + name: group-by + in: query + required: false + schema: + type: string + - description: >- + Sets the priority filter that should be applied, choose one of: LOW, + HIGH or ALL - defaults to ALL + name: priority + in: query + required: false + schema: + type: string + responses: + '200': + description: >- + an array containing summarized alert report metrics for the + requested resource + content: + application/json: + schema: + $ref: '#/components/schemas/ReportsSummarizeAlertMetricsResponse' + /reports/api-keys/usage: + get: + tags: + - Reports + summary: List API key usage metrics for the requested resources + operationId: Reports_listApiKeyUsageMetrics + description: This endpoint requires 'ADMIN' permissions + parameters: + - description: >- + scopes of our API resources e.g. alert see + https://docs.ilert.com/rest-api/developing-ilert-apps/token-lifetimes-error-codes-app-verification-etc.#ilert-oauth2-scopes + name: scopes + in: query + required: false + schema: + type: string + - description: >- + date-time ISO-UTC e.g. 2021-05-25T21:24:56.771Z, start of the time + range, may not exceed 1 month (31 days) in total span (use this to + paginate) + name: from + in: query + required: true + schema: + type: string + - description: >- + date-time ISO-UTC e.g. 2021-05-25T21:24:56.771Z, end of the time + range, must be after 'from', must not be in the future (use this to + paginate) + name: until + in: query + required: true + schema: + type: string + - description: >- + Time zone in which the results will be rendered, defaults to + tenant's configured default timezone + name: timezone + in: query + required: false + schema: + type: string + responses: + '200': + description: >- + an array of usage metrics, each metric is another array containing + data in the following order: + + + [long:userId, string:scope, string:ISO-8601, long:value] + + + e.g. [ [202541, "source", "2023-04-21", 15] ] + + + Please note: the ISO-8601 (3th column) in this case is always DAY + (2021-08-01) usually 24 hours apart, but there is a slight chance + that the same userId and scope have multiple entries for the same + DAY + content: + application/json: + schema: + $ref: '#/components/schemas/ReportsListApiKeyUsageMetricsResponse' + metric sample: + examples: + response: + value: + summary: metric sample + value: + - - 202541 + - alert + - 2023-04 + - 15 + /incident-templates: + get: + tags: + - Incident Templates + summary: Get incident templates. + operationId: IncidentTemplates_getList + parameters: + - $ref: '#/components/parameters/start-index' + - $ref: '#/components/parameters/max-results' + responses: + '200': + description: The incident templates + content: + application/json: + schema: + $ref: '#/components/schemas/IncidentTemplatesGetListResponse' + post: + tags: + - Incident Templates + summary: Create a new incident template. + operationId: IncidentTemplates_createNewTemplate + requestBody: + $ref: '#/components/requestBodies/IncidentTemplate' + responses: + '200': + description: The newly created incident template + content: + application/json: + schema: + $ref: '#/components/schemas/IncidentTemplate' + /incident-templates/{id}: + get: + tags: + - Incident Templates + summary: Get a specific incident template. + operationId: IncidentTemplates_getSpecificTemplate + parameters: + - $ref: '#/components/parameters/id' + responses: + '200': + description: The requested incident template + content: + application/json: + schema: + $ref: '#/components/schemas/IncidentTemplate' + put: + tags: + - Incident Templates + summary: Update the specific incident template + operationId: IncidentTemplates_updateSpecificTemplate + parameters: + - $ref: '#/components/parameters/id' + requestBody: + $ref: '#/components/requestBodies/IncidentTemplate' + responses: + '200': + description: The updated incident template + content: + application/json: + schema: + $ref: '#/components/schemas/IncidentTemplate' + delete: + tags: + - Incident Templates + summary: Remove a specific incident template. + operationId: IncidentTemplates_removeSpecificTemplate + parameters: + - $ref: '#/components/parameters/id' + responses: + '204': + description: Empty body delete response + /services: + get: + tags: + - Services + summary: Get services. + operationId: Services_listAvailableServices + parameters: + - $ref: '#/components/parameters/start-index' + - description: >- + the maximum number of results when paging through a list of + services. (Note: when using ?include maximum is reduced to 25) + in: query + name: max-results + required: false + schema: + type: integer + format: int32 + maximum: 100 + default: 10 + - description: >- + Describes optional properties that should be included in the + response. You may declare multiple. (subscribed, uptime, incidents) + name: include + in: query + required: false + explode: true + schema: + type: array + items: + type: string + enum: + - subscribed + - uptime + - incidents + responses: + '200': + description: The services + content: + application/json: + schema: + $ref: '#/components/schemas/ServicesListAvailableServicesResponse' + post: + tags: + - Services + summary: Create a new service. + operationId: Services_createService + requestBody: + $ref: '#/components/requestBodies/ServiceNoIncludes' + responses: + '200': + description: The newly created service + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceNoIncludes' + /services/{id}: + get: + tags: + - Services + summary: Get a specific service. + operationId: Services_getSpecificService + parameters: + - $ref: '#/components/parameters/id' + - description: >- + Describes optional properties that should be included in the + response. You may declare multiple. (subscribed, uptime, incidents) + name: include + in: query + required: false + explode: true + schema: + type: array + items: + type: string + enum: + - subscribed + - uptime + - incidents + responses: + '200': + description: The requested service + content: + application/json: + schema: + $ref: '#/components/schemas/Service' + put: + tags: + - Services + summary: Update the specific service + operationId: Services_updateSpecificService + parameters: + - $ref: '#/components/parameters/id' + requestBody: + $ref: '#/components/requestBodies/ServiceNoIncludes' + responses: + '200': + description: The updated service + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceNoIncludes' + delete: + tags: + - Services + summary: Remove a specific service. + operationId: Services_removeSpecificService + parameters: + - $ref: '#/components/parameters/id' + responses: + '204': + description: Empty body delete response + /automation-rules: + get: + tags: + - Automation Rules + summary: Get automation rules. + operationId: AutomationRules_getDeprecatedRules + description: >- + This API has been deprecated, use /alert-actions of type + 'automation_rule' instead. + parameters: + - $ref: '#/components/parameters/start-index' + - $ref: '#/components/parameters/max-results' + - description: >- + The service id for which automation rules are filtered for, this + param is required + name: service + in: query + required: true + schema: + type: number + - description: >- + The alert source id for which automation rules are filtered for, + this param is an alternative to service + name: source + in: query + required: false + schema: + type: number + - description: >- + The status page id for which automation rules are filtered for, this + param is an alternative to service + name: status-page + in: query + required: false + schema: + type: number + responses: + '200': + description: The automation rules + content: + application/json: + schema: + $ref: '#/components/schemas/AutomationRulesGetDeprecatedRulesResponse' + post: + tags: + - Automation Rules + summary: Create a new automation rule. + operationId: AutomationRules_createNewRule + description: >- + This API has been deprecated, use /alert-actions of type + 'automation_rule' instead. + requestBody: + $ref: '#/components/requestBodies/AutomationRule' + responses: + '200': + description: The newly created automation rule + content: + application/json: + schema: + $ref: '#/components/schemas/AutomationRule' + /automation-rules/{id}: + get: + tags: + - Automation Rules + summary: Get a specific automation rule. + operationId: AutomationRules_getSpecificRule + description: >- + This API has been deprecated, use /alert-actions of type + 'automation_rule' instead. + parameters: + - $ref: '#/components/parameters/id' + responses: + '200': + description: The requested automation rule + content: + application/json: + schema: + $ref: '#/components/schemas/AutomationRule' + put: + tags: + - Automation Rules + summary: Update the specific automation rule + operationId: AutomationRules_updateSpecificRule + description: >- + This API has been deprecated, use /alert-actions of type + 'automation_rule' instead. + parameters: + - $ref: '#/components/parameters/id' + requestBody: + $ref: '#/components/requestBodies/AutomationRule' + responses: + '200': + description: The updated automation rule + content: + application/json: + schema: + $ref: '#/components/schemas/AutomationRule' + delete: + tags: + - Automation Rules + summary: Remove a specific automation rule. + operationId: AutomationRules_removeSpecificRule + description: >- + This API has been deprecated, use /alert-actions of type + 'automation_rule' instead. + parameters: + - $ref: '#/components/parameters/id' + responses: + '204': + description: Empty body delete response + /incidents: + get: + tags: + - Incidents + summary: Get incidents. + operationId: Incidents_getIncidentList + parameters: + - $ref: '#/components/parameters/start-index' + - description: >- + the maximum number of results when paging through a list of + incidents. (Note: when using ?include maximum is reduced to 25) + in: query + name: max-results + required: false + schema: + type: integer + format: int32 + maximum: 100 + default: 10 + - description: >- + Describes optional properties that should be included in the + response. You may declare multiple. (subscribed) + name: include + in: query + required: false + explode: true + schema: + type: array + items: + type: string + enum: + - subscribed + - description: state of the alert + in: query + name: states + explode: true + schema: + type: array + items: + type: string + enum: + - INVESTIGATING + - IDENTIFIED + - MONITORING + - RESOLVED + - description: service IDs of the incident's affected services + in: query + name: services + explode: true + schema: + type: array + items: + type: integer + format: int64 + - description: >- + from date, ISO-UTC e.g. 2021-05-25T21:24:56.771Z, based on + reportTime + in: query + name: from + schema: + type: string + format: date-time + - description: >- + until date, ISO-UTC e.g. 2021-05-26T21:24:56.771Z, based on + reportTime + in: query + name: until + schema: + type: string + format: date-time + responses: + '200': + description: The incidents + content: + application/json: + schema: + $ref: '#/components/schemas/IncidentsGetIncidentListResponse' + post: + tags: + - Incidents + summary: Create a new incident. + operationId: Incidents_createNewIncident + description: >- + Note: depending on affected services this will publish notifications to + subscribers. Use /publish-info to forecast notifications. + requestBody: + $ref: '#/components/requestBodies/IncidentNoIncludes' + responses: + '200': + description: The newly created incident + content: + application/json: + schema: + $ref: '#/components/schemas/IncidentNoIncludes' + /incidents/publish-info: + post: + tags: + - Incidents + summary: Forecast the affected subscribers and status pages + operationId: Incidents_forecastAffectedSubscribersAndStatusPages + description: >- + Forecast the affected subscribers and status pages as well as + notifications that would be send out due to created or update incident. + requestBody: + $ref: '#/components/requestBodies/IncidentNoIncludes' + responses: + '200': + description: The forecast for the provided incident + content: + application/json: + schema: + $ref: >- + #/components/schemas/IncidentsForecastAffectedSubscribersAndStatusPagesResponse + /incidents/{id}: + get: + tags: + - Incidents + summary: Get a specific incident. + operationId: Incidents_getSpecificIncident + description: >- + Note: returns an ETag header that can be send to the PUT /incidents/{id} + resource as If-Match header to return a 412 Error in case any related + resources e.g. Services or Incident have been updated in the mean time. + parameters: + - $ref: '#/components/parameters/id' + - description: >- + Describes optional properties that should be included in the + response. You may declare multiple. (subscribed, affectedTeams, + history) + name: include + in: query + required: false + explode: true + schema: + type: array + items: + type: string + enum: + - subscribed + - affectedTeams + - history + responses: + '200': + description: The requested incident + headers: + ETag: + description: >- + Send to the PUT /incidents/{id} resource as If-Match header to + return a 412 Error in case any related resources e.g. Services + or Incident have been updated in the mean time. + schema: + type: string + content: + application/json: + schema: + $ref: '#/components/schemas/IncidentWithHistory' + put: + tags: + - Incidents + summary: Update the specific incident. + operationId: Incidents_updateSpecificIncident + description: >- + Note: the update will be automatically appended to the incident's update + history and publish notifications to subscribers. + parameters: + - $ref: '#/components/parameters/id' + - description: >- + Should be the ETag response header retrieved from GET + /incidents/{id} to prevent updating the incident based on outdated + information. Will return 412 status code in case of conflict. + name: If-Match + in: header + required: false + schema: + type: string + requestBody: + $ref: '#/components/requestBodies/IncidentNoIncludes' + responses: + '200': + description: The updated incident + content: + application/json: + schema: + $ref: '#/components/schemas/IncidentNoIncludes' + /incidents/{id}/private-subscribers: + get: + tags: + - Incidents + summary: Get the subscribers (users and teams) of an incident + operationId: Incidents_getPrivateSubscribers + parameters: + - $ref: '#/components/parameters/id' + responses: + '200': + description: The subscribers of the incident + content: + application/json: + schema: + $ref: '#/components/schemas/IncidentsGetPrivateSubscribersResponse' + post: + tags: + - Incidents + summary: Add subscribers (users and teams) to an incident + operationId: Incidents_addSubscribers + parameters: + - $ref: '#/components/parameters/id' + requestBody: + description: subscribers that should be added + content: + application/json: + schema: + $ref: '#/components/schemas/IncidentsAddSubscribersRequest' + required: true + responses: + '204': + description: '' + /services/{id}/private-subscribers: + get: + tags: + - Services + summary: Get the subscribers (users and teams) of a service + operationId: Services_getSubscribers + parameters: + - $ref: '#/components/parameters/id' + responses: + '200': + description: The subscribers of the service + content: + application/json: + schema: + $ref: '#/components/schemas/ServicesGetSubscribersResponse' + put: + tags: + - Services + summary: Set subscribers (users and teams) of a service + operationId: Services_setPrivateSubscribers + description: 'Note: this is an in place update' + parameters: + - $ref: '#/components/parameters/id' + requestBody: + $ref: '#/components/requestBodies/TeamUserOptionArray' + responses: + '204': + description: '' + /status-pages: + get: + tags: + - Status Pages + summary: Get status pages. + operationId: StatusPages_getStatusPages + parameters: + - $ref: '#/components/parameters/start-index' + - description: >- + the maximum number of results when paging through a list of status + pages. + in: query + name: max-results + required: false + schema: + type: integer + format: int32 + maximum: 50 + default: 25 + - description: >- + Describes optional properties that should be included in the + response. You may declare multiple. (subscribed) + name: include + in: query + required: false + explode: true + schema: + type: array + items: + type: string + enum: + - subscribed + responses: + '200': + description: The status pages + content: + application/json: + schema: + $ref: '#/components/schemas/StatusPagesGetStatusPagesResponse' + post: + tags: + - Status Pages + summary: Create a new status page. + operationId: StatusPages_createNewStatusPage + requestBody: + $ref: '#/components/requestBodies/StatusPageNoIncludes' + responses: + '200': + description: The newly created status page + content: + application/json: + schema: + $ref: '#/components/schemas/StatusPageNoIncludes' + /status-pages/{id}: + get: + tags: + - Status Pages + summary: Get a specific status page. + operationId: StatusPages_getPageDetails + parameters: + - $ref: '#/components/parameters/id' + - description: >- + Describes optional properties that should be included in the + response. You may declare multiple. (subscribed, uptime, groups, + structure). Note: structure is always included by default. + name: include + in: query + required: false + explode: true + schema: + type: array + items: + type: string + enum: + - subscribed + - uptime + - groups + - structure + responses: + '200': + description: The requested status page + content: + application/json: + schema: + $ref: '#/components/schemas/StatusPage' + put: + tags: + - Status Pages + summary: Update the specific status page + operationId: StatusPages_updateSpecificPage + parameters: + - $ref: '#/components/parameters/id' + requestBody: + $ref: '#/components/requestBodies/StatusPageNoIncludes' + responses: + '200': + description: The updated status page + content: + application/json: + schema: + $ref: '#/components/schemas/StatusPageNoIncludes' + delete: + tags: + - Status Pages + summary: Remove a specific status page. + operationId: StatusPages_removeSpecificPage + parameters: + - $ref: '#/components/parameters/id' + responses: + '204': + description: Empty body delete response + /status-pages/{id}/groups: + get: + tags: + - Status Pages + summary: Get the groups of a status page + operationId: StatusPages_getGroups + parameters: + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/start-index' + - $ref: '#/components/parameters/max-results' + responses: + '200': + description: The groups of the status page + content: + application/json: + schema: + $ref: '#/components/schemas/StatusPagesGetGroupsResponse' + post: + tags: + - Status Pages + summary: Add a group to a status page + operationId: StatusPages_addGroupToPage + parameters: + - $ref: '#/components/parameters/id' + requestBody: + description: Group that should be added + content: + application/json: + schema: + $ref: '#/components/schemas/StatusPageGroup' + required: true + responses: + '201': + description: The created group + content: + application/json: + schema: + $ref: '#/components/schemas/StatusPageGroup' + /status-pages/{id}/groups/{group-id}: + get: + tags: + - Status Pages + summary: Get a specific group of a status page + operationId: StatusPages_getSpecificGroup + parameters: + - $ref: '#/components/parameters/id' + - description: entity ID + name: group-id + in: path + required: true + schema: + type: number + responses: + '200': + description: The group of the status page + content: + application/json: + schema: + $ref: '#/components/schemas/StatusPageGroup' + '404': + description: '' + put: + tags: + - Status Pages + summary: Update a group of a status page + operationId: StatusPages_updateGroup + parameters: + - $ref: '#/components/parameters/id' + - description: entity ID + name: group-id + in: path + required: true + schema: + type: number + requestBody: + description: Group that should be updated + content: + application/json: + schema: + $ref: '#/components/schemas/StatusPageGroup' + required: true + responses: + '200': + description: The updated group of the status page + content: + application/json: + schema: + $ref: '#/components/schemas/StatusPageGroup' + delete: + tags: + - Status Pages + summary: Remove group from a status page + operationId: StatusPages_removeGroup + parameters: + - $ref: '#/components/parameters/id' + - description: entity ID + name: group-id + in: path + required: true + schema: + type: number + responses: + '204': + description: '' + /status-pages/{id}/private-subscribers: + get: + tags: + - Status Pages + summary: Get the subscribers (users and teams) of a status page + operationId: StatusPages_getPrivateSubscribers + parameters: + - $ref: '#/components/parameters/id' + responses: + '200': + description: The subscribers of the status page + content: + application/json: + schema: + $ref: '#/components/schemas/StatusPagesGetPrivateSubscribersResponse' + put: + tags: + - Status Pages + summary: Set subscribers (users and teams) of a status page + operationId: StatusPages_setPrivateSubscribers + description: 'Note: this is an in place update' + parameters: + - $ref: '#/components/parameters/id' + requestBody: + $ref: '#/components/requestBodies/TeamUserOptionArray' + responses: + '204': + description: '' + post: + tags: + - Status Pages + summary: Add subscriber (user and team) to a status page + operationId: StatusPages_addSubscriber + parameters: + - $ref: '#/components/parameters/id' + requestBody: + description: subscriber that should be added + content: + application/json: + schema: + $ref: '#/components/schemas/TeamUserOption' + required: true + responses: + '204': + description: '' + delete: + tags: + - Status Pages + summary: Remove subscriber (user and team) from a status page + operationId: StatusPages_removeSubscriber + parameters: + - $ref: '#/components/parameters/id' + requestBody: + description: subscriber that should be removed + content: + application/json: + schema: + $ref: '#/components/schemas/TeamUserOption' + required: true + responses: + '204': + description: '' + /service-outages: + get: + tags: + - Service Outages + summary: Get the outages (including applied overrides) of a specific service + operationId: ServiceOutages_getServiceOutages + parameters: + - description: the id of the service for which the outages should be fetched + in: query + name: service + schema: + type: number + - description: from date, ISO-UTC e.g. 2021-05-25T21:24:56.771Z + in: query + name: from + schema: + type: string + format: date-time + - description: until date, ISO-UTC e.g. 2021-05-26T21:24:56.771Z + in: query + name: until + schema: + type: string + format: date-time + - description: >- + if the outages should not take overrides into account, default is + false + in: query + name: ignore-overrides + schema: + type: boolean + responses: + '200': + description: The outages of the service + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceOutagesGetServiceOutagesResponse' + /service-outages/overrides: + get: + tags: + - Service Outages + summary: Get the overrides of a specific service + operationId: ServiceOutages_getOverrides + parameters: + - description: the id of the service for which the overrides should be fetched + in: query + name: service + schema: + type: number + - description: from date, ISO-UTC e.g. 2021-05-25T21:24:56.771Z + in: query + name: from + schema: + type: string + format: date-time + - description: until date, ISO-UTC e.g. 2021-05-26T21:24:56.771Z + in: query + name: until + schema: + type: string + format: date-time + responses: + '200': + description: The overrides of the service + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceOutagesGetOverridesResponse' + post: + tags: + - Service Outages + summary: Override a part of a service's outage history + operationId: ServiceOutages_overridePartHistory + requestBody: + $ref: '#/components/requestBodies/ServiceOutageOverride' + responses: + '201': + description: The added override + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceOutageOverride' + /service-outages/overrides/{id}: + get: + tags: + - Service Outages + summary: Get the specific service outage override + operationId: ServiceOutages_getSpecificOverride + parameters: + - $ref: '#/components/parameters/id' + responses: + '200': + description: The override + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceOutageOverride' + put: + tags: + - Service Outages + summary: Update an existing service outage override + operationId: ServiceOutages_updateOverride + parameters: + - $ref: '#/components/parameters/id' + requestBody: + $ref: '#/components/requestBodies/ServiceOutageOverride' + responses: + '200': + description: The updated override + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceOutageOverride' + delete: + tags: + - Service Outages + summary: Remove a service outage override + operationId: ServiceOutages_removeOverride + parameters: + - $ref: '#/components/parameters/id' + responses: + '204': + description: '' + /metric-data-sources: + get: + tags: + - Metric Data Sources + summary: Get Metric Data Sources + operationId: MetricDataSources_list + parameters: + - $ref: '#/components/parameters/start-index' + - description: >- + the maximum number of results when paging through a list of metric + data sources + in: query + name: max-results + required: false + schema: + type: integer + format: int32 + maximum: 100 + default: 10 + responses: + '200': + description: The Metric Data Sources + content: + application/json: + schema: + $ref: '#/components/schemas/MetricDataSourcesListResponse' + post: + tags: + - Metric Data Sources + summary: Create a new Metric Data Source. + operationId: MetricDataSources_createNewMetricDataSource + requestBody: + $ref: '#/components/requestBodies/MetricDataSourcePost' + responses: + '200': + description: The newly created Metric Data Source + content: + application/json: + schema: + $ref: '#/components/schemas/MetricDataSource' + /metric-data-sources/{id}: + get: + tags: + - Metric Data Sources + summary: Get a specific Metric Data Source + operationId: MetricDataSources_getSpecificDataSource + parameters: + - description: entity ID + name: id + in: path + required: true + schema: + type: number + responses: + '200': + description: The requested Metric Data Source + content: + application/json: + schema: + $ref: '#/components/schemas/MetricDataSource' + put: + tags: + - Metric Data Sources + summary: Update the specific Metric Data Source + operationId: MetricDataSources_updateSpecificDataSource + parameters: + - description: entity ID + name: id + in: path + required: true + schema: + type: number + requestBody: + $ref: '#/components/requestBodies/MetricDataSourcePost' + responses: + '200': + description: The updated Metric Data Source + content: + application/json: + schema: + $ref: '#/components/schemas/MetricDataSource' + delete: + tags: + - Metric Data Sources + summary: Delete a specific Metric Data Source + operationId: MetricDataSources_deleteSpecificDataSource + parameters: + - description: entity ID + name: id + in: path + required: true + schema: + type: number + responses: + '204': + description: Empty body delete response + /metrics: + get: + tags: + - Metrics + summary: Get metrics. + operationId: Metrics_getMetrics + parameters: + - $ref: '#/components/parameters/start-index' + - description: >- + the maximum number of results when paging through a list of metrics. + (Note: when using ?include maximum is reduced to 25) + in: query + name: max-results + required: false + schema: + type: integer + format: int32 + maximum: 100 + default: 10 + - description: >- + Describes optional properties that should be included in the + response. You may declare multiple. (dataSource, integrationKey) + name: include + in: query + required: false + explode: true + schema: + type: array + items: + type: string + enum: + - dataSource + - integrationKey + responses: + '200': + description: The metrics + content: + application/json: + schema: + $ref: '#/components/schemas/MetricsGetMetricsResponse' + post: + tags: + - Metrics + summary: Create a new metric. + operationId: Metrics_createNewMetric + requestBody: + $ref: '#/components/requestBodies/MetricPost' + responses: + '200': + description: The newly created metric + content: + application/json: + schema: + $ref: '#/components/schemas/Metric' + /metric/{id}: + get: + tags: + - Metrics + summary: Get a specific Metric + operationId: Metrics_getSpecificMetric + parameters: + - description: entity ID + name: id + in: path + required: true + schema: + type: number + responses: + '200': + description: The requested metric + content: + application/json: + schema: + $ref: '#/components/schemas/Metric' + put: + tags: + - Metrics + summary: Update the specific Metric + operationId: Metrics_updateSpecificMetric + parameters: + - description: entity ID + name: id + in: path + required: true + schema: + type: number + requestBody: + $ref: '#/components/requestBodies/MetricPost' + responses: + '200': + description: The updated metric + content: + application/json: + schema: + $ref: '#/components/schemas/Metric' + delete: + tags: + - Metrics + summary: Delete the specific Metric + operationId: Metrics_deleteSpecificMetric + parameters: + - description: entity ID + name: id + in: path + required: true + schema: + type: number + responses: + '204': + description: Empty body delete response +components: + parameters: + id: + description: entity ID + name: id + in: path + required: true + schema: + type: number + string-id: + description: entity ID + name: id + in: path + required: true + schema: + type: string + user-id-in-path: + description: numeric user id + name: user-id + in: path + required: true + schema: + type: string + include: + description: Describes optional properties that should be included in the response. + name: include + in: query + required: false + schema: + type: string + user-id-in-query: + description: numeric user id + name: user + in: query + schema: + type: string + source-id-or-key: + description: numeric source id or api key + name: source-id + in: path + required: true + schema: + type: string + requester-id: + description: id of the user who requested this operation + in: query + name: requester-id + schema: + type: string + start-index: + description: >- + an integer specifying the starting point (beginning with 0) when paging + through a list of entities + in: query + name: start-index + required: false + schema: + type: integer + format: int32 + default: 0 + max-results: + description: the maximum number of results when paging through a list of entities. + in: query + name: max-results + required: false + schema: + type: integer + format: int32 + maximum: 100 + default: 50 + key: + description: api key of resource + name: key + in: path + required: true + schema: + type: string + requestBodies: + Connector: + description: the connector + content: + application/json: + schema: + $ref: '#/components/schemas/Connector' + required: true + AlertSourceRel: + description: the alert source + content: + application/json: + schema: + $ref: '#/components/schemas/AlertSourceRel' + required: true + ServiceOutageOverride: + description: override that should be made + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceOutageOverride' + required: true + TeamUserOptionArray: + description: subscribers that should be adjusted + content: + application/json: + schema: + $ref: '#/components/schemas/ServicesSetPrivateSubscribersRequest' + required: true + MaintenanceWindow: + description: the maintenance window + content: + application/json: + schema: + $ref: '#/components/schemas/MaintenanceWindow' + required: true + MetricPost: + description: The metric + content: + application/json: + schema: + $ref: '#/components/schemas/MetricPost' + required: true + Schedule: + description: >- + The on-call schedule. (scheduleLayers [only available for RECURRING + schedules], shifts [only available for STATIC schedules]) + content: + application/json: + schema: + $ref: '#/components/schemas/Schedule' + required: true + SupportHour: + description: the support hour + content: + application/json: + schema: + $ref: '#/components/schemas/SupportHour' + required: true + AlertAction: + description: the alert action + content: + application/json: + schema: + $ref: '#/components/schemas/AlertAction' + required: true + Team: + description: the team + content: + application/json: + schema: + $ref: '#/components/schemas/Team' + required: true + IncidentTemplate: + description: the incident template + content: + application/json: + schema: + $ref: '#/components/schemas/IncidentTemplate' + required: true + ServiceNoIncludes: + description: the service + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceNoIncludes' + required: true + AutomationRule: + description: the automation rule + content: + application/json: + schema: + $ref: '#/components/schemas/AutomationRule' + required: true + IncidentNoIncludes: + description: the incident + content: + application/json: + schema: + $ref: '#/components/schemas/IncidentNoIncludes' + required: true + StatusPageNoIncludes: + description: the status page + content: + application/json: + schema: + $ref: '#/components/schemas/StatusPageNoIncludes' + required: true + MetricDataSourcePost: + description: The metric data source + content: + application/json: + schema: + $ref: '#/components/schemas/MetricDataSourcePost' + required: true + securitySchemes: + apiKey: + description: >- + The Bearer API key of your user more info. + type: apiKey + in: header + name: Authorization + schemas: + ContactStatus: + type: string + enum: + - OK + - LOCKED + - BLACKLISTED + ContactPhoneNumber: + type: object + properties: + id: + type: integer + format: int64 + regionCode: + type: string + target: + type: string + primary: + description: May only be enabled for a single phone number contact at a time + type: boolean + status: + $ref: '#/components/schemas/ContactStatus' + ContactPhoneNumberPost: + type: object + properties: + regionCode: + type: string + target: + type: string + primary: + description: May only be enabled for a single phone number contact at a time + type: boolean + TimeZone: + type: string + enum: + - Europe/Berlin + - America/New_York + - America/Los_Angeles + - Asia/Istanbul + OutboundNumber: + type: object + properties: + countryCode: + type: string + phoneNumber: + type: string + supportsInboundSms: + type: boolean + types: + type: array + items: + type: string + enum: + - SMS + - VOICE + Integration: + type: object + properties: + id: + type: string + name: + type: string + type: + type: string + enum: + - INBOUND + - NATIVE + - OUTBOUND + iconUrl: + type: string + documentationUrl: + type: string + integrationPath: + type: string + Role: + type: string + enum: + - STAKEHOLDER + - GUEST + - RESPONDER + - USER + - ADMIN + TeamRole: + type: string + enum: + - STAKEHOLDER + - RESPONDER + - USER + - ADMIN + UserRel: + type: object + required: + - id + properties: + id: + type: integer + format: int64 + firstName: + type: string + lastName: + type: string + User: + type: object + required: + - firstName + - lastName + - email + properties: + id: + type: integer + format: int64 + firstName: + type: string + lastName: + type: string + email: + type: string + timezone: + $ref: '#/components/schemas/TimeZone' + position: + type: string + department: + type: string + avatarUrl: + type: string + readOnly: true + language: + type: string + enum: + - DE + - EN + role: + $ref: '#/components/schemas/Role' + shiftColor: + description: Optional hex-color code for the user's shifts in schedules calendars + type: string + mutedUntil: + description: Date in ISO-8601 + type: string + format: date-time + createdAt: + description: Date in ISO-8601 + type: string + format: date-time + updatedAt: + description: Date in ISO-8601 + type: string + format: date-time + UserPost: + type: object + required: + - firstName + - lastName + - email + properties: + firstName: + type: string + lastName: + type: string + email: + type: string + timezone: + $ref: '#/components/schemas/TimeZone' + position: + type: string + department: + type: string + avatarUrl: + type: string + readOnly: true + language: + type: string + enum: + - DE + - EN + role: + $ref: '#/components/schemas/Role' + shiftColor: + description: Optional hex-color code for the user's shifts in schedules calendars + type: string + ContactEmail: + type: object + properties: + id: + type: integer + format: int64 + target: + type: string + status: + $ref: '#/components/schemas/ContactStatus' + ContactEmailPost: + type: object + properties: + target: + type: string + NotificationPreferenceAlertMethod: + type: string + enum: + - EMAIL + - SMS + - PUSH + - VOICE + - WHATSAPP + - TELEGRAM + NotificationPreferenceAlertType: + type: string + enum: + - LOW_PRIORITY + - HIGH_PRIORITY + NotificationPreferencesAlertDelayMin: + type: integer + minimum: '0' + maximum: '120' + NotificationPreferencesAlert: + type: object + properties: + id: + type: integer + format: int64 + method: + $ref: '#/components/schemas/NotificationPreferenceAlertMethod' + contact: + oneOf: + - $ref: '#/components/schemas/ContactPhoneNumber' + - $ref: '#/components/schemas/ContactEmail' + delayMin: + $ref: '#/components/schemas/NotificationPreferencesAlertDelayMin' + type: + $ref: '#/components/schemas/NotificationPreferenceAlertType' + NotificationPreferencesAlertPost: + type: object + properties: + method: + $ref: '#/components/schemas/NotificationPreferenceAlertMethod' + contact: + oneOf: + - $ref: '#/components/schemas/ContactPhoneNumber' + - $ref: '#/components/schemas/ContactEmail' + delayMin: + $ref: '#/components/schemas/NotificationPreferencesAlertDelayMin' + type: + $ref: '#/components/schemas/NotificationPreferenceAlertType' + NotificationPreferencesDutyTypes: + type: string + enum: + - ON_CALL + NotificationPreferencesDutyBeforeMin: + type: integer + enum: + - 0 + - 15 + - 30 + - 60 + - 180 + - 360 + - 720 + - 1440 + NotificationPreferenceDutyMethod: + type: string + enum: + - EMAIL + - SMS + - PUSH + - WHATSAPP + - TELEGRAM + NotificationPreferencesDuty: + type: object + properties: + id: + type: integer + format: int64 + beforeMin: + $ref: '#/components/schemas/NotificationPreferencesDutyBeforeMin' + contact: + oneOf: + - $ref: '#/components/schemas/ContactPhoneNumber' + - $ref: '#/components/schemas/ContactEmail' + method: + $ref: '#/components/schemas/NotificationPreferenceDutyMethod' + type: + $ref: '#/components/schemas/NotificationPreferencesDutyTypes' + NotificationPreferencesDutyPost: + type: object + properties: + beforeMin: + $ref: '#/components/schemas/NotificationPreferencesDutyBeforeMin' + contact: + oneOf: + - $ref: '#/components/schemas/ContactPhoneNumber' + - $ref: '#/components/schemas/ContactEmail' + method: + $ref: '#/components/schemas/NotificationPreferenceDutyMethod' + type: + $ref: '#/components/schemas/NotificationPreferencesDutyTypes' + NotificationPreferenceUpdateMethod: + type: string + enum: + - EMAIL + - SMS + - PUSH + - WHATSAPP + - TELEGRAM + NotificationPreferencesUpdateType: + type: string + enum: + - ALERT_ACCEPTED + - ALERT_RESOLVED + - ALERT_ESCALATED + NotificationPreferencesUpdate: + type: object + properties: + id: + type: integer + format: int64 + contact: + oneOf: + - $ref: '#/components/schemas/ContactPhoneNumber' + - $ref: '#/components/schemas/ContactEmail' + method: + $ref: '#/components/schemas/NotificationPreferenceUpdateMethod' + type: + $ref: '#/components/schemas/NotificationPreferencesUpdateType' + NotificationPreferencesUpdatePost: + type: object + properties: + contact: + oneOf: + - $ref: '#/components/schemas/ContactPhoneNumber' + - $ref: '#/components/schemas/ContactEmail' + method: + $ref: '#/components/schemas/NotificationPreferenceUpdateMethod' + type: + $ref: '#/components/schemas/NotificationPreferencesUpdateType' + NotificationPreferenceSubscriptionMethod: + type: string + enum: + - EMAIL + - SMS + - PUSH + NotificationPreferencesSubscription: + type: object + properties: + id: + type: integer + format: int64 + contact: + oneOf: + - $ref: '#/components/schemas/ContactPhoneNumber' + - $ref: '#/components/schemas/ContactEmail' + method: + $ref: '#/components/schemas/NotificationPreferenceSubscriptionMethod' + NotificationPreferencesSubscriptionPost: + type: object + properties: + contact: + oneOf: + - $ref: '#/components/schemas/ContactPhoneNumber' + - $ref: '#/components/schemas/ContactEmail' + method: + $ref: '#/components/schemas/NotificationPreferenceSubscriptionMethod' + EscalationRule: + type: object + required: + - escalationTimeout + properties: + escalationTimeout: + type: integer + user: + description: 'This field (type: User) is deprecated, please use ''users'' instead' + type: object + properties: + id: + type: number + schedule: + description: >- + This field (type: Schedule) is deprecated, please use 'schedules' + instead + type: object + properties: + id: + type: number + users: + type: array + items: + $ref: '#/components/schemas/UserRel' + schedules: + type: array + items: + $ref: '#/components/schemas/ScheduleRel' + EscalationPolicy: + type: object + required: + - name + - escalationRules + properties: + id: + type: integer + format: int64 + name: + type: string + escalationRules: + type: array + items: + $ref: '#/components/schemas/EscalationRule' + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + repeating: + type: boolean + default: false + frequency: + type: integer + format: int32 + minimum: 1 + maximum: 9 + default: 1 + delayMin: + type: integer + format: int32 + minimum: 0 + maximum: 15 + default: 0 + routingKey: + description: optional + type: string + AlertPriority: + type: string + enum: + - HIGH + - LOW + AlertPriorityRule: + type: string + enum: + - HIGH + - LOW + - HIGH_DURING_SUPPORT_HOURS + - LOW_DURING_SUPPORT_HOURS + SupportHour: + type: object + required: + - name + - timezone + - supportDays + properties: + id: + type: integer + format: int64 + name: + type: string + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + timezone: + $ref: '#/components/schemas/TimeZone' + supportDays: + type: object + properties: + MONDAY: + $ref: '#/components/schemas/SupportDay' + TUESDAY: + $ref: '#/components/schemas/SupportDay' + WEDNESDAY: + $ref: '#/components/schemas/SupportDay' + THURSDAY: + $ref: '#/components/schemas/SupportDay' + FRIDAY: + $ref: '#/components/schemas/SupportDay' + SATURDAY: + $ref: '#/components/schemas/SupportDay' + SUNDAY: + $ref: '#/components/schemas/SupportDay' + SupportDay: + type: object + required: + - start + - end + properties: + start: + type: string + format: time + end: + type: string + format: time + IntegrationType: + type: string + enum: + - NAGIOS + - ICINGA + - EMAIL + - SMS + - API + - CRN + - HEARTBEAT + - PRTG + - PINGDOM + - CLOUDWATCH + - AWSPHD + - STACKDRIVER + - INSTANA + - ZABBIX + - SOLARWINDS + - PROMETHEUS + - NEWRELIC + - GRAFANA + - GITHUB + - DATADOG + - UPTIMEROBOT + - APPDYNAMICS + - DYNATRACE + - TOPDESK + - STATUSCAKE + - MONITOR + - TOOL + - CHECKMK + - AUTOTASK + - AWSBUDGET + - SEARCHGUARD + - SERVERDENSITY + - ZAPIER + - KENTIXAM + - CONSUL + - ZAMMAD + - SIGNALFX + - SPLUNK + - KUBERNETES + - SEMATEXT + - SENTRY + - SUMOLOGIC + - RAYGUN + - MXTOOLBOX + - ESWATCHER + - AMAZONSNS + - KAPACITOR + - CORTEXXSOAR + - SENSU + - JUMPCLOUD + - SALESFORCE + - GUARDDUTY + - STATUSHUB + - IXON + - APIFORTRESS + - FRESHSERVICE + - APPSIGNAL + - LIGHTSTEP + - IBMCLOUDFUNCTIONS + - CROWDSTRIKE + - HUMIO + - OHDEAR + - MONGODBATLAS + - GITLAB + - HYPERPING + - PAPRISMACLOUD + - SAMSARA + - PANDORAFMS + - MSSCOM + - TWILIO + - CISCOMERAKI + - CHECKLY + - POSTHOG + - GOOGLESCC + - SLACK + - MSTEAMS + - UPTIMEKUMA + - TWILIOERRORS + - PARTICLE + - CLOUDFLARE + - TULIP + - GRAYLOG + - CATCHPOINT + - LOKI + - CORTEX + - MIMIR + AlertActionType: + type: string + enum: + - datadog + - autotask + - jira + - microsoft_teams + - servicenow + - slack + - webhook + - zendesk + - discord + - github + - topdesk + - aws_lambda + - azure_faas + - google_faas + - email + - sysdig + - zapier + - zammad + - mattermost + - zoom_chat + - zoom_meeting + - status_page_io + - webex + - dingtalk + - dingtalk_action + - aws_event_bridge + - auvik + - dynamic + - zabbix + - automation_rule + - telegram + ConnectorType: + type: string + enum: + - datadog + - jira + - microsoft_teams + - servicenow + - slack + - zendesk + - discord + - github + - topdesk + - aws_lambda + - azure_faas + - google_faas + - sysdig + - zammad + - mattermost + - zoom_chat + - zoom_meeting + - status_page_io + - webex + - dingtalk + - auvik + - dynamic + - zabbix + ScheduleRel: + type: object + properties: + id: + type: integer + format: int64 + name: + type: string + type: + type: string + enum: + - STATIC + - RECURRING + Schedule: + type: object + properties: + id: + type: integer + format: int64 + name: + type: string + timezone: + $ref: '#/components/schemas/TimeZone' + type: + type: string + enum: + - STATIC + - RECURRING + scheduleLayers: + type: array + items: + $ref: '#/components/schemas/ScheduleLayerConfig' + shifts: + type: array + items: + $ref: '#/components/schemas/ShiftRel' + showGaps: + type: boolean + defaultShiftDuration: + type: string + format: P7D + currentShift: + $ref: '#/components/schemas/ShiftRel' + nextShift: + $ref: '#/components/schemas/ShiftRel' + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + ShiftRel: + type: object + properties: + user: + $ref: '#/components/schemas/UserRel' + end: + type: string + format: date-time + start: + type: string + format: date-time + Shift: + type: object + properties: + user: + $ref: '#/components/schemas/User' + end: + type: string + format: date-time + start: + type: string + format: date-time + ScheduleLayerConfig: + type: object + required: + - startsOn + - users + - rotation + properties: + name: + type: string + startsOn: + type: string + format: date-time + endsOn: + type: string + format: date-time + users: + type: array + items: + $ref: '#/components/schemas/UserRel' + rotation: + type: string + format: P7D + restrictionType: + description: >- + Note: 'TIMES_OF_DAY' is just a UI state representation, the API + always uses 'TIMES_OF_WEEK' + type: string + enum: + - TIMES_OF_WEEK + restrictions: + type: array + items: + $ref: '#/components/schemas/ScheduleLayerRestriction' + ScheduleLayerRestriction: + type: object + required: + - from + - to + properties: + from: + $ref: '#/components/schemas/TimeOfWeek' + to: + $ref: '#/components/schemas/TimeOfWeek' + TimeOfWeek: + type: object + required: + - dayOfWeek + - time + properties: + dayOfWeek: + type: string + enum: + - MONDAY + - TUESDAY + - WEDNESDAY + - THURSDAY + - FRIDAY + - SATURDAY + - SUNDAY + time: + type: string + format: '15:00' + Connector: + type: object + required: + - type + - name + properties: + id: + type: string + type: + $ref: '#/components/schemas/ConnectorType' + name: + type: string + createdAt: + type: string + format: date-time + updatedAt: + type: string + format: date-time + params: + type: object + oneOf: + - $ref: '#/components/schemas/EParamsDatadog' + - $ref: '#/components/schemas/EParamsJira' + - $ref: '#/components/schemas/EParamsMicrosoftTeams' + - $ref: '#/components/schemas/EParamsServiceNow' + - $ref: '#/components/schemas/EParamsSlack' + - $ref: '#/components/schemas/EParamsZendesk' + - $ref: '#/components/schemas/EParamsDiscord' + - $ref: '#/components/schemas/EParamsGithub' + - $ref: '#/components/schemas/EParamsTopdesk' + - $ref: '#/components/schemas/EParamsAWSLambda' + - $ref: '#/components/schemas/EParamsAzureFunction' + - $ref: '#/components/schemas/EParamsGoogleFunction' + - $ref: '#/components/schemas/EParamsSysdig' + - $ref: '#/components/schemas/EParamsStatusPageIO' + - $ref: '#/components/schemas/EParamsDingTalk' + - $ref: '#/components/schemas/EParamsZabbix' + EParamsZabbix: + type: object + properties: + url: + type: string + apiKey: + type: string + EParamsDingTalk: + type: object + properties: + url: + type: string + secret: + type: string + EParamsDatadog: + type: object + properties: + apiKey: + type: string + EParamsJira: + type: object + properties: + url: + type: string + email: + type: string + password: + type: string + EParamsMicrosoftTeams: + type: object + properties: + url: + type: string + EParamsServiceNow: + type: object + properties: + url: + type: string + username: + type: string + password: + type: string + EParamsSlack: + type: object + properties: {} + EParamsZendesk: + type: object + properties: + url: + type: string + email: + type: string + apiKey: + type: string + EParamsDiscord: + type: object + properties: + url: + type: string + EParamsGithub: + type: object + properties: + apiKey: + type: string + EParamsTopdesk: + type: object + properties: + url: + type: string + username: + type: string + password: + type: string + EParamsAWSLambda: + type: object + properties: + authorization: + type: string + EParamsAzureFunction: + type: object + properties: + authorization: + type: string + EParamsGoogleFunction: + type: object + properties: + authorization: + type: string + EParamsSysdig: + type: object + properties: + apiKey: + type: string + EParamsStatusPageIO: + type: object + properties: + apiKey: + type: string + AlertAction: + type: object + required: + - connectorType + - name + properties: + id: + type: string + alertSources: + type: array + items: + $ref: '#/components/schemas/AlertSource' + connectorId: + type: string + connectorType: + $ref: '#/components/schemas/AlertActionType' + name: + type: string + createdAt: + type: string + format: date-time + updatedAt: + type: string + format: date-time + triggerMode: + type: string + enum: + - AUTOMATIC + - MANUAL + bidirectional: + type: boolean + readOnly: true + delaySec: + description: May only be used with triggerType 'alert-escalation-ended' selected + type: number + minimum: 0 + maximum: 7200 + triggerTypes: + type: array + items: + type: string + enum: + - alert-created + - alert-assigned + - alert-auto-escalated + - alert-acknowledged + - alert-raised + - alert-comment-added + - alert-escalation-ended + - alert-resolved + - alert-responder-added + - alert-responder-removed + - alert-channel-attached + - alert-channel-detached + alertFilter: + type: object + properties: + operator: + type: string + enum: + - AND + - OR + predicates: + type: array + items: + type: object + properties: + field: + type: string + enum: + - ALERT_SUMMARY + - ALERT_DETAILS + - ESCALATION_POLICY + - ALERT_PRIORITY + criteria: + type: string + enum: + - CONTAINS_ANY_WORDS + - CONTAINS_NOT_WORDS + - CONTAINS_STRING + - CONTAINS_NOT_STRING + - IS_STRING + - IS_NOT_STRING + - MATCHES_REGEX + - MATCHES_NOT_REGEX + value: + type: string + params: + type: object + oneOf: + - $ref: '#/components/schemas/CParamsDatadog' + - $ref: '#/components/schemas/CParamsJira' + - $ref: '#/components/schemas/CParamsMicrosoftTeams' + - $ref: '#/components/schemas/CParamsMicrosoftTeamsWebhookOnly' + - $ref: '#/components/schemas/CParamsServiceNow' + - $ref: '#/components/schemas/CParamsAutotask' + - $ref: '#/components/schemas/CParamsSlack' + - $ref: '#/components/schemas/CParamsWebhook' + - $ref: '#/components/schemas/CParamsZendesk' + - $ref: '#/components/schemas/CParamsDiscord' + - $ref: '#/components/schemas/CParamsGithub' + - $ref: '#/components/schemas/CParamsTopdesk' + - $ref: '#/components/schemas/CParamsAWSLambda' + - $ref: '#/components/schemas/CParamsAzureFunction' + - $ref: '#/components/schemas/CParamsGoogleFunction' + - $ref: '#/components/schemas/CParamsEmail' + - $ref: '#/components/schemas/CParamsSysdig' + - $ref: '#/components/schemas/CParamsZapier' + - $ref: '#/components/schemas/CParamsZoomChat' + - $ref: '#/components/schemas/CParamsZoomMeeting' + - $ref: '#/components/schemas/CParamsStatusPageIO' + - $ref: '#/components/schemas/CParamsDingTalk' + - $ref: '#/components/schemas/CParamsDingTalkAction' + - $ref: '#/components/schemas/CParamsAutomationRule' + - $ref: '#/components/schemas/CParamsAutomationRule' + - $ref: '#/components/schemas/CParamsTelegram' + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + CParamsAutomationRule: + type: object + required: + - alertType + - serviceStatus + - serviceIds + properties: + alertType: + type: string + enum: + - CREATED + - ACCEPTED + resolveIncident: + type: boolean + default: false + serviceStatus: + $ref: '#/components/schemas/ServiceStatus' + templateId: + type: integer + format: int64 + sendNotification: + type: boolean + default: false + serviceIds: + type: array + items: + type: integer + format: int64 + CParamsTelegram: + type: object + required: + - channelId + properties: + channelId: + description: The telegram group id, usually i64, as string + type: string + CParamsDingTalk: + type: object + properties: + isAtAll: + type: boolean + atMobiles: + type: array + items: + type: string + CParamsDingTalkAction: + type: object + properties: + url: + type: string + secret: + type: string + isAtAll: + type: boolean + atMobiles: + type: array + items: + type: string + CParamsDatadog: + type: object + properties: + tags: + type: array + items: + type: string + priority: + type: string + site: + type: string + CParamsJira: + type: object + properties: + project: + type: string + issueType: + type: string + bodyTemplate: + type: string + CParamsServiceNow: + type: object + properties: + callerId: + type: string + impact: + type: string + urgency: + type: string + closeCode: + type: string + assignmentGroup: + type: string + ownerGroup: + type: string + service: + type: string + serviceOffering: + type: string + contactType: + type: string + CParamsAutotask: + type: object + required: + - queueId + properties: + companyId: + type: string + queueId: + type: string + ticketCategory: + type: string + ticketType: + type: string + noteType: + type: string + notePublish: + type: string + status: + type: string + CParamsMicrosoftTeamsWebhookOnly: + type: object + properties: {} + CParamsMicrosoftTeams: + type: object + required: + - channelId + - teamId + properties: + channelId: + type: string + channelName: + type: string + teamId: + type: string + teamName: + type: string + type: + type: string + enum: + - chat + - meeting + CParamsSlack: + type: object + required: + - channelId + properties: + channelId: + type: string + channelName: + type: string + teamDomain: + type: string + teamId: + type: string + CParamsWebhook: + type: object + properties: + webhookUrl: + type: string + bodyTemplate: + type: string + CParamsZendesk: + type: object + properties: + priority: + type: string + CParamsDiscord: + type: object + properties: {} + CParamsGithub: + type: object + properties: + owner: + type: string + repository: + type: string + labels: + type: array + items: + type: string + CParamsTopdesk: + type: object + properties: + status: + type: string + CParamsAWSLambda: + type: object + properties: + webhookUrl: + type: string + bodyTemplate: + type: string + CParamsAzureFunction: + type: object + properties: + webhookUrl: + type: string + bodyTemplate: + type: string + CParamsGoogleFunction: + type: object + properties: + webhookUrl: + type: string + bodyTemplate: + type: string + CParamsEmail: + type: object + properties: + recipients: + type: array + items: + type: string + subject: + type: string + bodyTemplate: + type: string + CParamsSysdig: + type: object + properties: + tags: + type: array + items: + type: string + eventFilter: + type: string + CParamsZapier: + type: object + properties: + webhookUrl: + type: string + CParamsZoomChat: + type: object + properties: + channelId: + type: string + CParamsZoomMeeting: + type: object + properties: + password: + type: string + CParamsStatusPageIO: + type: object + properties: + pageId: + type: string + MaintenanceWindow: + type: object + properties: + summary: + type: string + description: + type: string + timezone: + $ref: '#/components/schemas/TimeZone' + start: + type: string + format: date-time + end: + type: string + format: date-time + alertSources: + type: array + items: + $ref: '#/components/schemas/AlertSource' + maxItems: 50 + services: + type: array + items: + $ref: '#/components/schemas/ServiceNoIncludes' + maxItems: 50 + createdBy: + type: string + readOnly: true + notifications: + type: object + properties: + atCreation: + type: boolean + atStart: + type: boolean + atEnd: + type: boolean + TeamRel: + type: object + properties: + id: + type: integer + format: int64 + name: + type: string + Team: + type: object + properties: + id: + type: integer + format: int64 + name: + type: string + visibility: + $ref: '#/components/schemas/TeamVisibilityType' + members: + type: array + items: + $ref: '#/components/schemas/TeamMember' + createdAt: + description: Date in ISO-8601 + type: string + format: date-time + updatedAt: + description: Date in ISO-8601 + type: string + format: date-time + TeamVisibilityType: + type: string + enum: + - PUBLIC + - PRIVATE + TeamMember: + type: object + properties: + user: + $ref: '#/components/schemas/User' + role: + $ref: '#/components/schemas/TeamRole' + OnCall: + type: object + properties: + user: + $ref: '#/components/schemas/User' + escalationPolicy: + $ref: '#/components/schemas/EscalationPolicy' + schedule: + $ref: '#/components/schemas/ScheduleRel' + start: + type: string + format: date-time + end: + type: string + format: date-time + escalationLevel: + type: number + AlertSource: + type: object + required: + - name + - escalationPolicy + - integrationType + properties: + id: + type: integer + format: int64 + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + name: + type: string + iconUrl: + type: string + lightIconUrl: + type: string + darkIconUrl: + type: string + escalationPolicy: + $ref: '#/components/schemas/EscalationPolicy' + integrationType: + $ref: '#/components/schemas/IntegrationType' + integrationKey: + type: string + integrationUrl: + type: string + readOnly: true + autoResolutionTimeout: + type: string + format: ISO-8601 + alertGroupingWindow: + type: string + format: ISO-8601 + alertCreation: + type: string + default: ONE_ALERT_PER_EMAIL + enum: + - ONE_ALERT_PER_EMAIL + - ONE_ALERT_PER_EMAIL_SUBJECT + - ONE_PENDING_ALERT_ALLOWED + - ONE_OPEN_ALERT_ALLOWED + - OPEN_RESOLVE_ON_EXTRACTION + - ONE_ALERT_GROUPED_PER_WINDOW + status: + type: string + readOnly: true + enum: + - PENDING + - ALL_ACCEPTED + - ALL_RESOLVED + - IN_MAINTENANCE + - DISABLED + emailFiltered: + type: boolean + default: false + emailResolveFiltered: + type: boolean + default: false + active: + type: boolean + default: true + emailPredicates: + type: array + items: + type: object + properties: + field: + type: string + enum: + - EMAIL_FROM + - EMAIL_SUBJECT + - EMAIL_BODY + criteria: + type: string + enum: + - CONTAINS_ANY_WORDS + - CONTAINS_NOT_WORDS + - CONTAINS_STRING + - CONTAINS_NOT_STRING + - IS_STRING + - IS_NOT_STRING + - MATCHES_REGEX + - MATCHES_NOT_REGEX + value: + type: string + emailResolvePredicates: + type: array + items: + type: object + properties: + field: + type: string + enum: + - EMAIL_FROM + - EMAIL_SUBJECT + - EMAIL_BODY + criteria: + type: string + enum: + - CONTAINS_ANY_WORDS + - CONTAINS_NOT_WORDS + - CONTAINS_STRING + - CONTAINS_NOT_STRING + - IS_STRING + - IS_NOT_STRING + - MATCHES_REGEX + - MATCHES_NOT_REGEX + value: + type: string + resolveKeyExtractor: + type: object + properties: + field: + type: string + enum: + - EMAIL_SUBJECT + - EMAIL_BODY + criteria: + type: string + enum: + - ALL_TEXT_BEFORE + - MATCHES_REGEX + - ALL_TEXT_AFTER + value: + type: string + filterOperator: + type: string + enum: + - AND + - OR + resolveFilterOperator: + type: string + enum: + - AND + - OR + alertPriorityRule: + $ref: '#/components/schemas/AlertPriorityRule' + supportHours: + $ref: '#/components/schemas/SupportHour' + heartbeat: + type: object + properties: + summary: + type: string + intervalSec: + type: integer + status: + type: string + readOnly: true + enum: + - OVERDUE + - ON_TIME + - NEVER_RECEIVED + lastPingReceivedAt: + type: string + format: date-time + readOnly: true + bidirectional: + type: boolean + readOnly: true + summaryTemplate: + $ref: '#/components/schemas/AlertSourceTemplate' + detailsTemplate: + $ref: '#/components/schemas/AlertSourceTemplate' + routingTemplate: + $ref: '#/components/schemas/AlertSourceTemplate' + linkTemplates: + type: array + items: + $ref: '#/components/schemas/AlertSourceLinkTemplate' + priorityTemplate: + $ref: '#/components/schemas/AlertSourcePriorityTemplate' + AlertSourceTemplate: + type: object + properties: + textTemplate: + description: >- + For more information on alert source templating, please visit: + https://docs.ilert.com/alerting/alert-sources#alert-template. + + Example:
`Hi {{ users[0].name }} there!` + + You can use the text template instead of elements by adding the + include `textTemplate` to your request. Any version can be used for + POST or PUT requests. + type: string + elements: + type: array + items: + $ref: '#/components/schemas/AlertSourceTemplateElement' + AlertSourceTemplateElement: + type: object + required: + - type, val + properties: + type: + type: string + enum: + - TEXT + - VAR + - RAW + val: + type: string + func: + type: string + args: + type: array + items: + $ref: '#/components/schemas/AlertSourceTemplateElementArg' + AlertSourceTemplateElementArg: + type: object + properties: + S: + type: string + 'N': + type: integer + AlertSourceLinkTemplate: + type: object + required: + - text + - hrefTemplate + properties: + text: + type: string + hrefTemplate: + $ref: '#/components/schemas/AlertSourceTemplate' + AlertSourcePriorityTemplate: + type: object + required: + - valueTemplate + - mappings + properties: + valueTemplate: + $ref: '#/components/schemas/AlertSourceTemplate' + mappings: + type: array + items: + $ref: '#/components/schemas/AlertSourcePriorityTemplateMapping' + AlertSourcePriorityTemplateMapping: + type: object + required: + - value + - priority + properties: + value: + type: string + priority: + type: string + enum: + - LOW + - HIGH + AlertSourceNoIncludes: + type: object + required: + - name + - escalationPolicy + - integrationType + properties: + id: + type: integer + format: int64 + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + name: + type: string + iconUrl: + type: string + lightIconUrl: + type: string + darkIconUrl: + type: string + escalationPolicy: + $ref: '#/components/schemas/EscalationPolicy' + integrationType: + $ref: '#/components/schemas/IntegrationType' + integrationKey: + type: string + integrationUrl: + type: string + readOnly: true + autoResolutionTimeout: + type: string + format: ISO-8601 + alertGroupingWindow: + type: string + format: ISO-8601 + alertCreation: + type: string + default: ONE_ALERT_PER_EMAIL + enum: + - ONE_ALERT_PER_EMAIL + - ONE_ALERT_PER_EMAIL_SUBJECT + - ONE_PENDING_ALERT_ALLOWED + - ONE_OPEN_ALERT_ALLOWED + - OPEN_RESOLVE_ON_EXTRACTION + - ONE_ALERT_GROUPED_PER_WINDOW + status: + type: string + readOnly: true + enum: + - PENDING + - ALL_ACCEPTED + - ALL_RESOLVED + - IN_MAINTENANCE + - DISABLED + emailFiltered: + type: boolean + default: false + emailResolveFiltered: + type: boolean + default: false + active: + type: boolean + default: true + emailPredicates: + type: array + items: + type: object + properties: + field: + type: string + enum: + - EMAIL_FROM + - EMAIL_SUBJECT + - EMAIL_BODY + criteria: + type: string + enum: + - CONTAINS_ANY_WORDS + - CONTAINS_NOT_WORDS + - CONTAINS_STRING + - CONTAINS_NOT_STRING + - IS_STRING + - IS_NOT_STRING + - MATCHES_REGEX + - MATCHES_NOT_REGEX + value: + type: string + emailResolvePredicates: + type: array + items: + type: object + properties: + field: + type: string + enum: + - EMAIL_FROM + - EMAIL_SUBJECT + - EMAIL_BODY + criteria: + type: string + enum: + - CONTAINS_ANY_WORDS + - CONTAINS_NOT_WORDS + - CONTAINS_STRING + - CONTAINS_NOT_STRING + - IS_STRING + - IS_NOT_STRING + - MATCHES_REGEX + - MATCHES_NOT_REGEX + value: + type: string + resolveKeyExtractor: + type: object + properties: + field: + type: string + enum: + - EMAIL_SUBJECT + - EMAIL_BODY + criteria: + type: string + enum: + - ALL_TEXT_BEFORE + - MATCHES_REGEX + - ALL_TEXT_AFTER + value: + type: string + filterOperator: + type: string + enum: + - AND + - OR + resolveFilterOperator: + type: string + enum: + - AND + - OR + alertPriorityRule: + $ref: '#/components/schemas/AlertPriorityRule' + supportHours: + $ref: '#/components/schemas/SupportHour' + heartbeat: + type: object + properties: + summary: + type: string + intervalSec: + type: integer + status: + type: string + readOnly: true + enum: + - OVERDUE + - ON_TIME + - NEVER_RECEIVED + lastPingReceivedAt: + type: string + format: date-time + readOnly: true + bidirectional: + type: boolean + readOnly: true + AlertSourceRel: + type: object + required: + - name + - escalationPolicy + - integrationType + properties: + id: + type: integer + format: int64 + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + name: + type: string + iconUrl: + type: string + lightIconUrl: + type: string + darkIconUrl: + type: string + escalationPolicy: + $ref: '#/components/schemas/EscalationPolicy' + integrationType: + $ref: '#/components/schemas/IntegrationType' + integrationKey: + type: string + integrationUrl: + type: string + readOnly: true + autoResolutionTimeout: + type: string + format: ISO-8601 + alertGroupingWindow: + type: string + format: ISO-8601 + alertCreation: + type: string + default: ONE_ALERT_PER_EMAIL + enum: + - ONE_ALERT_PER_EMAIL + - ONE_ALERT_PER_EMAIL_SUBJECT + - ONE_PENDING_ALERT_ALLOWED + - ONE_OPEN_ALERT_ALLOWED + - OPEN_RESOLVE_ON_EXTRACTION + - ONE_ALERT_GROUPED_PER_WINDOW + status: + type: string + readOnly: true + enum: + - PENDING + - ALL_ACCEPTED + - ALL_RESOLVED + - IN_MAINTENANCE + - DISABLED + emailFiltered: + type: boolean + default: false + emailResolveFiltered: + type: boolean + default: false + active: + type: boolean + default: true + emailPredicates: + type: array + items: + type: object + properties: + field: + type: string + enum: + - EMAIL_FROM + - EMAIL_SUBJECT + - EMAIL_BODY + criteria: + type: string + enum: + - CONTAINS_ANY_WORDS + - CONTAINS_NOT_WORDS + - CONTAINS_STRING + - CONTAINS_NOT_STRING + - IS_STRING + - IS_NOT_STRING + - MATCHES_REGEX + - MATCHES_NOT_REGEX + value: + type: string + emailResolvePredicates: + type: array + items: + type: object + properties: + field: + type: string + enum: + - EMAIL_FROM + - EMAIL_SUBJECT + - EMAIL_BODY + criteria: + type: string + enum: + - CONTAINS_ANY_WORDS + - CONTAINS_NOT_WORDS + - CONTAINS_STRING + - CONTAINS_NOT_STRING + - IS_STRING + - IS_NOT_STRING + - MATCHES_REGEX + - MATCHES_NOT_REGEX + value: + type: string + resolveKeyExtractor: + type: object + properties: + field: + type: string + enum: + - EMAIL_SUBJECT + - EMAIL_BODY + criteria: + type: string + enum: + - ALL_TEXT_BEFORE + - MATCHES_REGEX + - ALL_TEXT_AFTER + value: + type: string + filterOperator: + type: string + enum: + - AND + - OR + resolveFilterOperator: + type: string + enum: + - AND + - OR + alertPriorityRule: + $ref: '#/components/schemas/AlertPriorityRule' + supportHours: + $ref: '#/components/schemas/SimpleIdField64' + heartbeat: + type: object + properties: + summary: + type: string + intervalSec: + type: integer + status: + type: string + readOnly: true + enum: + - OVERDUE + - ON_TIME + - NEVER_RECEIVED + lastPingReceivedAt: + type: string + format: date-time + readOnly: true + bidirectional: + type: boolean + readOnly: true + summaryTemplate: + $ref: '#/components/schemas/AlertSourceTemplate' + detailsTemplate: + $ref: '#/components/schemas/AlertSourceTemplate' + routingTemplate: + $ref: '#/components/schemas/AlertSourceTemplate' + linkTemplates: + type: array + items: + $ref: '#/components/schemas/AlertSourceLinkTemplate' + priorityTemplate: + $ref: '#/components/schemas/AlertSourcePriorityTemplate' + SimpleIdField64: + description: >- + For POST and PUT requests only the id field is required for sub + entities, e.g. status page -> service, alert source -> support hour + type: object + required: + - id + properties: + id: + type: integer + format: int64 + SimpleIdFieldStr: + type: object + required: + - id + properties: + id: + type: string + ManualAlert: + type: object + required: + - summary + - alertSource + properties: + summary: + type: string + details: + type: string + alertSource: + $ref: '#/components/schemas/SimpleIdField64' + escalationPolicy: + $ref: '#/components/schemas/SimpleIdField64' + priority: + $ref: '#/components/schemas/AlertPriority' + assignedTo: + description: >- + This field (type: User) is deprecated, please use 'responders' + instead + type: object + properties: + id: + type: number + images: + type: array + items: + $ref: '#/components/schemas/EventImage' + links: + type: array + items: + $ref: '#/components/schemas/EventLink' + responders: + description: List of responders (users), only user.id is required. + type: array + items: + type: object + properties: + user: + $ref: '#/components/schemas/UserRel' + AlertResponder: + type: object + properties: + user: + $ref: '#/components/schemas/UserRel' + status: + type: string + enum: + - PENDING + - ACCEPTED + acceptedAt: + type: string + format: date-time + Alert: + type: object + properties: + summary: + type: string + id: + type: integer + format: int64 + details: + type: string + reportTime: + type: string + format: date-time + resolvedOn: + type: string + format: date-time + status: + type: string + enum: + - PENDING + - ACCEPTED + - RESOLVED + alertSource: + $ref: '#/components/schemas/AlertSource' + escalationPolicy: + $ref: '#/components/schemas/EscalationPolicy' + priority: + $ref: '#/components/schemas/AlertPriority' + alertKey: + type: string + assignedTo: + description: >- + This field (type: User) is deprecated, please use 'responders' + instead + type: object + properties: + id: + type: number + nextEscalation: + type: string + format: date-time + readOnly: true + escalationRules: + type: array + items: + $ref: '#/components/schemas/EscalationRule' + readOnly: true + nextEscalationUser: + $ref: '#/components/schemas/User' + nextEscalationRuleIndex: + type: number + readOnly: true + images: + type: array + items: + $ref: '#/components/schemas/EventImage' + links: + type: array + items: + $ref: '#/components/schemas/EventLink' + responders: + readOnly: true + type: array + items: + $ref: '#/components/schemas/AlertResponder' + EventImage: + type: object + properties: + src: + type: string + href: + type: string + alt: + type: string + EventLink: + type: object + properties: + href: + type: string + text: + type: string + EventComment: + type: object + properties: + creator: + type: string + content: + type: string + SuggestedResponder: + type: object + properties: + group: + type: string + enum: + - SUGGESTED + - USER + - ESCALATION_POLICY + - ON_CALL_SCHEDULE + id: + type: number + name: + type: string + disabled: + type: boolean + Notification: + type: object + properties: + id: + type: integer + format: int64 + method: + type: string + enum: + - PUSH + - VOICE + - SMS + - EMAIL + - WHATSAPP + target: + type: string + subject: + type: string + alertId: + type: integer + format: int64 + user: + type: object + properties: + id: + type: integer + format: int64 + firstname: + type: string + lastname: + type: string + notificationTime: + type: string + format: date-time + status: + type: string + enum: + - SCHEDULED + - SUCCESS + - ERROR + errorMessage: + description: An error message in case the notification status is ERROR. + type: string + LogEntry: + type: object + properties: + id: + type: integer + format: int64 + timestamp: + type: string + format: date-time + logEntryType: + type: string + enum: + - ConnectorAutomaticResultErrorLogEntry + - ConnectorAutomaticResultLogEntry + - AlertActionErrorLogEntry + - AlertActionFailLogEntry + - AlertActionSuccessLogEntry + - AlertNotRoutedLogEntry + - AlertReceivedLogEntry + - AlertRoutedSuccessfulLogEntry + - AlertSourceResponseLogEntry + - CallLogEntry + - EmailReceivedLogEntry + - EmailResolvedLogEntry + - FilterableLogEntryType + - HeartbeatOverdueLogEntry + - HeartbeatResolvedLogEntry + - AlertAssignedBySystemLogEntry + - AlertAssignedByUserLogEntry + - AlertAssignedToPolicyLogEntry + - AlertAssignedToScheduleLogEntry + - AlertAutoResolvedLogEntry + - AlertCommentAddedBySystemLogEntry + - AlertCommentAddedLogEntry + - AlertCommentPublishedLogEntry + - AlertCreatedByUserLogEntry + - AlertRaisedBySystemLogEntry + - AlertRaisedByUserLogEntry + - AlertSummaryChangedLogEntry + - IncomingCallLogEntry + - LowPriorityCallLog + - MailboxCallLogEntry + - MailboxRecordReceivedLog + - MailboxTranscribedReceivedLog + - NobodyOnCallLogEntry + - NotificationLogEntry + - ParallelCallLogEntry + - PhoneNumberNotSetLogEntry + - PhoneNumberBlockedLogEntry + - QueueResultLogEntry + - StakeholderAddedBySystemLogEntry + - StakeholderAddedLogEntry + - StakeholderRemovedLogEntry + - StakeholderResubscribedLogEntry + - StakeholderUnsubscribedLogEntry + - UserResponseLogEntry + - InComIncidentCreatedLogEntry + - InComIncidentResolvedLogEntry + - InComServiceTransitionLogEntry + - InComLinkedLogEntry + - InComUnlinkedLogEntry + - AlertChannelAttachedByUserLogEntry + - AlertChannelDetachedByUserLogEntry + - AlertEscalatedToLevelLogEntry + text: + type: string + alertId: + type: integer + format: int64 + filterTypes: + type: array + items: + $ref: '#/components/schemas/LogFilterType' + vars: + type: object + properties: {} + additionalProperties: + type: string + LogFilterType: + type: string + enum: + - NOTIFICATIONS + - ALERT_SOURCE_EVENTS + - CALL_ROUTING_EVENTS + - ALERT_UPDATES + - CONNECTOR_EVENTS + SingleTimePoint: + type: object + required: + - value + properties: + timestamp: + description: The unix epoch second of your time point + type: number + format: int64 + value: + description: Value of your time point + type: number + format: double + MultipleTimePoint: + type: object + required: + - value + properties: + series: + type: array + items: + $ref: '#/components/schemas/SingleTimePoint' + SeriesOption: + description: >- + Can either be a single time point, omitting timestamp field is allowed + as it will be replaced with now() - or a series of multiple time points + type: object + oneOf: + - $ref: '#/components/schemas/SingleTimePoint' + - $ref: '#/components/schemas/MultipleTimePoint' + MetricAggregationType: + type: string + enum: + - AVG + - SUM + - MIN + - MAX + - LAST + MetricDisplayType: + type: string + enum: + - GRAPH + - SINGLE + MetricDataSourceType: + type: string + enum: + - DATADOG + - PROMETHEUS + Event: + type: object + required: + - apiKey + - eventType + - summary + properties: + summary: + description: >- + The event summary. Will be used as the alert summary if a new alert + will be created. + type: string + apiKey: + type: string + eventType: + description: the event type + type: string + enum: + - ALERT + - ACCEPT + - RESOLVE + - COMMENT + details: + description: >- + The event details. Will be used as the alert details if a new alert + will be created. + type: string + alertKey: + description: >- + Used to deduplicate events. If an open alert with the key already + exists, the event will be appended to the alert's event log. + Otherwise a new alert will be created + type: string + priority: + $ref: '#/components/schemas/AlertPriority' + images: + type: array + items: + $ref: '#/components/schemas/EventImage' + links: + type: array + items: + $ref: '#/components/schemas/EventLink' + comments: + type: array + items: + $ref: '#/components/schemas/EventComment' + customDetails: + type: object + properties: {} + additionalProperties: true + routingKey: + description: >- + Optional routing key that overwrites the escalation policy of the + alert source for ALERT events. Must map to routingKey of escalation + policy + type: string + EventResponse: + type: object + properties: {} + CountResponse: + type: object + properties: + count: + type: integer + format: int64 + RestError: + type: object + properties: + status: + type: integer + message: + type: string + AlertActionTrigger: + type: object + properties: + alertActionId: + type: string + connectorId: + type: string + type: + type: string + name: + type: string + iconUrl: + type: string + history: + type: array + items: + $ref: '#/components/schemas/AlertActionResult' + AlertActionResult: + type: object + properties: + id: + type: string + alertActionId: + type: string + connectorId: + type: string + alertId: + type: number + success: + type: boolean + actor: + $ref: '#/components/schemas/User' + IncidentStatus: + description: the incident status + type: string + enum: + - INVESTIGATING + - IDENTIFIED + - MONITORING + - RESOLVED + IncidentTemplate: + type: object + properties: + summary: + type: string + id: + type: number + name: + type: string + status: + $ref: '#/components/schemas/IncidentStatus' + message: + type: string + sendNotification: + type: boolean + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + ServiceStatus: + description: the service status + type: string + enum: + - OPERATIONAL + - UNDER_MAINTENANCE + - DEGRADED + - PARTIAL_OUTAGE + - MAJOR_OUTAGE + ServiceOutage: + type: object + properties: + status: + $ref: '#/components/schemas/ServiceStatus' + from: + type: string + format: date-time + until: + type: string + format: date-time + ServiceOutageOverride: + type: object + properties: + id: + type: string + service: + $ref: '#/components/schemas/ServiceNoIncludes' + status: + $ref: '#/components/schemas/ServiceStatus' + from: + type: string + format: date-time + until: + type: string + format: date-time + ServiceUptimePercentage: + type: object + properties: + uptimePercentage: + type: object + properties: + p90: + type: number + format: float + minimum: 0 + maximum: 100 + readOnly: true + p60: + type: number + format: float + minimum: 0 + maximum: 100 + readOnly: true + p30: + type: number + format: float + minimum: 0 + maximum: 100 + readOnly: true + ServiceUptime: + type: object + properties: + rangeStart: + type: string + format: date-time + rangeEnd: + type: string + format: date-time + outages: + type: array + items: + $ref: '#/components/schemas/ServiceOutage' + uptimePercentage: + $ref: '#/components/schemas/ServiceUptimePercentage' + readOnly: true + Service: + type: object + properties: + description: + type: string + id: + type: number + name: + type: string + status: + $ref: '#/components/schemas/ServiceStatus' + oneOpenIncidentOnly: + type: boolean + showUptimeHistory: + type: boolean + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + subscribed: + type: boolean + readOnly: true + uptime: + $ref: '#/components/schemas/ServiceUptime' + incidents: + description: >- + Note that this only contains the latest 10 unresolved incidents, use + /api/incidents?service=x if more or specific results are needed + type: array + items: + $ref: '#/components/schemas/IncidentNoIncludes' + readOnly: true + ServiceUptimeOnly: + type: object + properties: + description: + type: string + id: + type: number + name: + type: string + status: + $ref: '#/components/schemas/ServiceStatus' + oneOpenIncidentOnly: + type: boolean + showUptimeHistory: + type: boolean + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + uptime: + $ref: '#/components/schemas/ServiceUptime' + ServiceNoIncludes: + type: object + properties: + description: + type: string + id: + type: number + name: + type: string + status: + $ref: '#/components/schemas/ServiceStatus' + oneOpenIncidentOnly: + type: boolean + showUptimeHistory: + type: boolean + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + Incident: + type: object + properties: + summary: + type: string + id: + type: number + status: + $ref: '#/components/schemas/IncidentStatus' + message: + type: string + sendNotification: + type: boolean + createdAt: + type: string + format: date-time + updatedAt: + type: string + format: date-time + affectedServices: + type: array + items: + type: object + properties: + impact: + $ref: '#/components/schemas/ServiceStatus' + service: + $ref: '#/components/schemas/ServiceNoIncludes' + resolvedOn: + type: string + format: date-time + readOnly: true + subscribed: + type: boolean + readOnly: true + affectedTeams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + readOnly: true + IncidentUpdate: + type: object + properties: + id: + type: string + content: + type: string + creator: + $ref: '#/components/schemas/UserRel' + incidentStatus: + $ref: '#/components/schemas/IncidentStatus' + sendNotification: + type: boolean + createdAt: + type: string + format: date-time + IncidentWithHistory: + type: object + properties: + summary: + type: string + id: + type: number + status: + $ref: '#/components/schemas/IncidentStatus' + message: + type: string + sendNotification: + type: boolean + createdAt: + type: string + format: date-time + updatedAt: + type: string + format: date-time + history: + type: array + items: + $ref: '#/components/schemas/IncidentUpdate' + affectedServices: + type: array + items: + type: object + properties: + impact: + $ref: '#/components/schemas/ServiceStatus' + service: + $ref: '#/components/schemas/ServiceNoIncludes' + resolvedOn: + type: string + format: date-time + readOnly: true + subscribed: + type: boolean + readOnly: true + affectedTeams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + readOnly: true + IncidentNoIncludes: + type: object + properties: + summary: + type: string + id: + type: number + status: + $ref: '#/components/schemas/IncidentStatus' + message: + type: string + sendNotification: + type: boolean + createdAt: + description: >- + May be overwritten during the creation of the incident, otherwise + read-only + type: string + format: date-time + updatedAt: + description: >- + May be overwritten during the creation of the incident, otherwise + read-only + type: string + format: date-time + affectedServices: + type: array + items: + type: object + properties: + impact: + $ref: '#/components/schemas/ServiceStatus' + service: + $ref: '#/components/schemas/ServiceNoIncludes' + resolvedOn: + type: string + format: date-time + readOnly: true + AutomationRule: + type: object + properties: + id: + type: string + alertType: + type: string + enum: + - CREATED + - ACCEPTED + resolveIncident: + type: boolean + resolveService: + type: boolean + serviceStatus: + $ref: '#/components/schemas/ServiceStatus' + template: + $ref: '#/components/schemas/IncidentTemplate' + service: + $ref: '#/components/schemas/ServiceNoIncludes' + alertSource: + $ref: '#/components/schemas/AlertSource' + sendNotification: + type: boolean + UIMenuItem: + type: object + properties: + id: + type: number + label: + type: string + TeamUserOption: + type: object + properties: + id: + type: number + name: + type: string + type: + type: string + enum: + - USER + - TEAM + StatusPageGroup: + type: object + properties: + id: + type: number + name: + type: string + StatusPageNoIncludes: + type: object + properties: + id: + type: number + name: + type: string + domain: + type: string + subdomain: + type: string + timezone: + $ref: '#/components/schemas/TimeZone' + faviconUrl: + type: string + logoUrl: + type: string + visibility: + type: string + enum: + - PRIVATE + - PUBLIC + hiddenFromSearch: + type: boolean + showSubscribeAction: + type: boolean + showIncidentHistoryOption: + type: boolean + pageTitle: + type: string + pageDescription: + type: string + pageLayout: + type: string + enum: + - SINGLE_COLUMN + - RESPONSIVE + logoRedirectUrl: + type: string + activated: + type: boolean + status: + $ref: '#/components/schemas/ServiceStatus' + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + services: + type: array + items: + $ref: '#/components/schemas/ServiceNoIncludes' + metrics: + type: array + items: + $ref: '#/components/schemas/MetricNoIncludes' + ipWhitelist: + description: >- + ipv4 or ipv6 addresses to give access to. Can only be set on + 'PRIVATE' status pages + type: array + items: + type: string + structure: + $ref: '#/components/schemas/StatusPageStructure' + appearance: + type: string + enum: + - LIGHT + - DARK + StatusPageElement: + type: object + required: + - id + - type + properties: + id: + description: The id of the service or group that this element references + type: integer + format: int64 + type: + type: string + enum: + - SERVICE + - GROUP + options: + description: >- + Note: 'expand' can only be set when type is 'SERVICE', 'no-graph' + can only be set when type is 'GROUP' + type: string + enum: + - expand + - no-graph + children: + description: >- + Optional children of this element. Note: children may only be added + to elements of type 'GROUP' + type: array + items: + $ref: '#/components/schemas/StatusPageElement' + StatusPageStructure: + description: >- + This field is not available in the list resource. Describes the + structure of a status page. Allows for nesting children. It is not + required unless groups are used. + type: object + properties: + elements: + type: array + items: + $ref: '#/components/schemas/StatusPageElement' + StatusPage: + type: object + properties: + id: + type: number + name: + type: string + domain: + type: string + subdomain: + type: string + timezone: + $ref: '#/components/schemas/TimeZone' + faviconUrl: + type: string + logoUrl: + type: string + visibility: + type: string + enum: + - PRIVATE + - PUBLIC + hiddenFromSearch: + type: boolean + showSubscribeAction: + type: boolean + showIncidentHistoryOption: + type: boolean + pageTitle: + type: string + pageDescription: + type: string + pageLayout: + type: string + enum: + - SINGLE_COLUMN + - RESPONSIVE + logoRedirectUrl: + type: string + activated: + type: boolean + status: + $ref: '#/components/schemas/ServiceStatus' + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + services: + type: array + items: + $ref: '#/components/schemas/ServiceUptimeOnly' + metrics: + type: array + items: + $ref: '#/components/schemas/MetricNoIncludes' + ipWhitelist: + description: >- + ipv4 or ipv6 addresses to give access to. Can only be set on + 'PRIVATE' status pages + type: array + items: + type: string + structure: + $ref: '#/components/schemas/StatusPageStructure' + subscribed: + description: This is an include field, it is not available in the list resource + type: boolean + readOnly: true + groups: + description: >- + This is an include field, it is not available in the list resource. + Read-only, use the sub resource to manipulate groups. + type: array + items: + $ref: '#/components/schemas/StatusPageGroup' + readOnly: true + appearance: + type: string + enum: + - LIGHT + - DARK + StatusPageList: + type: object + properties: + id: + type: number + name: + type: string + domain: + type: string + subdomain: + type: string + timezone: + $ref: '#/components/schemas/TimeZone' + faviconUrl: + type: string + logoUrl: + type: string + visibility: + type: string + enum: + - PRIVATE + - PUBLIC + hiddenFromSearch: + type: boolean + showSubscribeAction: + type: boolean + showIncidentHistoryOption: + type: boolean + pageTitle: + type: string + pageDescription: + type: string + logoRedirectUrl: + type: string + activated: + type: boolean + status: + $ref: '#/components/schemas/ServiceStatus' + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + services: + type: array + items: + $ref: '#/components/schemas/ServiceUptimeOnly' + metrics: + type: array + items: + $ref: '#/components/schemas/MetricNoIncludes' + ipWhitelist: + description: >- + ipv4 or ipv6 addresses to give access to. Can only be set on + 'PRIVATE' status pages + type: array + items: + type: string + subscribed: + description: This is an include field, it is not available in the list resource + type: boolean + readOnly: true + MParamsDatadog: + type: object + required: + - region + - apiKey + - applicationKey + properties: + region: + type: string + apiKey: + type: string + applicationKey: + type: string + MParamsPrometheus: + type: object + required: + - url + - authType + properties: + url: + type: string + authType: + type: string + enum: + - NONE + - BASIC + - HEADER + basicUser: + description: Optional, required for 'BASIC' + type: string + basicPass: + description: Optional, required for 'BASIC' + type: string + headerKey: + description: Optional, required for 'HEADER' + type: string + headerValue: + description: Optional, required for 'HEADER' + type: string + MetricDataSourceMetadata: + oneOf: + - $ref: '#/components/schemas/MParamsDatadog' + - $ref: '#/components/schemas/MParamsPrometheus' + MetricDataSource: + type: object + properties: + id: + type: number + name: + type: string + type: + $ref: '#/components/schemas/MetricDataSourceType' + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + metadata: + $ref: '#/components/schemas/MetricDataSourceMetadata' + MetricDataSourcePost: + type: object + required: + - name + - type + - metadata + properties: + name: + type: string + type: + $ref: '#/components/schemas/MetricDataSourceType' + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + metadata: + $ref: '#/components/schemas/MetricDataSourceMetadata' + MetricDataSourceNoIncludes: + type: object + properties: + id: + type: number + name: + type: string + type: + $ref: '#/components/schemas/MetricDataSourceType' + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + MDataDogMetadata: + type: object + required: + - query + properties: + query: + type: string + MPrometheusMetadata: + type: object + required: + - query + properties: + query: + type: string + MetricMetadata: + description: >- + Only required if the metric has a dataSource. You may not change this + after creation. + oneOf: + - $ref: '#/components/schemas/MDataDogMetadata' + - $ref: '#/components/schemas/MPrometheusMetadata' + default: null + MetricList: + type: object + properties: + description: + type: string + id: + type: number + name: + type: string + aggregationType: + $ref: '#/components/schemas/MetricAggregationType' + displayType: + $ref: '#/components/schemas/MetricDisplayType' + interpolateGaps: + type: boolean + default: false + lockYAxisMax: + type: number + format: double + default: null + lockYAxisMin: + type: number + format: double + default: null + mouseOverDecimal: + type: number + format: int32 + default: 0 + minimum: 0 + maximum: 6 + showValuesOnMouseOver: + type: boolean + default: false + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + unitLabel: + type: string + integrationKey: + type: string + dataSource: + $ref: '#/components/schemas/MetricDataSourceNoIncludes' + Metric: + type: object + properties: + description: + type: string + id: + type: number + name: + type: string + aggregationType: + $ref: '#/components/schemas/MetricAggregationType' + displayType: + $ref: '#/components/schemas/MetricDisplayType' + interpolateGaps: + type: boolean + default: false + lockYAxisMax: + type: number + format: double + default: null + lockYAxisMin: + type: number + format: double + default: null + mouseOverDecimal: + type: number + format: int32 + default: 0 + minimum: 0 + maximum: 6 + showValuesOnMouseOver: + type: boolean + default: false + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + unitLabel: + type: string + integrationKey: + type: string + metadata: + $ref: '#/components/schemas/MetricMetadata' + dataSource: + $ref: '#/components/schemas/MetricDataSource' + MetricNoIncludes: + type: object + properties: + description: + type: string + id: + type: number + name: + type: string + aggregationType: + $ref: '#/components/schemas/MetricAggregationType' + displayType: + $ref: '#/components/schemas/MetricDisplayType' + interpolateGaps: + type: boolean + default: false + lockYAxisMax: + type: number + format: double + default: null + lockYAxisMin: + type: number + format: double + default: null + mouseOverDecimal: + type: number + format: int32 + default: 0 + minimum: 0 + maximum: 6 + showValuesOnMouseOver: + type: boolean + default: false + unitLabel: + type: string + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + MetricPost: + type: object + required: + - name + - displayType + - aggregationType + properties: + description: + type: string + name: + type: string + aggregationType: + $ref: '#/components/schemas/MetricAggregationType' + displayType: + $ref: '#/components/schemas/MetricDisplayType' + interpolateGaps: + type: boolean + default: 'false' + lockYAxisMax: + type: number + format: double + default: null + lockYAxisMin: + type: number + format: double + default: null + mouseOverDecimal: + type: number + format: int32 + default: 0 + minimum: 0 + maximum: 6 + showValuesOnMouseOver: + type: boolean + default: false + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + unitLabel: + type: string + metadata: + $ref: '#/components/schemas/MetricMetadata' + dataSource: + type: object + properties: + id: + description: dataSource is required when providing metadata + type: number + IncidentsAddSubscribersRequest: + type: array + items: + $ref: '#/components/schemas/TeamUserOption' + ServicesSetPrivateSubscribersRequest: + type: array + items: + $ref: '#/components/schemas/TeamUserOption' + ContactsGetUserEmailsResponse: + type: array + items: + $ref: '#/components/schemas/ContactEmail' + ContactsGetUserPhoneNumbersResponse: + type: array + items: + $ref: '#/components/schemas/ContactPhoneNumber' + NotificationPreferencesGetUserAlertsResponse: + type: array + items: + $ref: '#/components/schemas/NotificationPreferencesAlert' + NotificationPreferencesGetUserDutyPreferencesResponse: + type: array + items: + $ref: '#/components/schemas/NotificationPreferencesDuty' + NotificationPreferencesGetUserUpdatePreferencesResponse: + type: array + items: + $ref: '#/components/schemas/NotificationPreferencesUpdate' + NotificationPreferencesGetUserSubscriptionsResponse: + type: array + items: + $ref: '#/components/schemas/NotificationPreferencesSubscription' + NumbersListAvailableNumbersResponse: + type: array + items: + $ref: '#/components/schemas/OutboundNumber' + IntegrationsListAvailableResponse: + type: array + items: + $ref: '#/components/schemas/Integration' + UsersListExistingUsersResponse: + type: array + items: + $ref: '#/components/schemas/User' + AlertsListMatchingCriteriaResponse: + type: array + items: + $ref: '#/components/schemas/Alert' + AlertsGetAssignableRespondersResponse: + type: array + items: + $ref: '#/components/schemas/SuggestedResponder' + AlertsGetNotificationsResponse: + type: array + items: + $ref: '#/components/schemas/Notification' + AlertsGetLogEntriesResponse: + type: array + items: + $ref: '#/components/schemas/LogEntry' + SchedulesListOnCallSchedulesResponse: + type: array + items: + $ref: '#/components/schemas/Schedule' + SchedulesGetShiftsByIdAndDateRangeResponse: + type: array + items: + $ref: '#/components/schemas/Shift' + SchedulesGetOverridesByIdResponse: + type: array + items: + $ref: '#/components/schemas/Shift' + OnCallsListWithFiltersResponse: + type: array + items: + $ref: '#/components/schemas/OnCall' + AlertSourcesListSourcesResponse: + type: array + items: + $ref: '#/components/schemas/AlertSourceNoIncludes' + SupportHoursListResponse: + type: array + items: + $ref: '#/components/schemas/SupportHour' + MaintenanceWindowsListResponse: + type: array + items: + $ref: '#/components/schemas/MaintenanceWindow' + EscalationPoliciesListPoliciesResponse: + type: array + items: + $ref: '#/components/schemas/EscalationPolicy' + AlertActionsGetListResponse: + type: array + items: + $ref: '#/components/schemas/AlertAction' + ConnectorsGetAvailableConnectorsResponse: + type: array + items: + $ref: '#/components/schemas/Connector' + TeamsGetAllResponse: + type: array + items: + $ref: '#/components/schemas/Team' + ReportsListAlertMetricsResponse: + type: array + items: + type: array + items: + oneOf: + - type: number + - type: string + ReportsSummarizeAlertMetricsResponse: + type: array + items: + type: object + properties: + alertSourceId: + type: number + escalationPolicyId: + type: number + callRoutingNumberPhoneNumber: + type: string + count: + type: number + mtta: + type: number + mttr: + type: number + ReportsListApiKeyUsageMetricsResponse: + type: array + items: + type: array + items: + oneOf: + - type: number + - type: string + IncidentTemplatesGetListResponse: + type: array + items: + $ref: '#/components/schemas/IncidentTemplate' + ServicesListAvailableServicesResponse: + type: array + items: + $ref: '#/components/schemas/Service' + AutomationRulesGetDeprecatedRulesResponse: + type: array + items: + $ref: '#/components/schemas/AutomationRule' + IncidentsGetIncidentListResponse: + type: array + items: + $ref: '#/components/schemas/Incident' + IncidentsForecastAffectedSubscribersAndStatusPagesResponse: + type: object + properties: + statusPagesInfo: + $ref: '#/components/schemas/UIMenuItem' + privateStatusPages: + type: number + readOnly: true + publicStatusPages: + type: number + readOnly: true + privateSubscribers: + type: number + readOnly: true + publicSubscribers: + type: number + readOnly: true + IncidentsGetPrivateSubscribersResponse: + type: array + items: + $ref: '#/components/schemas/TeamUserOption' + ServicesGetSubscribersResponse: + type: array + items: + $ref: '#/components/schemas/TeamUserOption' + StatusPagesGetStatusPagesResponse: + type: array + items: + $ref: '#/components/schemas/StatusPageList' + StatusPagesGetGroupsResponse: + type: array + items: + $ref: '#/components/schemas/StatusPageGroup' + StatusPagesGetPrivateSubscribersResponse: + type: array + items: + $ref: '#/components/schemas/TeamUserOption' + ServiceOutagesGetServiceOutagesResponse: + type: array + items: + $ref: '#/components/schemas/ServiceOutage' + ServiceOutagesGetOverridesResponse: + type: array + items: + $ref: '#/components/schemas/ServiceOutageOverride' + MetricDataSourcesListResponse: + type: array + items: + $ref: '#/components/schemas/MetricDataSourceNoIncludes' + MetricsGetMetricsResponse: + type: array + items: + $ref: '#/components/schemas/MetricList' +security: + - apiKey: [] diff --git a/sdks/db/fixed-specs/in-mobile-fixed-spec.yaml b/sdks/db/fixed-specs/in-mobile-fixed-spec.yaml new file mode 100644 index 0000000000..f81a733725 --- /dev/null +++ b/sdks/db/fixed-specs/in-mobile-fixed-spec.yaml @@ -0,0 +1,3402 @@ +openapi: 3.0.0 +info: + title: inMobile REST API + description: "\r\n# Introduction\r\n\r\nThis document is a technical description of our REST API used for external systems to send sms messages and to retrieve a status for each sms message sent and to maintain lists and blacklists.\r\n\r\nIn order to call our API, you need an api key. Log in to your account at https://mm.inmobile.dk, go to the \"API\" menu section and your api key will be available here.\r\n\r\nNOTE: It is required for clients to support tls 1.2 or higher.\r\n\r\n\r\n# Firewall openings\r\n\r\nThis is relevant for status callbacks and incoming SMS messages.\r\n\r\nYou can expect callbacks from one of the following IP ranges:\r\n\r\n* 46.36.205.80/28\r\n* 185.221.37.96/28\r\n\r\nThese are also the ip addresses which will be used for api.inmobile.com and mm.inmobile.dk - ensure access to these 2 ranges are opened in your firewall." + version: version 4 + x-konfig-ignore: + potential-incorrect-type: true +servers: + - url: https://api.inmobile.com +tags: + - name: Lists + - name: Sms - Outgoing + - name: Blacklist + - name: Email + - name: Email Templates + - name: Templates + - name: Sms - Incoming + - name: Gdpr + - name: Tools +paths: + /v4/blacklist: + get: + tags: + - Blacklist + summary: Returns all blacklists (Paged result. Follow _links.next to fetch all) + operationId: Blacklist_GetAll + parameters: + - description: How many records to return (must be between 1 and 250) + name: pageLimit + in: query + schema: + type: integer + format: int32 + x-position: 1 + responses: + '200': + description: A list of all blacklists + content: + application/json: + schema: + $ref: '#/components/schemas/ApiPageModelOfBlacklistOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + post: + tags: + - Blacklist + summary: Create an entry in blacklist + operationId: Blacklist_Create + requestBody: + x-name: blacklist + content: + application/json: + schema: + $ref: '#/components/schemas/BlacklistCreateApiModel' + required: true + x-position: 1 + responses: + '200': + description: The created blacklist + content: + application/json: + schema: + $ref: '#/components/schemas/BlacklistOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '409': + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/blacklist/{blackListId}: + get: + tags: + - Blacklist + summary: Get entry by id + operationId: Blacklist_Get + parameters: + - description: Id of the blacklist + name: blackListId + in: path + required: true + schema: + type: string + format: guid + x-position: 1 + responses: + '200': + description: A blacklist + content: + application/json: + schema: + $ref: '#/components/schemas/BlacklistOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + delete: + tags: + - Blacklist + summary: Delete entry by id + operationId: Blacklist_Delete + parameters: + - description: Id of the blacklist + name: blackListId + in: path + required: true + schema: + type: string + format: guid + x-position: 1 + responses: + '204': + description: '' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/blacklist/ByNumber: + get: + tags: + - Blacklist + summary: Get entry by number + operationId: Blacklist_GetByNumber + parameters: + - name: countryCode + in: query + schema: + type: string + x-position: 1 + - name: phoneNumber + in: query + schema: + type: string + x-position: 2 + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/BlacklistOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + delete: + tags: + - Blacklist + summary: Delete entry by number + operationId: Blacklist_DeleteByNumber + parameters: + - name: countryCode + in: query + schema: + type: string + x-position: 1 + - name: phoneNumber + in: query + schema: + type: string + x-position: 2 + responses: + '204': + description: '' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/email/outgoing/sendusingtemplate: + post: + tags: + - Email + summary: Send an email using a template + operationId: EmailOutgoing_SendUsingTemplate + requestBody: + x-name: request + content: + application/json: + schema: + $ref: '#/components/schemas/EmailOutgoingTemplatePostRequest' + required: true + x-position: 1 + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/EmailOutgoingTemplatePostReply' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/email/outgoing: + post: + tags: + - Email + summary: Send an email + operationId: EmailOutgoing_Send + requestBody: + x-name: request + content: + application/json: + schema: + $ref: '#/components/schemas/EmailOutgoingPostRequest' + required: true + x-position: 1 + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/EmailOutgoingBasePostReply' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/email/outgoing/events: + get: + tags: + - Email + summary: Get email events + operationId: EmailOutgoing_GetEvents + description: >- + Each event will only be returned once. Once called, the event has been + removed from our side and cannot be retrieved again using this method. + parameters: + - description: How many events to return (must be between 1 and 250) + name: limit + in: query + schema: + type: integer + format: int32 + x-position: 1 + responses: + '200': + description: A list of email events + content: + application/json: + schema: + $ref: '#/components/schemas/EmailEventListModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/email/templates: + get: + tags: + - Email Templates + summary: Get all email templates + operationId: EmailTemplates_GetAllEmailTemplates + description: >- + This response is a paged result and will contain the property + '_links.next'. + + If there are more pages, the next page in the paged result will be + provided here. + parameters: + - description: How many records to return (must be between 1 and 250) + name: pageLimit + in: query + schema: + type: integer + format: int32 + x-position: 1 + responses: + '200': + description: A list of email templates + content: + application/json: + schema: + $ref: '#/components/schemas/ApiPageModelOfEmailTemplateOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/email/templates/{id}: + get: + tags: + - Email Templates + summary: Get email template by id + operationId: EmailTemplates_GetEmailTemplate + parameters: + - name: id + in: path + required: true + schema: + type: string + x-position: 1 + responses: + '200': + description: An email template + content: + application/json: + schema: + $ref: '#/components/schemas/EmailTemplateOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/sms/gdpr/deletionrequests: + post: + tags: + - Gdpr + summary: Create information Deletion Request + operationId: Gdpr_DeletionRequests + requestBody: + x-name: deletionRequest + content: + application/json: + schema: + $ref: '#/components/schemas/DeletionRequestCreateInfo' + required: true + x-position: 1 + responses: + '200': + description: The created information Deletion Request + content: + application/json: + schema: + $ref: '#/components/schemas/RequestDeletionOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/lists: + get: + tags: + - Lists + summary: Get all lists + operationId: Lists_GetAllLists + description: >- + This response is a paged result and will contain the property + '_links.next'. + + If there are more pages, the next page in the paged result will be + provided here. + parameters: + - description: How many records to return (must be between 1 and 250) + name: pageLimit + in: query + schema: + type: integer + format: int32 + x-position: 1 + responses: + '200': + description: A list of lists + content: + application/json: + schema: + $ref: '#/components/schemas/ApiPageModelOfGroupOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + post: + tags: + - Lists + summary: Create list + operationId: Lists_CreateList + requestBody: + x-name: list + content: + application/json: + schema: + $ref: '#/components/schemas/GroupInputApiModel' + required: true + x-position: 1 + responses: + '200': + description: The created list + content: + application/json: + schema: + $ref: '#/components/schemas/GroupOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/lists/{listId}: + get: + tags: + - Lists + summary: Get list + operationId: Lists_GetList + parameters: + - description: Id of the list + name: listId + in: path + required: true + schema: + type: string + format: guid + x-position: 1 + responses: + '200': + description: A list + content: + application/json: + schema: + $ref: '#/components/schemas/GroupOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + delete: + tags: + - Lists + summary: Delete list + operationId: Lists_DeleteList + parameters: + - description: Id of the list + name: listId + in: path + required: true + schema: + type: string + format: guid + x-position: 1 + responses: + '204': + description: '' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + put: + tags: + - Lists + summary: Update list + operationId: Lists_UpdateList + parameters: + - description: The id of the list + name: listId + in: path + required: true + schema: + type: string + format: guid + x-position: 1 + requestBody: + description: The list object + x-name: list + content: + application/json: + schema: + $ref: '#/components/schemas/GroupInputApiModel' + required: true + x-position: 2 + responses: + '200': + description: The updated list + content: + application/json: + schema: + $ref: '#/components/schemas/GroupOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/lists/{listId}/recipients: + get: + tags: + - Lists + summary: Get all recipients in a list + operationId: Lists_GetAllRecipient + description: >- + This response is a paged result and will contain the property + '_links.next'. + + If there are more pages, the next page in the paged result will be + provided here. + parameters: + - description: Id of the list + name: listId + in: path + required: true + schema: + type: string + format: guid + x-position: 1 + - description: How many records to return (must be between 1 and 250) + name: pageLimit + in: query + schema: + type: integer + format: int32 + x-position: 2 + responses: + '200': + description: A list of recipients + content: + application/json: + schema: + $ref: '#/components/schemas/ApiPageModelOfRecipientOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + post: + tags: + - Lists + summary: Create recipient + operationId: Lists_CreateRecipient + parameters: + - description: Id of the list + name: listId + in: path + required: true + schema: + type: string + format: guid + x-position: 1 + requestBody: + x-name: recipient + content: + application/json: + schema: + $ref: '#/components/schemas/RecipientCreateApiModel' + required: true + x-position: 2 + responses: + '200': + description: The created recipient + content: + application/json: + schema: + $ref: '#/components/schemas/RecipientOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '409': + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/lists/{listId}/recipients/all: + delete: + tags: + - Lists + summary: Deletes all recipients from a list + operationId: Lists_DeleteAllRecipients + parameters: + - description: Id of the list + name: listId + in: path + required: true + schema: + type: string + format: guid + x-position: 1 + responses: + '204': + description: The affected count + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/lists/{listId}/recipients/{recipientId}: + get: + tags: + - Lists + summary: Get recipient by id + operationId: Lists_GetRecipient + parameters: + - description: Id of the list + name: listId + in: path + required: true + schema: + type: string + format: guid + x-position: 1 + - description: Id of the recipient + name: recipientId + in: path + required: true + schema: + type: string + format: guid + x-position: 2 + responses: + '200': + description: A recipient + content: + application/json: + schema: + $ref: '#/components/schemas/RecipientOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + delete: + tags: + - Lists + summary: Delete recipient by id + operationId: Lists_DeleteRecipient + parameters: + - description: Id of the list + name: listId + in: path + required: true + schema: + type: string + format: guid + x-position: 1 + - description: Id of the recipient + name: recipientId + in: path + required: true + schema: + type: string + format: guid + x-position: 2 + responses: + '204': + description: '' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + put: + tags: + - Lists + summary: Update recipient + operationId: Lists_UpdateRecipient + description: >- + Only mentioned fields are updated, e.g. leave out fields["email"] if you + do not want to update this field. On the other hand, set fields["email"] + = null in case you want to erase the existing value. + parameters: + - description: Id of the list + name: listId + in: path + required: true + schema: + type: string + format: guid + x-position: 1 + - name: recipientId + in: path + required: true + schema: + type: string + format: guid + x-position: 2 + requestBody: + x-name: recipient + content: + application/json: + schema: + $ref: '#/components/schemas/RecipientUpdateApiModel' + required: true + x-position: 3 + responses: + '200': + description: The updated recipient + content: + application/json: + schema: + $ref: '#/components/schemas/RecipientOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '409': + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/lists/{listId}/recipients/ByNumber: + get: + tags: + - Lists + summary: Get recipient by number + operationId: Lists_GetRecipientByNumber + parameters: + - description: Id of the list + name: listId + in: path + required: true + schema: + type: string + format: guid + x-position: 1 + - description: Target countryCode + name: countryCode + in: query + schema: + type: string + x-position: 2 + - description: Target phoneNumber + name: phoneNumber + in: query + schema: + type: string + x-position: 3 + responses: + '200': + description: A recipient + content: + application/json: + schema: + $ref: '#/components/schemas/RecipientOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + delete: + tags: + - Lists + summary: Delete recipient by number + operationId: Lists_DeleteRecipientByNumber + parameters: + - description: Id of the list + name: listId + in: path + required: true + schema: + type: string + format: guid + x-position: 1 + - description: Target countryCode + name: countryCode + in: query + schema: + type: string + x-position: 2 + - description: Target phoneNumber + name: phoneNumber + in: query + schema: + type: string + x-position: 3 + responses: + '204': + description: '' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + post: + tags: + - Lists + summary: Create or update recipient by number + operationId: Lists_CreateOrUpdateRecipientByNumber + parameters: + - description: Id of the list + name: listId + in: path + required: true + schema: + type: string + format: guid + x-position: 1 + - description: Target countryCode + name: countryCode + in: query + schema: + type: string + x-position: 2 + - description: Target phoneNumber + name: phoneNumber + in: query + schema: + type: string + x-position: 3 + requestBody: + x-name: recipient + content: + application/json: + schema: + $ref: '#/components/schemas/RecipientCreateOrUpdateApiModel' + required: true + x-position: 4 + responses: + '200': + description: The created or updated recipient + content: + application/json: + schema: + $ref: '#/components/schemas/RecipientOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/sms/incoming/messages: + get: + tags: + - Sms - Incoming + summary: Get incoming sms messages. + operationId: SmsIncoming_GetMessages + description: >- + Each message will only be returned once. Once called, the message has + been marked as read from our side and cannot be retrieved again using + this method. + + Using api callbacks in combination with this call does not conflict. + parameters: + - description: How many records to return (must be between 1 and 250) + name: limit + in: query + schema: + type: integer + format: int32 + x-position: 1 + responses: + '200': + description: A list of messages + content: + application/json: + schema: + $ref: '#/components/schemas/IncomingMessageListModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/sms/outgoing: + post: + tags: + - Sms - Outgoing + summary: Send sms messages. + operationId: SmsOutgoing_Create + requestBody: + x-name: request + content: + application/json: + schema: + $ref: '#/components/schemas/SmsOutgoingPostRequest' + required: true + x-position: 1 + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/SmsOutgoingPostReply' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + callbacks: + status: + https://[your_domain]/your/desired/path: + post: + summary: Status callback url (Webhook) + description: >- + The status callback url to receive status information on when + sms messages are delivered (or if they fail). + + This is a call done by us to you and the url to be called, is + the one specified when sending the messages. + + Only messages with 100% identical message callbacks will be + grouped together into the same call. Messages with different + callback urls will never be grouped together in a single + callback. + requestBody: + x-name: payload + content: + application/json: + schema: + $ref: '#/components/schemas/StatusReportListModel' + required: true + x-position: 1 + responses: + '200': + description: '' + /v4/sms/outgoing/sendusingquery: + get: + tags: + - Sms - Outgoing + summary: Send sms messages using query parameters. + operationId: SmsOutgoing_SendUsingQueryGET + description: >- + It is strongly recommended to use the POST version instead of this + version to send text messages. This endpoint is only a emergency + fallback option for systems that are not capable of doing an HTTP post. + parameters: + - description: >- + The text message. + + If the max length is exceeded, the message text is truncated and + sent. + name: Text + in: query + schema: + type: string + maxLength: 10000 + minLength: 1 + example: This is a message text to be sent + x-position: 1 + - description: >- + The sender. This can either be a 3-11 chars text sender or an up to + 14 digit long sender number. + + If the max length is exceeded, the string is truncated. + name: From + in: query + schema: + type: string + example: PetShop + x-position: 2 + - description: >- + If true, the message will be shown as a flash message (also known as + a class0 message) on the target phone. If false, it will be received + as a standard text message. + + Default: false + name: Flash + in: query + schema: + type: boolean + nullable: true + example: false + x-position: 3 + - description: >- + The encoding of the message. Can be either "gsm7", "ucs2" or "auto". + + "gsm7" is the default alfabet for text messages and when using gsm7, + a single sms message can contain 160 characters. If the length + exceeeds 160 characters, the message is actually split up into parts + of 153 characters and charged according to this. Please note, that a + few, specific characters fill up 2 bytes and count for 2 letters. + Ref: https://en.wikipedia.org/wiki/GSM_03.38 + + "ucs2"" allows for more non-roman characters to be used along with + smileys. When using this encoding, a single message can consist of + 70 characters. If the message exceeds 70 characters, the final + message is actually split into parts of 67 characters. + + "auto" can be used in case the sender wishes to support non-roman + characters but wants to save the expenses on all the trafic that + only contains gsm characters anyway. + + Default: "gsm7" + name: Encoding + in: query + schema: + type: string + example: gsm7 + x-position: 4 + - description: >- + The msisdn (country code and number) to send to. (Remember to + include countrycode in all numbers, e.g. 4512345678). + + If max length is exceeded, the entire api call will fail. + name: To + in: query + schema: + type: string + maxLength: 20 + minLength: 0 + example: '4512345678' + x-position: 5 + - description: >- + For optimal phone number validation, we encourage you to provide us + with a country code. This can be the numeric country code (like 44) + or the two-letter suffix (like GB). If this field is empty it is + important that you add the country code (e.g 44) in front of the + phone number in “to”. + name: CountryHint + in: query + schema: + type: string + maxLength: 50 + minLength: 0 + example: '45' + x-position: 6 + - description: >- + An optional message id used to identify the message. + + If no message id is provided, a new message id is generated and + assigned to the message. This id must be unique across all messages + created on the same account. + + (In case a previous message has been deleted according to GDPR + deletion rules setup on the specific account, the messageId is + allowed to be reused) + + If max length is exceeded, the entire api call will fail. + name: MessageId + in: query + schema: + type: string + maxLength: 50 + minLength: 1 + example: PetShop + x-position: 7 + - description: >- + If true, this message will be blocked from sending if the target + number is on the account's blacklist. If false, the message will be + sent no matter blacklist settings. + + Default: true + name: RespectBlacklist + in: query + schema: + type: boolean + nullable: true + example: true + x-position: 8 + - description: >- + The validity period in seconds. Minimum is 60 seconds and maximum is + 172800 (48 hours). + + If not specified, the messages is attempted to be delivered in 48 + hours. A typical use of validityPeriod is for messages that makes no + sense to delivery efter er certain time frame, in the case the phone + is turned of, e.g. two factor codes. + + Please note, that messages are still charged even though the + operator is cancelling the delivery attempt due to an exceeded + validity period. + name: ValidityPeriodInSeconds + in: query + schema: + type: integer + format: int32 + maximum: 172800 + minimum: 60 + nullable: true + example: 90 + x-position: 9 + - description: >- + In case you would like a callback from us when the message is + delivered, you can specify it here and we will call it when we have + new message statuses. + + The callback payload will be an array of status objects. + + Api calls sending messages with the same apikey will be subject to + being bulked together. + name: StatusCallbackUrl + in: query + schema: + type: string + maxLength: 500 + minLength: 0 + example: https://[your_domain]/your/desired/path + x-position: 10 + - name: SendTime.UtcTime + in: query + schema: + type: string + format: date-time + x-position: 11 + - name: SendTime.LocalServerTime + in: query + schema: + type: string + format: date-time + x-position: 12 + - description: >- + If set, the message will be cancelled if the same mobile number + already have received a SMS within this specified time period. + + Fx. used to prevent spamming a mobile number. + + Minimum 60 minutes (1 hour) and maximum is 43200 minutes (30 days). + name: MsisdnCooldownInMinutes + in: query + schema: + type: integer + format: int32 + maximum: 43200 + minimum: 60 + nullable: true + example: 1440 + x-position: 13 + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/SmsOutgoingPostReply' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + callbacks: + status: + https://[your_domain]/your/desired/path: + post: + summary: Status callback url (Webhook) + description: >- + The status callback url to receive status information on when + sms messages are delivered (or if they fail). + + This is a call done by us to you and the url to be called, is + the one specified when sending the messages. + + Only messages with 100% identical message callbacks will be + grouped together into the same call. Messages with different + callback urls will never be grouped together in a single + callback. + requestBody: + x-name: payload + content: + application/json: + schema: + $ref: '#/components/schemas/StatusReportListModel' + required: true + x-position: 1 + responses: + '200': + description: '' + post: + tags: + - Sms - Outgoing + summary: Send sms messages using query parameters. + operationId: SmsOutgoing_SendUsingQueryPOST + description: >- + It is strongly recommended to use the POST version instead of this + version to send text messages. This endpoint is only a emergency + fallback option for systems that are not capable of doing an HTTP post. + parameters: + - description: >- + The text message. + + If the max length is exceeded, the message text is truncated and + sent. + name: Text + in: query + schema: + type: string + maxLength: 10000 + minLength: 1 + example: This is a message text to be sent + x-position: 1 + - description: >- + The sender. This can either be a 3-11 chars text sender or an up to + 14 digit long sender number. + + If the max length is exceeded, the string is truncated. + name: From + in: query + schema: + type: string + example: PetShop + x-position: 2 + - description: >- + If true, the message will be shown as a flash message (also known as + a class0 message) on the target phone. If false, it will be received + as a standard text message. + + Default: false + name: Flash + in: query + schema: + type: boolean + nullable: true + example: false + x-position: 3 + - description: >- + The encoding of the message. Can be either "gsm7", "ucs2" or "auto". + + "gsm7" is the default alfabet for text messages and when using gsm7, + a single sms message can contain 160 characters. If the length + exceeeds 160 characters, the message is actually split up into parts + of 153 characters and charged according to this. Please note, that a + few, specific characters fill up 2 bytes and count for 2 letters. + Ref: https://en.wikipedia.org/wiki/GSM_03.38 + + "ucs2"" allows for more non-roman characters to be used along with + smileys. When using this encoding, a single message can consist of + 70 characters. If the message exceeds 70 characters, the final + message is actually split into parts of 67 characters. + + "auto" can be used in case the sender wishes to support non-roman + characters but wants to save the expenses on all the trafic that + only contains gsm characters anyway. + + Default: "gsm7" + name: Encoding + in: query + schema: + type: string + example: gsm7 + x-position: 4 + - description: >- + The msisdn (country code and number) to send to. (Remember to + include countrycode in all numbers, e.g. 4512345678). + + If max length is exceeded, the entire api call will fail. + name: To + in: query + schema: + type: string + maxLength: 20 + minLength: 0 + example: '4512345678' + x-position: 5 + - description: >- + For optimal phone number validation, we encourage you to provide us + with a country code. This can be the numeric country code (like 44) + or the two-letter suffix (like GB). If this field is empty it is + important that you add the country code (e.g 44) in front of the + phone number in “to”. + name: CountryHint + in: query + schema: + type: string + maxLength: 50 + minLength: 0 + example: '45' + x-position: 6 + - description: >- + An optional message id used to identify the message. + + If no message id is provided, a new message id is generated and + assigned to the message. This id must be unique across all messages + created on the same account. + + (In case a previous message has been deleted according to GDPR + deletion rules setup on the specific account, the messageId is + allowed to be reused) + + If max length is exceeded, the entire api call will fail. + name: MessageId + in: query + schema: + type: string + maxLength: 50 + minLength: 1 + example: PetShop + x-position: 7 + - description: >- + If true, this message will be blocked from sending if the target + number is on the account's blacklist. If false, the message will be + sent no matter blacklist settings. + + Default: true + name: RespectBlacklist + in: query + schema: + type: boolean + nullable: true + example: true + x-position: 8 + - description: >- + The validity period in seconds. Minimum is 60 seconds and maximum is + 172800 (48 hours). + + If not specified, the messages is attempted to be delivered in 48 + hours. A typical use of validityPeriod is for messages that makes no + sense to delivery efter er certain time frame, in the case the phone + is turned of, e.g. two factor codes. + + Please note, that messages are still charged even though the + operator is cancelling the delivery attempt due to an exceeded + validity period. + name: ValidityPeriodInSeconds + in: query + schema: + type: integer + format: int32 + maximum: 172800 + minimum: 60 + nullable: true + example: 90 + x-position: 9 + - description: >- + In case you would like a callback from us when the message is + delivered, you can specify it here and we will call it when we have + new message statuses. + + The callback payload will be an array of status objects. + + Api calls sending messages with the same apikey will be subject to + being bulked together. + name: StatusCallbackUrl + in: query + schema: + type: string + maxLength: 500 + minLength: 0 + example: https://[your_domain]/your/desired/path + x-position: 10 + - name: SendTime.UtcTime + in: query + schema: + type: string + format: date-time + x-position: 11 + - name: SendTime.LocalServerTime + in: query + schema: + type: string + format: date-time + x-position: 12 + - description: >- + If set, the message will be cancelled if the same mobile number + already have received a SMS within this specified time period. + + Fx. used to prevent spamming a mobile number. + + Minimum 60 minutes (1 hour) and maximum is 43200 minutes (30 days). + name: MsisdnCooldownInMinutes + in: query + schema: + type: integer + format: int32 + maximum: 43200 + minimum: 60 + nullable: true + example: 1440 + x-position: 13 + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/SmsOutgoingPostReply' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + callbacks: + status: + https://[your_domain]/your/desired/path: + post: + summary: Status callback url (Webhook) + description: >- + The status callback url to receive status information on when + sms messages are delivered (or if they fail). + + This is a call done by us to you and the url to be called, is + the one specified when sending the messages. + + Only messages with 100% identical message callbacks will be + grouped together into the same call. Messages with different + callback urls will never be grouped together in a single + callback. + requestBody: + x-name: payload + content: + application/json: + schema: + $ref: '#/components/schemas/StatusReportListModel' + required: true + x-position: 1 + responses: + '200': + description: '' + /v4/sms/outgoing/sendusingtemplate: + post: + tags: + - Sms - Outgoing + summary: Send sms messages using a template. + operationId: SmsOutgoing_SendUsingTemplate + requestBody: + x-name: request + content: + application/json: + schema: + $ref: '#/components/schemas/SmsOutgoingTemplatePostRequest' + required: true + x-position: 1 + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/SmsOutgoingTemplatePostReply' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + callbacks: + status: + https://[your_domain]/your/desired/path: + post: + summary: Status callback url (Webhook) + description: >- + The status callback url to receive status information on when + sms messages are delivered (or if they fail). + + This is a call done by us to you and the url to be called, is + the one specified when sending the messages. + + Only messages with 100% identical message callbacks will be + grouped together into the same call. Messages with different + callback urls will never be grouped together in a single + callback. + requestBody: + x-name: payload + content: + application/json: + schema: + $ref: '#/components/schemas/StatusReportListModel' + required: true + x-position: 1 + responses: + '200': + description: '' + /v4/sms/outgoing/cancel: + post: + tags: + - Sms - Outgoing + summary: Cancel sms messages + operationId: SmsOutgoing_Cancel + requestBody: + x-name: request + content: + application/json: + schema: + $ref: '#/components/schemas/SmsOutgoingCancelPostRequest' + required: true + x-position: 1 + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/SmsOutgoingCancelPostReply' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/sms/outgoing/reports: + get: + tags: + - Sms - Outgoing + summary: Get sms status reports. + operationId: SmsOutgoing_GetReports + description: >- + Each report will only be returned once. Once called, the status has been + removed from our side and cannot be retrieved again using this method. + + Using api callbacks in combination with this call does not conflict. + parameters: + - description: How many records to return (must be between 1 and 250) + name: limit + in: query + schema: + type: integer + format: int32 + x-position: 1 + responses: + '200': + description: A list of status reports + content: + application/json: + schema: + $ref: '#/components/schemas/StatusReportListModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/sms/templates: + get: + tags: + - Templates + summary: Get all templates + operationId: Templates_GetAllTemplates + description: >- + This response is a paged result and will contain the property + '_links.next'. + + If there are more pages, the next page in the paged result will be + provided here. + parameters: + - description: How many records to return (must be between 1 and 250) + name: pageLimit + in: query + schema: + type: integer + format: int32 + x-position: 1 + responses: + '200': + description: A list of templates + content: + application/json: + schema: + $ref: '#/components/schemas/ApiPageModelOfStandardTextOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/sms/templates/{id}: + get: + tags: + - Templates + summary: Get template by id + operationId: Templates_GetTemplate + parameters: + - name: id + in: path + required: true + schema: + type: string + x-position: 1 + responses: + '200': + description: A template + content: + application/json: + schema: + $ref: '#/components/schemas/StandardTextOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/tools/parsephonenumbers: + post: + tags: + - Tools + summary: Parse phone numbers + operationId: Tools_ParsePhoneNumbers + requestBody: + x-name: request + content: + application/json: + schema: + $ref: '#/components/schemas/ParsePhoneNumberPostRequest' + required: true + x-position: 1 + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ParsePhoneNumberPostReply' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' +components: + schemas: + ApiPageModelOfBlacklistOutputApiModel: + allOf: + - $ref: '#/components/schemas/OutputListApiModelOfBlacklistOutputApiModel' + - type: object + properties: + _links: + $ref: '#/components/schemas/ApiPageLinks' + ApiPageLinks: + type: object + properties: + next: + description: The link to the next page, e.g. /Feature/Something/cAw2WeS3rdf + type: string + example: /Feature/Something/cAw2WeS3rdf + isLastPage: + description: >- + true if this is the last page, false if there are more pages. + NextPageUrl is always defined when this is false and never defined + when it is true. + type: boolean + OutputListApiModelOfBlacklistOutputApiModel: + type: object + properties: + entries: + type: array + items: + $ref: '#/components/schemas/BlacklistOutputApiModel' + BlacklistOutputApiModel: + allOf: + - $ref: '#/components/schemas/BlacklistApiModelbase' + - type: object + properties: + id: + description: The id of the blacklist entry + type: string + format: guid + example: 683862c7-c814-40cc-a74d-048d9f2f8cb7 + created: + description: >- + When the blacklist entry was created e.g. 2001-02-30T14:50:23Z + (UTC time) + type: string + example: '2001-02-30T14:50:23Z' + reasonCode: + description: Why the blacklist was created + example: 5 + oneOf: + - $ref: '#/components/schemas/BlacklistReason' + reasonCodeDescription: + description: Text version of the ReasonCode + type: string + example: AddFromApi + BlacklistReason: + description: |- + 1 = CustomerSpecificUnsubscription + 2 = SharedUnsubscription + 3 = CountryBanLaw + 4 = AddWithUserInterface + 5 = AddFromApi + 6 = Custom + 7 = AddFromCrm + 8 = RecipientSyncRemoval + 9 = Autoblacklist + 10 = SpamLimit + 11 = UnsubscribeForm + 12 = CustomDomain + type: integer + x-enumNames: + - CustomerSpecificUnsubscription + - SharedUnsubscription + - CountryBanLaw + - AddWithUserInterface + - AddFromApi + - Custom + - AddFromCrm + - RecipientSyncRemoval + - Autoblacklist + - SpamLimit + - UnsubscribeForm + - CustomDomain + enum: + - 1 + - 2 + - 3 + - 4 + - 5 + - 6 + - 7 + - 8 + - 9 + - 10 + - 11 + - 12 + BlacklistApiModelbase: + type: object + x-abstract: true + required: + - numberInfo + properties: + numberInfo: + $ref: '#/components/schemas/NumberInfo' + comment: + description: A comment describing the specific blacklisting (optional). + type: string + maxLength: 200 + minLength: 0 + example: Some text provided when created + NumberInfo: + type: object + required: + - countryCode + - phoneNumber + properties: + countryCode: + description: The country code part of the number + type: string + minLength: 1 + example: '45' + phoneNumber: + description: The local phonenumber part of the number + type: string + minLength: 1 + example: '12345678' + ApiErrorMessage: + type: object + properties: + errorMessage: + description: An overall description of the error. + type: string + details: + description: If available, more details will be provided here. + type: array + items: + type: string + BlacklistCreateApiModel: + allOf: + - $ref: '#/components/schemas/BlacklistApiModelbase' + - type: object + properties: + removeFromAllLists: + description: >- + If true, the number will also be removed from all lists. + Default: false + type: boolean + nullable: true + example: false + EmailOutgoingTemplatePostReply: + allOf: + - $ref: '#/components/schemas/EmailOutgoingBasePostReply' + - type: object + properties: + usedPlaceholderKeys: + description: A list of used placeholder keys + type: array + example: + - '{name}' + - '{lastname}' + items: + type: string + notUsedPlaceholderKeys: + description: A list of not used placeholder keys + type: array + example: + - '{name}' + - '{lastname}' + items: + type: string + EmailOutgoingBasePostReply: + type: object + properties: + messageId: + description: >- + An optional message id used to identify the message. + + If no message id is provided, a new message id is generated and + assigned to the message. This id must be unique across all messages + created on the same account. + + (In case a previous message has been deleted according to GDPR + deletion rules setup on the specific account, the messageId is + allowed to be reused) + + If max length is exceeded, the entire api call will fail. + type: string + example: 8fe266b2-56e9-4b5f-938f-cc5e22530721 + to: + description: The list of created Receivers + type: array + items: + $ref: '#/components/schemas/EmailRecipient' + EmailRecipient: + type: object + required: + - emailAddress + - displayName + properties: + emailAddress: + description: The email address of the recipient + type: string + minLength: 1 + example: roy@tomlinson.com + displayName: + description: The display name to use for the recipient + type: string + minLength: 1 + example: Roy Tomlinson + EmailOutgoingTemplatePostRequest: + allOf: + - $ref: '#/components/schemas/EmailOutgoingApiBaseCreateModel' + - type: object + required: + - templateId + properties: + templateId: + description: The id of the template to use. + type: string + minLength: 1 + example: ecdcb257-c1e9-4b44-8a4e-f05822372d82 + placeholders: + description: >- + A key-value list of placeholders to replace in the template + html, text and subject. Keys must be encapsulated with {}. E.g. + {NAME}. + example: + '{name}': Ray + '{lastname}': Tomlinson + oneOf: + - $ref: '#/components/schemas/ApiPlaceholderValueCollection' + ApiPlaceholderValueCollection: + type: object + additionalProperties: + type: string + EmailOutgoingApiBaseCreateModel: + type: object + required: + - from + - to + properties: + from: + description: The from info of the message. + oneOf: + - $ref: '#/components/schemas/EmailRecipient' + to: + description: >- + A list of receiver objects. Allowed to contain between 1 and 100 + elements. + type: array + maxItems: 100 + minItems: 1 + items: + $ref: '#/components/schemas/EmailRecipient' + replyTo: + description: A list of optional Reply To objects. + type: array + maxItems: 100 + minItems: 1 + items: + $ref: '#/components/schemas/EmailRecipient' + messageId: + description: >- + An optional message id used to identify the message. + + If no message id is provided, a new message id is generated and + assigned to the message. This id must be unique across all messages + created on the same account. + + (In case a previous message has been deleted according to GDPR + deletion rules setup on the specific account, the messageId is + allowed to be reused) + + If max length is exceeded, the entire api call will fail. + type: string + maxLength: 50 + minLength: 1 + example: 8fe266b2-56e9-4b5f-938f-cc5e22530721 + sendTime: + description: >- + If set, this defines to time in the future for the message to be + sent. e.g. 2001-02-30T14:50:23Z (UTC time). + type: string + example: '2001-02-30T14:50:23Z' + tracking: + description: >- + If true, this will add Open and Click tracking to your email. + Default: true. + type: boolean + example: false + EmailOutgoingPostRequest: + allOf: + - $ref: '#/components/schemas/EmailOutgoingApiBaseCreateModel' + - type: object + required: + - subject + - html + properties: + subject: + description: |- + The subject of the email. + If max length is exceeded, the entire api call will fail. + type: string + maxLength: 255 + minLength: 0 + example: This is the subject of the email + html: + description: |- + The HTML body of the email. Max size of 2 MB. + If max size is exceeded, the entire api call will fail. + type: string + minLength: 1 + example: >- +

This is an email to + be sent

+ text: + description: >- + The text body of the email. If none is provided this will be + generated from the HTML. Max size of 2 MB. + + If max size is exceeded, the entire api call will fail. + type: string + example: This is the text version of the email + EmailEventListModel: + type: object + properties: + events: + type: array + items: + $ref: '#/components/schemas/EmailEvent' + EmailEvent: + type: object + properties: + messageId: + description: The id of the message. + type: string + example: id1 + eventType: + description: Contains a code for what event type the event is. + example: 3 + oneOf: + - $ref: '#/components/schemas/EmailEventType' + eventTypeDescription: + description: A text description of the event type + type: string + example: Delivered + eventTimestamp: + description: When the event happened e.g. 2001-02-30T14:50:23Z (UTC time) + type: string + example: '2001-02-30T14:50:23Z' + EmailEventType: + description: |- + 0 = Undefined + 1 = Clicked + 2 = Complained + 3 = Delivered + 4 = Opened + 5 = PermanentFail + 6 = TemporaryFail + 7 = Unsubscribed + 8 = Queued + 9 = Attempt + type: integer + x-enumNames: + - Undefined + - Clicked + - Complained + - Delivered + - Opened + - PermanentFail + - TemporaryFail + - Unsubscribed + - Queued + - Attempt + enum: + - 0 + - 1 + - 2 + - 3 + - 4 + - 5 + - 6 + - 7 + - 8 + - 9 + ApiPageModelOfEmailTemplateOutputApiModel: + allOf: + - $ref: '#/components/schemas/OutputListApiModelOfEmailTemplateOutputApiModel' + - type: object + properties: + _links: + $ref: '#/components/schemas/ApiPageLinks' + OutputListApiModelOfEmailTemplateOutputApiModel: + type: object + properties: + entries: + type: array + items: + $ref: '#/components/schemas/EmailTemplateOutputApiModel' + EmailTemplateOutputApiModel: + type: object + properties: + id: + description: The id of the email template + type: string + example: c9b6c7a8-aa22-4a59-b6d5-fdbbeced27bc + name: + description: The name of the email template + type: string + example: My email template + html: + description: The Html of the email template + type: string + example: >- +

Hello {name} {lastname}. + This is an email to be sent

+ text: + description: The text version of the Html + type: string + example: Hello {name} This is the text version of the email + subject: + description: The subject of the email template + type: string + example: Hello {lastname} This is the subject of the email + preheader: + description: The preheader of the email + type: string + example: This is the preheader of the email + placeholders: + description: >- + A list of the placeholders found in the template html, text and + subject. + type: array + example: + - '{name}' + - '{lastname}' + items: + type: string + created: + description: >- + When the email template was created e.g. 2001-02-30T14:50:23Z (UTC + time) + type: string + example: '2001-02-30T14:50:23Z' + lastUpdated: + description: >- + When the email template was last updated e.g. 2001-02-30T14:50:23Z + (UTC time) + type: string + example: '2001-02-30T14:50:23Z' + RequestDeletionOutputApiModel: + type: object + properties: + id: + description: The Id of the Deletion request + type: string + example: cf97f715-63d4-41df-92a1-34eb87b866b5 + DeletionRequestCreateInfo: + type: object + properties: + numberInfo: + $ref: '#/components/schemas/NumberInfo' + ApiPageModelOfGroupOutputApiModel: + allOf: + - $ref: '#/components/schemas/OutputListApiModelOfGroupOutputApiModel' + - type: object + properties: + _links: + $ref: '#/components/schemas/ApiPageLinks' + OutputListApiModelOfGroupOutputApiModel: + type: object + properties: + entries: + type: array + items: + $ref: '#/components/schemas/GroupOutputApiModel' + GroupOutputApiModel: + type: object + properties: + id: + description: The id of the list + type: string + format: guid + example: a80e5daa-1bf9-48ca-b67e-ff79eeab1c39 + name: + description: The name of the list + type: string + example: My list + created: + description: When the list was created e.g. 2001-02-30T14:50:23Z (UTC time) + type: string + example: '2001-02-30T14:50:23Z' + GroupInputApiModel: + type: object + properties: + name: + type: string + ApiPageModelOfRecipientOutputApiModel: + allOf: + - $ref: '#/components/schemas/OutputListApiModelOfRecipientOutputApiModel' + - type: object + properties: + _links: + $ref: '#/components/schemas/ApiPageLinks' + OutputListApiModelOfRecipientOutputApiModel: + type: object + properties: + entries: + type: array + items: + $ref: '#/components/schemas/RecipientOutputApiModel' + RecipientOutputApiModel: + allOf: + - $ref: '#/components/schemas/RecipientBaseApiModel' + - type: object + properties: + id: + description: The id of the recipient + type: string + format: guid + example: 99e0543f-b059-4127-9b50-c42112f19cc9 + listId: + description: The id of the list that the recipient belongs to + type: string + format: guid + example: 4a5f91d5-3aa4-4419-890e-f7b103406dbf + created: + description: >- + When the recipient was created e.g. 2001-02-30T14:50:23Z (UTC + time) + type: string + example: '2001-02-30T14:50:23Z' + RecipientBaseApiModel: + type: object + x-abstract: true + properties: + externalCreated: + description: >- + When the recipient was created in an external system e.g. + 2001-02-30T14:50:23Z (UTC time) + type: string + example: '2001-02-30T14:50:23Z' + numberInfo: + $ref: '#/components/schemas/NumberInfo' + fields: + description: The fields to update in the given recipient. + example: + firstname: Friedhelm + lastname: Hillebrand + birthday: '1945-04-30' + custom1: Custom1 + custom2: Custom2 + custom3: Custom3 + custom4: Custom4 + custom5: Custom5 + custom6: Custom6 + email: test@test.dk + zipCode: '8000' + address: testroad 12 + companyName: test company + oneOf: + - $ref: '#/components/schemas/RecipientFieldsCollection' + RecipientFieldsCollection: + type: object + additionalProperties: + type: string + RecipientCreateOrUpdateApiModel: + allOf: + - $ref: '#/components/schemas/RecipientBaseApiModel' + - type: object + RecipientUpdateApiModel: + allOf: + - $ref: '#/components/schemas/RecipientBaseApiModel' + - type: object + RecipientCreateApiModel: + allOf: + - $ref: '#/components/schemas/RecipientBaseApiModel' + - type: object + IncomingMessageListModel: + type: object + properties: + messages: + type: array + items: + $ref: '#/components/schemas/IncomingMessage' + IncomingMessage: + type: object + properties: + from: + $ref: '#/components/schemas/IncomingMessageSender' + to: + $ref: '#/components/schemas/IncomingMessageTarget' + text: + type: string + receivedAt: + type: string + example: '2001-02-30T14:50:23Z' + IncomingMessageSender: + type: object + properties: + countryCode: + type: string + phoneNumber: + type: string + rawSource: + type: string + isValidMsisdn: + type: boolean + IncomingMessageTarget: + type: object + properties: + countryCode: + type: string + phoneNumber: + type: string + msisdn: + type: string + SmsOutgoingPostReply: + type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/SmsOutgoingApiCreateResultModel' + SmsOutgoingApiCreateResultModel: + type: object + properties: + numberDetails: + description: >- + The parsed details about the msisdn provided in the to-field of the + request (msisdn is a number with a countrycode e.g. 4512345678) + oneOf: + - $ref: '#/components/schemas/NumberDetails' + text: + description: The text message + type: string + example: This is a message text to be sent + from: + description: The sender. + type: string + example: PetShop + smsCount: + description: >- + The number of sms messages this message will be split into when sent + to the operator. Charging will also be done according to this + number. + type: integer + format: int32 + example: 1 + messageId: + description: >- + An optional message id used to identify the message. + + If no message id is provided, a new message id is generated and + assigned to the message. This id must be unique across all messages + created on the same account. + + (In case a previous message has been deleted according to GDPR + deletion rules setup on the specific account, the messageId is + allowed to be reused) + type: string + example: PetShop + encoding: + description: >- + The encoding of the message. Can be either "gsm7" or "ucs2". In case + the message was submitted with encoding "auto", this report will + reveal the final encoding based on the characters in the message + text. + + "gsm7" is the default alfabet for text messages and when using gsm7, + a single sms message can contain 160 characters. If the length + exceeeds 160 characters, the message is actually split up into parts + of 153 characters and charged according to this. Please note, that a + few, specific characters fill up 2 bytes and count for 2 letters. + Ref: https://en.wikipedia.org/wiki/GSM_03.38 + + "ucs2"" allows for more non-roman characters to be used along with + smileys. When using this encoding, a single message can consist of + 70 characters. If the message exceeds 70 characters, the final + message is actually split into parts of 67 characters. + type: string + example: gsm7 + NumberDetails: + type: object + properties: + countryCode: + description: The country code part of the msisdn, e.g. 45. + type: string + example: '45' + phoneNumber: + description: The phone number part of the msisdn, e.g. 12345678. + type: string + example: '12345678' + rawMsisdn: + description: >- + The input msisdn in its unaltered format. This is the value provided + when sending the text message. + type: string + example: 45 12 34 56 78 + msisdn: + description: The final cleaned msisdn + type: string + example: '4512345678' + isValidMsisdn: + description: True if the input msisdn was valid. + type: boolean + example: true + countryHint: + description: The country code hint if provided in the request + type: string + SmsOutgoingPostRequest: + type: object + required: + - messages + properties: + messages: + description: >- + A list of the sms messages to be sent. Allowed to contain between 1 + and 250 elements. + type: array + maxItems: 250 + minItems: 1 + items: + $ref: '#/components/schemas/SmsOutgoingApiCreateModel' + SmsOutgoingApiCreateModel: + allOf: + - $ref: '#/components/schemas/SmsOutgoingBaseApiModel' + - type: object + required: + - text + - from + properties: + text: + description: >- + The text message. + + If the max length is exceeded, the message text is truncated and + sent. + type: string + maxLength: 10000 + minLength: 1 + example: This is a message text to be sent + from: + description: >- + The sender. This can either be a 3-11 chars text sender or an up + to 14 digit long sender number. + + If the max length is exceeded, the string is truncated. + type: string + minLength: 1 + example: PetShop + flash: + description: >- + If true, the message will be shown as a flash message (also + known as a class0 message) on the target phone. If false, it + will be received as a standard text message. + + Default: false + type: boolean + nullable: true + example: false + encoding: + description: >- + The encoding of the message. Can be either "gsm7", "ucs2" or + "auto". + + "gsm7" is the default alfabet for text messages and when using + gsm7, a single sms message can contain 160 characters. If the + length exceeeds 160 characters, the message is actually split up + into parts of 153 characters and charged according to this. + Please note, that a few, specific characters fill up 2 bytes and + count for 2 letters. Ref: + https://en.wikipedia.org/wiki/GSM_03.38 + + "ucs2"" allows for more non-roman characters to be used along + with smileys. When using this encoding, a single message can + consist of 70 characters. If the message exceeds 70 characters, + the final message is actually split into parts of 67 characters. + + "auto" can be used in case the sender wishes to support + non-roman characters but wants to save the expenses on all the + trafic that only contains gsm characters anyway. + + Default: "gsm7" + type: string + example: gsm7 + SmsOutgoingBaseApiModel: + type: object + required: + - to + properties: + to: + description: >- + The msisdn (country code and number) to send to. (Remember to + include countrycode in all numbers, e.g. 4512345678). + + If max length is exceeded, the entire api call will fail. + type: string + maxLength: 20 + minLength: 0 + example: '4512345678' + countryHint: + description: >- + For optimal phone number validation, we encourage you to provide us + with a country code. This can be the numeric country code (like 44) + or the two-letter suffix (like GB). If this field is empty it is + important that you add the country code (e.g 44) in front of the + phone number in “to”. + type: string + maxLength: 50 + minLength: 0 + example: '45' + messageId: + description: >- + An optional message id used to identify the message. + + If no message id is provided, a new message id is generated and + assigned to the message. This id must be unique across all messages + created on the same account. + + (In case a previous message has been deleted according to GDPR + deletion rules setup on the specific account, the messageId is + allowed to be reused) + + If max length is exceeded, the entire api call will fail. + type: string + maxLength: 50 + minLength: 1 + example: PetShop + respectBlacklist: + description: >- + If true, this message will be blocked from sending if the target + number is on the account's blacklist. If false, the message will be + sent no matter blacklist settings. + + Default: true + type: boolean + nullable: true + example: true + validityPeriodInSeconds: + description: >- + The validity period in seconds. Minimum is 60 seconds and maximum is + 172800 (48 hours). + + If not specified, the messages is attempted to be delivered in 48 + hours. A typical use of validityPeriod is for messages that makes no + sense to delivery efter er certain time frame, in the case the phone + is turned of, e.g. two factor codes. + + Please note, that messages are still charged even though the + operator is cancelling the delivery attempt due to an exceeded + validity period. + type: integer + format: int32 + maximum: 172800 + minimum: 60 + nullable: true + example: 90 + statusCallbackUrl: + description: >- + In case you would like a callback from us when the message is + delivered, you can specify it here and we will call it when we have + new message statuses. + + The callback payload will be an array of status objects. + + Api calls sending messages with the same apikey will be subject to + being bulked together. + type: string + maxLength: 500 + minLength: 0 + example: https://[your_domain]/your/desired/path + sendTime: + description: >- + If set, this defines to time in the future for the message to be + sent. e.g. 2001-02-30T14:50:23Z (UTC time). + type: string + example: '2001-02-30T14:50:23Z' + msisdnCooldownInMinutes: + description: >- + If set, the message will be cancelled if the same mobile number + already have received a SMS within this specified time period. + + Fx. used to prevent spamming a mobile number. + + Minimum 60 minutes (1 hour) and maximum is 43200 minutes (30 days). + type: integer + format: int32 + maximum: 43200 + minimum: 60 + nullable: true + example: 1440 + StatusReportListModel: + type: object + properties: + reports: + type: array + items: + $ref: '#/components/schemas/StatusReport' + StatusReport: + type: object + properties: + messageId: + description: The id of the message. + type: string + example: id1 + numberDetails: + $ref: '#/components/schemas/StatusReportNumberDetails' + deliveryInfo: + $ref: '#/components/schemas/DeliveryInfo' + chargeInfo: + $ref: '#/components/schemas/ChargeInfo' + StatusReportNumberDetails: + allOf: + - $ref: '#/components/schemas/NumberDetails' + - type: object + properties: + isAnonymized: + description: Specifies whether the message has been anonymized or not. + type: boolean + example: false + DeliveryInfo: + type: object + properties: + stateCode: + description: >- + Contains a code indicating whether a message is delivered, failed or + cancelled. + example: -1 + oneOf: + - $ref: '#/components/schemas/MessageStateCode' + stateDescription: + description: A text description of the state code + type: string + example: Failed + sendTime: + description: When the message was sent e.g. 2001-02-30T14:50:23Z (UTC time) + type: string + example: '2001-02-30T14:50:23Z' + doneTime: + description: >- + When the delivery of the message fails, is cancelled, or is + delivered. If the operator does not support reporting the actual + delivery time, this will be the time when the delivery report is + received from the operator. + + In some cases where the message is not sent, this value can be null. + type: string + example: '2001-02-30T14:50:23Z' + errorCode: + $ref: '#/components/schemas/ErrorCode' + errorDescription: + description: A text description of the error code + type: string + example: Undeliverable message + MessageStateCode: + description: |- + 0 = Unknown + 1 = Delivered + -2 = Cancelled + -1 = Failed + type: integer + x-enumNames: + - Unknown + - Delivered + - Cancelled + - Failed + enum: + - 0 + - 1 + - -2 + - -1 + ErrorCode: + description: "A code describing the error if the state is not Delivered. This property will be absent in case the state is Delivered.\n\r-1 = Undeliverable message\n\r-2 = Msisdn blacklisted by operator\n\r-3 = Invalid mobile number\n\r-4 = Country not available\n\r-5 = Delivery timeout\n\r-6 = Not delivered removed from gateway\n\r-8 = Insufficient funds\n\r-9 = Authorize failed\n\r-10 = Capture failed\n\r-11 = Overcharge donation limit exceeded\n\r-12 = Overcharge type not activated\n\r-13 = Overcharge settings not valid\n\r-14 = Sender name blocked\n\r-15 = Route not available\n\r-16 = Refund not available\n\r-17 = Refund not possible for message\n\r-18 = Refund failed\n\r-19 = Refund not possible for pending message\n\r-20 = Refund not possible for failed message\n\r-21 = Refund failed already refunded\n\r-22 = Delivery timeout before sent\n\r-23 = Message queue full at operator\n\r-80 = Imported from other system\n\r-99 = Submit failed\n\r-100 = Communication error\n\r-101 = Unknown id\n\r-102 = Cancelled\n\r-103 = Unknown error processing message\n\r-104 = Unknown id at operator\n\r-105 = Msisdn blacklisted on account\n\r-106 = Mobile number cooldown\n\r-201 = Suspicious sms content\n\r-202 = Account deactivated\n\r-300 = Pdu sequence incomplete\n\r-301 = Pdu sequence invalid\n\r" + type: integer + format: integer + example: -1 + ChargeInfo: + type: object + properties: + isCharged: + description: True if the message will be charged. + type: boolean + example: true + smsCount: + description: >- + The total sms count in the message. If IsCharged is true, this is + the number of sms'es that will be charged. + type: integer + format: int32 + example: 2 + encoding: + description: >- + The encoding of the message. Can be either "gsm7" or "ucs2". In case + the message was submitted with encoding "auto", this report will + reveal the final encoding based on the characters in the message + text. + + "gsm7" is the default alfabet for text messages and when using gsm7, + a single sms message can contain 160 characters. If the length + exceeeds 160 characters, the message is actually split up into parts + of 153 characters and charged according to this. Please note, that a + few, specific characters fill up 2 bytes and count for 2 letters. + Ref: https://en.wikipedia.org/wiki/GSM_03.38 + + "ucs2"" allows for more non-roman characters to be used along with + smileys. When using this encoding, a single message can consist of + 70 characters. If the message exceeds 70 characters, the final + message is actually split into parts of 67 characters. + type: string + example: gsm7 + SmsOutgoingTemplatePostReply: + type: object + properties: + usedPlaceholderKeys: + description: A list of used used placeholder keys + type: array + example: + - '{name}' + - '{lastname}' + items: + type: string + notUsedPlaceholderKeys: + description: A list of not used placeholder keys + type: array + example: + - '{name}' + - '{lastname}' + items: + type: string + results: + type: array + items: + $ref: '#/components/schemas/SmsOutgoingApiCreateResultModel' + SmsOutgoingTemplatePostRequest: + type: object + required: + - templateId + - messages + properties: + templateId: + description: The id of the template to use + type: string + minLength: 1 + example: ecdcb257-c1e9-4b44-8a4e-f05822372d82 + messages: + description: >- + A list of the sms messages to be sent. Allowed to contain between 1 + and 250 elements. + type: array + maxItems: 250 + minItems: 1 + items: + $ref: '#/components/schemas/SmsOutgoingTemplateApiCreateModel' + SmsOutgoingTemplateApiCreateModel: + allOf: + - $ref: '#/components/schemas/SmsOutgoingBaseApiModel' + - type: object + properties: + placeholders: + description: >- + A key-value list of placeholders to replace in the template + text. Keys must be encapsulated with {}. E.g. {NAME}. + example: + '{name}': Friedhelm + '{lastname}': Hillebrand + oneOf: + - $ref: '#/components/schemas/ApiPlaceholderValueCollection' + SmsOutgoingCancelPostReply: + type: object + properties: + results: + description: A list of results + type: array + items: + $ref: '#/components/schemas/SmsOutgoingCancelPostReplyResultModel' + SmsOutgoingCancelPostReplyResultModel: + type: object + properties: + messageId: + description: The MessageId of the message that was attempted cancelled. + type: string + example: 8fe266b2-56e9-4b5f-938f-cc5e22530721 + resultCode: + description: A value indicating if the message was cancelled. + example: 1 + oneOf: + - $ref: '#/components/schemas/CancelResultCode' + resultDescription: + description: A description of the result. + type: string + example: Success + CancelResultCode: + description: |- + 0 = Unknown + 1 = Success + -2 = MessageNotFound + -1 = NotCancelled + type: integer + x-enumNames: + - Unknown + - Success + - MessageNotFound + - NotCancelled + enum: + - 0 + - 1 + - -2 + - -1 + SmsOutgoingCancelPostRequest: + type: object + required: + - messageIds + properties: + messageIds: + description: >- + A list of the sms message ids to be cancelled. Allowed to contain + between 1 and 250 elements. + type: array + maxItems: 250 + minItems: 1 + example: + - id1 + - id2 + items: + type: string + ApiPageModelOfStandardTextOutputApiModel: + allOf: + - $ref: '#/components/schemas/OutputListApiModelOfStandardTextOutputApiModel' + - type: object + properties: + _links: + $ref: '#/components/schemas/ApiPageLinks' + OutputListApiModelOfStandardTextOutputApiModel: + type: object + properties: + entries: + type: array + items: + $ref: '#/components/schemas/StandardTextOutputApiModel' + StandardTextOutputApiModel: + type: object + properties: + id: + description: The id of the template + type: string + example: c7114ec3-8f89-4e26-8048-686585c1da2a + name: + description: The name of the template + type: string + example: My template + text: + description: The template text + type: string + example: My template text {name} {lastname} + senderName: + description: The sendername to use with this template + type: string + example: My sendername + encoding: + description: >- + The encoding of the message. Can be either "gsm7" or "ucs2" + + "gsm7" is the default alfabet for text messages and when using gsm7, + a single sms message can contain 160 characters. If the length + exceeeds 160 characters, the message is actually split up into parts + of 153 characters and charged according to this. Please note, that a + few, specific characters fill up 2 bytes and count for 2 letters. + Ref: https://en.wikipedia.org/wiki/GSM_03.38 + + "ucs2"" allows for more non-roman characters to be used along with + smileys. When using this encoding, a single message can consist of + 70 characters. If the message exceeds 70 characters, the final + message is actually split into parts of 67 characters. + type: string + example: gsm7 + placeholders: + description: >- + A list of the placeholders found in the template html, text and + subject. + type: array + example: + - '{name}' + - '{lastname}' + items: + type: string + created: + description: When the template was created e.g. 2001-02-30T14:50:23Z (UTC time) + type: string + example: '2001-02-30T14:50:23Z' + lastUpdated: + description: >- + When the template was last updated e.g. 2001-02-30T14:50:23Z (UTC + time) + type: string + example: '2001-02-30T14:50:23Z' + ParsePhoneNumberPostReply: + type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/NumberDetails' + ParsePhoneNumberPostRequest: + type: object + required: + - numbersToParse + properties: + numbersToParse: + description: A list of the numbersToParse and country hints to be parsed + type: array + minItems: 1 + items: + $ref: '#/components/schemas/RawMsisdnAndCountryHint' + RawMsisdnAndCountryHint: + type: object + properties: + countryHint: + description: The country part of the msisdn, e.g. 45 or DK. + type: string + example: '45' + rawMsisdn: + description: >- + The input msisdn in its unaltered format. This is the value provided + when sending the text message. + type: string + example: +45 12 34 56 78 + securitySchemes: + BasicAuth: + description: >- + Provide Basic Authentiation with an arbitrary username and your api key + as password, e.g. some_value_to_be_ignored:your_api_key_here + type: http + scheme: basic + QueryParameter: + description: >- + Specify your apikey in the url as + https://api.inmobile.com/some/path?apikey=your_api_key_here. This method + is only recommended if basic authorization is not possible. + type: apiKey + name: apikey + in: query +security: + - BasicAuth: [] + - QueryParameter: [] +x-generator: NSwag v13.20.0.0 (NJsonSchema v10.9.0.0 (Newtonsoft.Json v13.0.0.0)) diff --git a/sdks/db/fixed-specs/innoship-fixed-spec.yaml b/sdks/db/fixed-specs/innoship-fixed-spec.yaml new file mode 100644 index 0000000000..3411d043ee --- /dev/null +++ b/sdks/db/fixed-specs/innoship-fixed-spec.yaml @@ -0,0 +1,8496 @@ +openapi: 3.0.1 +info: + title: Innoship API + description: Api service implementation (version:6.0.1.503) + version: v1 + termsOfService: https://example.com/terms + contact: + name: Andrei Paul + email: andrei@innoship.ro + license: + name: Use under LICX + url: https://example.com/license +servers: + - url: https://api.innoship.com +tags: + - name: Order + - name: ClientLocation + - name: Location + - name: Label + - name: OfflineOrder + - name: Courier + - name: Manifest + - name: Track + - name: Voucher + - name: Feedback + - name: Notifications + - name: Price +paths: + /api/ClientLocation: + get: + tags: + - ClientLocation + operationId: ClientLocation_getDetail + parameters: + - name: countryCode + in: query + schema: + type: string + - description: The requested API version + name: api-version + in: query + required: true + schema: + type: string + default: '1.0' + - description: The requested API version + name: api-version + in: header + schema: + type: string + default: '1.0' + responses: + '200': + description: Success + post: + tags: + - ClientLocation + operationId: ClientLocation_createNew + parameters: + - description: The requested API version + name: api-version + in: query + required: true + schema: + type: string + default: '1.0' + - description: The requested API version + name: api-version + in: header + schema: + type: string + default: '1.0' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateLocationDto' + text/json: + schema: + $ref: '#/components/schemas/UpdateLocationDto' + application/json-patch+json: + schema: + $ref: '#/components/schemas/UpdateLocationDto' + application/*+json: + schema: + $ref: '#/components/schemas/UpdateLocationDto' + responses: + '200': + description: Success + /api/ClientLocation/{id}: + put: + tags: + - ClientLocation + operationId: ClientLocation_updateById + parameters: + - name: id + in: path + required: true + schema: + type: integer + format: int32 + - description: The requested API version + name: api-version + in: query + required: true + schema: + type: string + default: '1.0' + - description: The requested API version + name: api-version + in: header + schema: + type: string + default: '1.0' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateLocationDto' + text/json: + schema: + $ref: '#/components/schemas/UpdateLocationDto' + application/json-patch+json: + schema: + $ref: '#/components/schemas/UpdateLocationDto' + application/*+json: + schema: + $ref: '#/components/schemas/UpdateLocationDto' + responses: + '200': + description: Success + delete: + tags: + - ClientLocation + operationId: ClientLocation_removeById + parameters: + - name: id + in: path + required: true + schema: + type: integer + format: int32 + - description: The requested API version + name: api-version + in: query + required: true + schema: + type: string + default: '1.0' + - description: The requested API version + name: api-version + in: header + schema: + type: string + default: '1.0' + responses: + '200': + description: Success + get: + tags: + - ClientLocation + operationId: ClientLocation_getById + parameters: + - name: id + in: path + required: true + schema: + type: integer + format: int32 + - description: The requested API version + name: api-version + in: query + required: true + schema: + type: string + default: '1.0' + - description: The requested API version + name: api-version + in: header + schema: + type: string + default: '1.0' + responses: + '200': + description: Success + /api/ClientLocation/Summary: + post: + tags: + - ClientLocation + operationId: ClientLocation_createSummaryReport + parameters: + - description: The requested API version + name: api-version + in: query + required: true + schema: + type: string + default: '1.0' + - description: The requested API version + name: api-version + in: header + schema: + type: string + default: '1.0' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LocationFilter' + text/json: + schema: + $ref: '#/components/schemas/LocationFilter' + application/json-patch+json: + schema: + $ref: '#/components/schemas/LocationFilter' + application/*+json: + schema: + $ref: '#/components/schemas/LocationFilter' + responses: + '200': + description: Success + /api/ClientLocation/Validate: + post: + tags: + - ClientLocation + operationId: ClientLocation_validateLocationDetails + parameters: + - description: The requested API version + name: api-version + in: query + required: true + schema: + type: string + default: '1.0' + - description: The requested API version + name: api-version + in: header + schema: + type: string + default: '1.0' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LocationDto' + text/json: + schema: + $ref: '#/components/schemas/LocationDto' + application/json-patch+json: + schema: + $ref: '#/components/schemas/LocationDto' + application/*+json: + schema: + $ref: '#/components/schemas/LocationDto' + responses: + '200': + description: Success + /api/ClientLocation/{locationId}/Courier: + post: + tags: + - ClientLocation + operationId: ClientLocation_createCourier + parameters: + - name: locationId + in: path + required: true + schema: + type: integer + format: int32 + - description: The requested API version + name: api-version + in: query + required: true + schema: + type: string + default: '1.0' + - description: The requested API version + name: api-version + in: header + schema: + type: string + default: '1.0' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateLocationCourierServicesDto' + text/json: + schema: + $ref: '#/components/schemas/CreateLocationCourierServicesDto' + application/json-patch+json: + schema: + $ref: '#/components/schemas/CreateLocationCourierServicesDto' + application/*+json: + schema: + $ref: '#/components/schemas/CreateLocationCourierServicesDto' + responses: + '200': + description: Success + /api/ClientLocation/{locationId}/Courier/{courierId}: + delete: + tags: + - ClientLocation + operationId: ClientLocation_removeCourierById + parameters: + - name: locationId + in: path + required: true + schema: + type: integer + format: int32 + - name: courierId + in: path + required: true + schema: + type: integer + format: int32 + - name: force + in: query + schema: + type: boolean + - name: isEmagMarketPlace + in: query + schema: + type: boolean + - description: The requested API version + name: api-version + in: query + required: true + schema: + type: string + default: '1.0' + - description: The requested API version + name: api-version + in: header + schema: + type: string + default: '1.0' + responses: + '200': + description: Success + /api/ClientLocation/{locationId}/CourierServices: + put: + tags: + - ClientLocation + operationId: ClientLocation_updateCourierServices + parameters: + - name: locationId + in: path + required: true + schema: + type: integer + format: int32 + - name: applyToAllLocations + in: query + schema: + type: boolean + - description: The requested API version + name: api-version + in: query + required: true + schema: + type: string + default: '1.0' + - description: The requested API version + name: api-version + in: header + schema: + type: string + default: '1.0' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ClientLocationUpdateCourierServicesRequest5' + text/json: + schema: + $ref: '#/components/schemas/ClientLocationUpdateCourierServicesRequest6' + application/json-patch+json: + schema: + $ref: '#/components/schemas/ClientLocationUpdateCourierServicesRequest4' + application/*+json: + schema: + $ref: '#/components/schemas/ClientLocationUpdateCourierServicesRequest7' + responses: + '200': + description: Success + patch: + tags: + - ClientLocation + operationId: ClientLocation_updateCourierServices + parameters: + - name: locationId + in: path + required: true + schema: + type: integer + format: int32 + - name: applyToAllLocations + in: query + schema: + type: boolean + - description: The requested API version + name: api-version + in: query + required: true + schema: + type: string + default: '1.0' + - description: The requested API version + name: api-version + in: header + schema: + type: string + default: '1.0' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ClientLocationUpdateCourierServicesRequest1' + text/json: + schema: + $ref: '#/components/schemas/ClientLocationUpdateCourierServicesRequest2' + application/json-patch+json: + schema: + $ref: '#/components/schemas/ClientLocationUpdateCourierServicesRequest' + application/*+json: + schema: + $ref: '#/components/schemas/ClientLocationUpdateCourierServicesRequest3' + responses: + '200': + description: Success + /api/Courier/RequestPickup: + post: + tags: + - Courier + summary: Request pickup to courier + operationId: Courier_requestPickup + parameters: + - description: The requested API version + name: api-version + in: query + required: true + schema: + type: string + default: '1.0' + - description: The requested API version + name: api-version + in: header + schema: + type: string + default: '1.0' + requestBody: + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/PickupRequest' + text/json: + schema: + $ref: '#/components/schemas/PickupRequest' + application/json-patch+json: + schema: + $ref: '#/components/schemas/PickupRequest' + application/*+json: + schema: + $ref: '#/components/schemas/PickupRequest' + responses: + '200': + description: Pickup requested to courier + content: + application/json: + schema: + $ref: '#/components/schemas/PickupResponse' + '400': + description: Unable to request pickup due to errors + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + /api/Courier/All: + get: + tags: + - Courier + summary: Get all couriers + operationId: Courier_getAll + parameters: + - description: The requested API version + name: api-version + in: query + required: true + schema: + type: string + default: '1.0' + - description: The requested API version + name: api-version + in: header + schema: + type: string + default: '1.0' + responses: + '200': + description: List of couriers + content: + application/json: + schema: + $ref: '#/components/schemas/CourierGetAllResponse' + '401': + description: Unable to authorize request + /api/Feedback/{from}/{to}: + get: + tags: + - Feedback + operationId: Feedback_getBetweenDates + parameters: + - name: from + in: path + required: true + schema: + type: string + format: date-time + - name: to + in: path + required: true + schema: + type: string + format: date-time + - description: The requested API version + name: api-version + in: query + required: true + schema: + type: string + default: '1.0' + - description: The requested API version + name: api-version + in: header + schema: + type: string + default: '1.0' + responses: + '200': + description: Success + /api/Label/by-courier/{courierId}/awb/{awb}: + get: + tags: + - Label + summary: Gets the label for the specified courier awb number + operationId: Label_getByCourierAwb + parameters: + - description: '' + name: courierId + in: path + required: true + schema: + type: integer + format: int32 + - description: '' + name: awb + in: path + required: true + schema: + type: string + - description: '' + name: type + in: query + schema: + type: string + default: PDF + - description: '' + name: format + in: query + schema: + type: string + default: A6 + - description: '' + name: includeVoucher + in: query + schema: + type: boolean + default: false + - description: '' + name: useFile + in: query + schema: + type: boolean + default: true + - description: '' + name: skipCache + in: query + schema: + type: boolean + default: false + - description: The requested API version + name: api-version + in: query + required: true + schema: + type: string + default: '1.0' + - description: The requested API version + name: api-version + in: header + schema: + type: string + default: '1.0' + responses: + '200': + description: Returns the label + content: + application/json: + schema: + $ref: '#/components/schemas/LabelResponse' + application/pdf: + schema: + $ref: '#/components/schemas/LabelResponse' + text/html: + schema: + $ref: '#/components/schemas/LabelResponse' + '400': + description: Unable to get the label due to validation errors + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/pdf: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/html: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + /api/Label/by-courier/{courierId}/voucher/{awb}: + get: + tags: + - Label + summary: Gets the voucher label for the specified courier awb number + operationId: Label_getVoucherByCourierAwb + parameters: + - description: '' + name: courierId + in: path + required: true + schema: + type: integer + format: int32 + - description: '' + name: awb + in: path + required: true + schema: + type: string + - description: '' + name: type + in: query + schema: + type: string + default: PDF + - description: '' + name: format + in: query + schema: + type: string + default: A6 + - description: '' + name: useFile + in: query + schema: + type: boolean + default: true + - description: '' + name: skipCache + in: query + schema: + type: boolean + default: false + - description: The requested API version + name: api-version + in: query + required: true + schema: + type: string + default: '1.0' + - description: The requested API version + name: api-version + in: header + schema: + type: string + default: '1.0' + responses: + '200': + description: Returns the label + content: + application/json: + schema: + $ref: '#/components/schemas/LabelResponse' + application/pdf: + schema: + $ref: '#/components/schemas/LabelResponse' + text/html: + schema: + $ref: '#/components/schemas/LabelResponse' + '400': + description: Unable to get the label due to validation errors + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/pdf: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/html: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + /api/Label/by-courier/{courierId}/awb/{awb}/parcel/{barcodes}: + get: + tags: + - Label + summary: Gets the label for the specified courier parcel barcode and order awb + operationId: Label_getByAwbAndParcel + parameters: + - description: '' + name: courierId + in: path + required: true + schema: + type: integer + format: int32 + - description: '' + name: awb + in: path + required: true + schema: + type: string + - description: '' + name: barcodes + in: path + required: true + schema: + type: string + - description: '' + name: type + in: query + schema: + type: string + default: PDF + - description: '' + name: format + in: query + schema: + type: string + default: A6 + - description: '' + name: useFile + in: query + schema: + type: boolean + default: true + - description: '' + name: skipCache + in: query + schema: + type: boolean + default: false + - description: The requested API version + name: api-version + in: query + required: true + schema: + type: string + default: '1.0' + - description: The requested API version + name: api-version + in: header + schema: + type: string + default: '1.0' + responses: + '200': + description: Returns the label + content: + application/json: + schema: + $ref: '#/components/schemas/LabelResponse' + application/pdf: + schema: + $ref: '#/components/schemas/LabelResponse' + text/html: + schema: + $ref: '#/components/schemas/LabelResponse' + '400': + description: Unable to get the label due to validation errors + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/pdf: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/html: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + /api/Label/bulk: + post: + tags: + - Label + summary: Create bulk labels operation + operationId: Label_createBulk + parameters: + - description: The requested API version + name: api-version + in: query + required: true + schema: + type: string + default: '1.0' + - description: The requested API version + name: api-version + in: header + schema: + type: string + default: '1.0' + requestBody: + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/BulkLabelApiRequest' + text/json: + schema: + $ref: '#/components/schemas/BulkLabelApiRequest' + application/json-patch+json: + schema: + $ref: '#/components/schemas/BulkLabelApiRequest' + application/*+json: + schema: + $ref: '#/components/schemas/BulkLabelApiRequest' + responses: + '200': + description: Returns OperationId + '400': + description: Unable to create bulk labels operation due to validation errors + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/pdf: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/html: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + /api/Label/bulk/{operationId}: + get: + tags: + - Label + summary: Get bulk labels by operationId + operationId: Label_getBulkByOperationId + parameters: + - description: '' + name: operationId + in: path + required: true + schema: + type: string + - description: The requested API version + name: api-version + in: query + required: true + schema: + type: string + default: '1.0' + - description: The requested API version + name: api-version + in: header + schema: + type: string + default: '1.0' + responses: + '200': + description: Returns the label + content: + application/json: + schema: + $ref: '#/components/schemas/LabelResponse' + application/pdf: + schema: + $ref: '#/components/schemas/LabelResponse' + text/html: + schema: + $ref: '#/components/schemas/LabelResponse' + '400': + description: Unable to get the label due to validation errors + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/pdf: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/html: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + /api/Location/ClientLocations: + get: + tags: + - Location + operationId: Location_getClientLocations + responses: + '200': + description: Success + /api/Location/FixedLocation/{id}: + get: + tags: + - Location + operationId: Location_getFixedLocationById + parameters: + - name: id + in: path + required: true + schema: + type: integer + format: int32 + responses: + '200': + description: Success + /api/Location/FixedLocations: + get: + tags: + - Location + operationId: Location_getFixedLocations + parameters: + - name: Courier + in: query + schema: + $ref: '#/components/schemas/Courier' + - name: CountryCode + in: query + schema: + type: string + - name: CountyName + in: query + schema: + type: string + - name: LocalityName + in: query + schema: + type: string + - name: FixedLocationType + in: query + schema: + $ref: '#/components/schemas/FixedLocationType' + - name: ShowInactive + in: query + schema: + type: boolean + - name: RestrictionParcelsCount + in: query + schema: + type: integer + format: int32 + - name: RestrictionSizeHeight + in: query + schema: + type: integer + format: int32 + - name: RestrictionSizeWidth + in: query + schema: + type: integer + format: int32 + - name: RestrictionSizeLength + in: query + schema: + type: integer + format: int32 + - name: ExternalLocationId + in: query + schema: + type: string + - name: Latitude + in: query + schema: + type: number + format: double + - name: Longitude + in: query + schema: + type: number + format: double + - name: Radius + in: query + schema: + type: number + format: double + responses: + '200': + description: Success + /api/Location/Countries: + get: + tags: + - Location + operationId: Location_getCountryList + responses: + '200': + description: Success + /api/Location/Counties/{countryCode}: + get: + tags: + - Location + operationId: Location_getCountiesByCountryCode + parameters: + - name: countryCode + in: path + required: true + schema: + type: string + responses: + '200': + description: Success + /api/Location/Localities/{countyId}: + get: + tags: + - Location + operationId: Location_getLocalitiesByCountyId + parameters: + - name: countyId + in: path + required: true + schema: + type: integer + format: int32 + responses: + '200': + description: Success + /api/Location/Postalcodes/{CountryCode}/{PostalCode}: + get: + tags: + - Location + operationId: Location_getPostalCodeDetails + parameters: + - name: CountryCode + in: path + required: true + schema: + maxLength: 2 + minLength: 2 + pattern: ^[a-z]*$ + type: string + - name: PostalCode + in: path + required: true + schema: + type: string + - name: CourierId + in: query + schema: + type: integer + format: int32 + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/PostalCodeInfo' + text/json: + schema: + $ref: '#/components/schemas/PostalCodeInfo' + text/plain: + schema: + $ref: '#/components/schemas/PostalCodeInfo' + /api/Location/Postalcodes/{LocalityId}: + get: + tags: + - Location + operationId: Location_getPostalcodesByLocalityId + parameters: + - name: LocalityId + in: path + required: true + schema: + type: integer + format: int32 + - name: CourierId + in: query + schema: + type: integer + format: int32 + - name: filter + in: query + schema: + type: string + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: >- + #/components/schemas/LocationGetPostalcodesByLocalityId200Response + text/json: + schema: + $ref: >- + #/components/schemas/LocationGetPostalcodesByLocalityId200Response + text/plain: + schema: + $ref: >- + #/components/schemas/LocationGetPostalcodesByLocalityIdResponse + /api/Location/Postalcodes/Country/{CountryCode}: + get: + tags: + - Location + operationId: Location_getPostalCodesByCountry + parameters: + - name: CountryCode + in: path + required: true + schema: + maxLength: 2 + minLength: 2 + pattern: ^[a-z]*$ + type: string + - name: CourierId + in: query + schema: + type: integer + format: int32 + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/PostalCodeStructured' + text/json: + schema: + $ref: '#/components/schemas/PostalCodeStructured' + text/plain: + schema: + $ref: '#/components/schemas/PostalCodeStructured' + /api/Manifest: + post: + tags: + - Manifest + summary: Requests pickup and get manifest id + operationId: Manifest_requestPickupAndManifestId + parameters: + - description: The requested API version + name: api-version + in: query + required: true + schema: + type: string + default: '1.0' + - description: The requested API version + name: api-version + in: header + schema: + type: string + default: '1.0' + requestBody: + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ManifestRequest' + text/json: + schema: + $ref: '#/components/schemas/ManifestRequest' + application/json-patch+json: + schema: + $ref: '#/components/schemas/ManifestRequest' + application/*+json: + schema: + $ref: '#/components/schemas/ManifestRequest' + responses: + '200': + description: Returns ManifestId + '400': + description: Unable to process due to validation errors + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + get: + tags: + - Manifest + summary: Requests manifest report by id + operationId: Manifest_reportById + parameters: + - description: '' + name: manifestId + in: query + schema: + type: integer + format: int64 + - description: The requested API version + name: api-version + in: query + required: true + schema: + type: string + default: '1.0' + - description: The requested API version + name: api-version + in: header + schema: + type: string + default: '1.0' + responses: + '200': + description: Returns PDF + '400': + description: Unable to process due to validation errors + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/pdf: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + /api/Notifications/sendsms: + post: + tags: + - Notifications + operationId: Notifications_sendSmsNotification + parameters: + - description: The requested API version + name: api-version + in: query + required: true + schema: + type: string + default: '1.0' + - description: The requested API version + name: api-version + in: header + schema: + type: string + default: '1.0' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SendSmsRequest' + text/json: + schema: + $ref: '#/components/schemas/SendSmsRequest' + application/json-patch+json: + schema: + $ref: '#/components/schemas/SendSmsRequest' + application/*+json: + schema: + $ref: '#/components/schemas/SendSmsRequest' + responses: + '200': + description: Success + /api/OfflineOrder/Activate: + put: + tags: + - OfflineOrder + summary: Activate Offline Orders + operationId: OfflineOrder_activateOrder + parameters: + - description: The requested API version + name: api-version + in: query + required: true + schema: + type: string + default: '1.0' + - description: The requested API version + name: api-version + in: header + schema: + type: string + default: '1.0' + requestBody: + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/OfflineOrderActivateOrderRequest1' + text/json: + schema: + $ref: '#/components/schemas/OfflineOrderActivateOrderRequest2' + application/json-patch+json: + schema: + $ref: '#/components/schemas/OfflineOrderActivateOrderRequest' + application/*+json: + schema: + $ref: '#/components/schemas/OfflineOrderActivateOrderRequest3' + responses: + '200': + description: Activated successfully + '400': + description: Unable to process due to validation errors + '401': + description: Unable to authorize request + /api/OfflineOrder/Edit: + put: + tags: + - OfflineOrder + summary: Edit Offline Orders + operationId: OfflineOrder_updateOrderDetails + parameters: + - description: The requested API version + name: api-version + in: query + required: true + schema: + type: string + default: '1.0' + - description: The requested API version + name: api-version + in: header + schema: + type: string + default: '1.0' + requestBody: + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/OfflineOrderUpdateOrderDetailsRequest1' + text/json: + schema: + $ref: '#/components/schemas/OfflineOrderUpdateOrderDetailsRequest2' + application/json-patch+json: + schema: + $ref: '#/components/schemas/OfflineOrderUpdateOrderDetailsRequest' + application/*+json: + schema: + $ref: '#/components/schemas/OfflineOrderUpdateOrderDetailsRequest3' + responses: + '200': + description: Activated successfully + '400': + description: Unable to process due to validation errors + '401': + description: Unable to authorize request + /api/OfflineOrder/Add: + post: + tags: + - OfflineOrder + summary: Add Offline Orders + operationId: OfflineOrder_addOrder + parameters: + - description: The requested API version + name: api-version + in: query + required: true + schema: + type: string + default: '1.0' + - description: The requested API version + name: api-version + in: header + schema: + type: string + default: '1.0' + requestBody: + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/OfflineOrderAddOrderRequest1' + text/json: + schema: + $ref: '#/components/schemas/OfflineOrderAddOrderRequest2' + application/json-patch+json: + schema: + $ref: '#/components/schemas/OfflineOrderAddOrderRequest' + application/*+json: + schema: + $ref: '#/components/schemas/OfflineOrderAddOrderRequest3' + responses: + '200': + description: Added successfully + '400': + description: Unable to process due to validation errors + '401': + description: Unable to authorize request + /api/Order: + post: + tags: + - Order + summary: Creates a new order + operationId: Order_createNewOrder + parameters: + - description: The requested API version + name: api-version + in: query + required: true + schema: + type: string + default: '1.0' + - description: The requested API version + name: api-version + in: header + schema: + type: string + default: '1.0' + requestBody: + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/OrderRequest' + example: + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3785363+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - description: article description + quantity: 1 + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + text/json: + schema: + $ref: '#/components/schemas/OrderRequest' + example: + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3785363+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - description: article description + quantity: 1 + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + application/json-patch+json: + schema: + $ref: '#/components/schemas/OrderRequest' + example: + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3785363+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - description: article description + quantity: 1 + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + application/*+json: + schema: + $ref: '#/components/schemas/OrderRequest' + example: + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3785363+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - description: article description + quantity: 1 + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + responses: + '201': + description: Creates an new order in the system + content: + application/json: + schema: + $ref: '#/components/schemas/OrderResponse' + example: + clientOrderId: 662 + courierShipmentId: '877551879' + courierShipmentVoucher: null + courier: 1 + courierParcelsBarcodes: null + price: + amount: 13.36 + vat: 2.54 + totalAmount: 15.9 + currency: RON + priceComponents: null + calculatedDeliveryDate: '2019-10-03T00:00:00Z' + trackPageUrl: null + courierTrackPageUrl: null + courierResponse: null + extra: null + address: null + '400': + description: Unable to create the order due to validation error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /api/Order/simulate: + post: + tags: + - Order + operationId: Order_simulateOrder + parameters: + - description: The requested API version + name: api-version + in: query + required: true + schema: + type: string + default: '1.0' + - description: The requested API version + name: api-version + in: header + schema: + type: string + default: '1.0' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OrderRequest' + example: + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3809049+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - description: article description + quantity: 1 + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + text/json: + schema: + $ref: '#/components/schemas/OrderRequest' + example: + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3809049+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - description: article description + quantity: 1 + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + application/json-patch+json: + schema: + $ref: '#/components/schemas/OrderRequest' + example: + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3809049+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - description: article description + quantity: 1 + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + application/*+json: + schema: + $ref: '#/components/schemas/OrderRequest' + example: + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3809049+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - description: article description + quantity: 1 + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/OrderResponse' + example: + clientOrderId: 662 + courierShipmentId: '877551879' + courierShipmentVoucher: null + courier: 1 + courierParcelsBarcodes: null + price: + amount: 13.36 + vat: 2.54 + totalAmount: 15.9 + currency: RON + priceComponents: null + calculatedDeliveryDate: '2019-10-03T00:00:00Z' + trackPageUrl: null + courierTrackPageUrl: null + courierResponse: null + extra: null + address: null + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /api/Order/validate: + post: + tags: + - Order + summary: Validates a new order request + operationId: Order_validateNewOrder + parameters: + - description: The requested API version + name: api-version + in: query + required: true + schema: + type: string + default: '1.0' + - description: The requested API version + name: api-version + in: header + schema: + type: string + default: '1.0' + requestBody: + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/OrderRequest' + example: + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3824063+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - description: article description + quantity: 1 + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + text/json: + schema: + $ref: '#/components/schemas/OrderRequest' + example: + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3824063+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - description: article description + quantity: 1 + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + application/json-patch+json: + schema: + $ref: '#/components/schemas/OrderRequest' + example: + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3824063+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - description: article description + quantity: 1 + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + application/*+json: + schema: + $ref: '#/components/schemas/OrderRequest' + example: + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3824063+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - description: article description + quantity: 1 + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/OrderResponse' + example: + clientOrderId: 662 + courierShipmentId: '877551879' + courierShipmentVoucher: null + courier: 1 + courierParcelsBarcodes: null + price: + amount: 13.36 + vat: 2.54 + totalAmount: 15.9 + currency: RON + priceComponents: null + calculatedDeliveryDate: '2019-10-03T00:00:00Z' + trackPageUrl: null + courierTrackPageUrl: null + courierResponse: null + extra: null + address: null + '201': + description: Creates an new order in the system + '400': + description: Unable to create the order due to validation error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /api/Order/multiple/simulate: + post: + tags: + - Order + operationId: Order_simulateMultiple + parameters: + - description: The requested API version + name: api-version + in: query + required: true + schema: + type: string + default: '1.0' + - description: The requested API version + name: api-version + in: header + schema: + type: string + default: '1.0' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OrderSimulateMultipleRequest1' + example: + - parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3895363+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - description: article description + quantity: 1 + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + - parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3895452+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - description: article description + quantity: 1 + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + text/json: + schema: + $ref: '#/components/schemas/OrderSimulateMultipleRequest2' + example: + - parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3895363+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - description: article description + quantity: 1 + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + - parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3895452+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - description: article description + quantity: 1 + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + application/json-patch+json: + schema: + $ref: '#/components/schemas/OrderSimulateMultipleRequest' + example: + - parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3895363+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - description: article description + quantity: 1 + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + - parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3895452+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - description: article description + quantity: 1 + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + application/*+json: + schema: + $ref: '#/components/schemas/OrderSimulateMultipleRequest3' + example: + - parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3895363+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - description: article description + quantity: 1 + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + - parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3895452+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - description: article description + quantity: 1 + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/OrderSimulateMultipleResponse' + example: + '1': + response: + clientOrderId: 662 + courierShipmentId: '877551879' + courierShipmentVoucher: null + courier: 1 + courierParcelsBarcodes: null + price: + amount: 13.36 + vat: 2.54 + totalAmount: 15.9 + currency: RON + priceComponents: null + calculatedDeliveryDate: '2019-10-03T00:00:00Z' + trackPageUrl: null + courierTrackPageUrl: null + courierResponse: null + extra: null + address: null + errors: null + correlationId: null + '2': + response: + clientOrderId: 662 + courierShipmentId: '877551879' + courierShipmentVoucher: null + courier: 1 + courierParcelsBarcodes: null + price: + amount: 13.36 + vat: 2.54 + totalAmount: 15.9 + currency: RON + priceComponents: null + calculatedDeliveryDate: '2019-10-03T00:00:00Z' + trackPageUrl: null + courierTrackPageUrl: null + courierResponse: null + extra: null + address: null + errors: null + correlationId: null + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/OrderSimulateMultiple400Response' + example: + '1': + response: + clientOrderId: 662 + courierShipmentId: '877551879' + courierShipmentVoucher: null + courier: 1 + courierParcelsBarcodes: null + price: + amount: 13.36 + vat: 2.54 + totalAmount: 15.9 + currency: RON + priceComponents: null + calculatedDeliveryDate: '2019-10-03T00:00:00Z' + trackPageUrl: null + courierTrackPageUrl: null + courierResponse: null + extra: null + address: null + errors: null + correlationId: null + '2': + response: + clientOrderId: 662 + courierShipmentId: '877551879' + courierShipmentVoucher: null + courier: 1 + courierParcelsBarcodes: null + price: + amount: 13.36 + vat: 2.54 + totalAmount: 15.9 + currency: RON + priceComponents: null + calculatedDeliveryDate: '2019-10-03T00:00:00Z' + trackPageUrl: null + courierTrackPageUrl: null + courierResponse: null + extra: null + address: null + errors: null + correlationId: null + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/OrderSimulateMultiple401Response' + example: + '1': + response: + clientOrderId: 662 + courierShipmentId: '877551879' + courierShipmentVoucher: null + courier: 1 + courierParcelsBarcodes: null + price: + amount: 13.36 + vat: 2.54 + totalAmount: 15.9 + currency: RON + priceComponents: null + calculatedDeliveryDate: '2019-10-03T00:00:00Z' + trackPageUrl: null + courierTrackPageUrl: null + courierResponse: null + extra: null + address: null + errors: null + correlationId: null + '2': + response: + clientOrderId: 662 + courierShipmentId: '877551879' + courierShipmentVoucher: null + courier: 1 + courierParcelsBarcodes: null + price: + amount: 13.36 + vat: 2.54 + totalAmount: 15.9 + currency: RON + priceComponents: null + calculatedDeliveryDate: '2019-10-03T00:00:00Z' + trackPageUrl: null + courierTrackPageUrl: null + courierResponse: null + extra: null + address: null + errors: null + correlationId: null + /api/Order/file: + post: + tags: + - Order + operationId: Order_uploadFile + parameters: + - description: The requested API version + name: api-version + in: query + required: true + schema: + type: string + default: '1.0' + - description: The requested API version + name: api-version + in: header + schema: + type: string + default: '1.0' + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/OrderUploadFileResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /api/Order/{courierId}/awb/{awbNo}: + delete: + tags: + - Order + summary: Deletes an existing order + operationId: Order_deleteExistingOrder + parameters: + - description: Courier id + name: courierId + in: path + required: true + schema: + type: integer + format: int32 + - description: AWB number + name: awbNo + in: path + required: true + schema: + type: string + - description: The requested API version + name: api-version + in: query + required: true + schema: + type: string + default: '1.0' + - description: The requested API version + name: api-version + in: header + schema: + type: string + default: '1.0' + responses: + '201': + description: Deletes an existing order from the system + content: + application/json: + schema: + $ref: '#/components/schemas/OrderResponse' + example: + clientOrderId: 662 + courierShipmentId: '877551879' + courierShipmentVoucher: null + courier: 1 + courierParcelsBarcodes: null + price: + amount: 13.36 + vat: 2.54 + totalAmount: 15.9 + currency: RON + priceComponents: null + calculatedDeliveryDate: '2019-10-03T00:00:00Z' + trackPageUrl: null + courierTrackPageUrl: null + courierResponse: null + extra: null + address: null + '400': + description: Unable to delete the order due to validation error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /api/Order/UpdateStatus: + post: + tags: + - Order + summary: Updates orders statuses + operationId: Order_updateStatus + parameters: + - description: The requested API version + name: api-version + in: query + required: true + schema: + type: string + default: '1.0' + - description: The requested API version + name: api-version + in: header + schema: + type: string + default: '1.0' + requestBody: + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/OrderUpdateStatusRequest1' + text/json: + schema: + $ref: '#/components/schemas/OrderUpdateStatusRequest2' + application/json-patch+json: + schema: + $ref: '#/components/schemas/OrderUpdateStatusRequest' + application/*+json: + schema: + $ref: '#/components/schemas/OrderUpdateStatusRequest3' + responses: + '200': + description: Request was processed successfully + '400': + description: Unable to process due to validation errors + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /api/Order/UpdateParcels: + post: + tags: + - Order + summary: Create a new order based on the existing one and cancel the original + operationId: Order_updateParcels + parameters: + - description: The requested API version + name: api-version + in: query + required: true + schema: + type: string + default: '1.0' + - description: The requested API version + name: api-version + in: header + schema: + type: string + default: '1.0' + requestBody: + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateParcelsRequest' + text/json: + schema: + $ref: '#/components/schemas/UpdateParcelsRequest' + application/json-patch+json: + schema: + $ref: '#/components/schemas/UpdateParcelsRequest' + application/*+json: + schema: + $ref: '#/components/schemas/UpdateParcelsRequest' + responses: + '200': + description: Creates an new order in the system + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/OrderResponse' + example: + clientOrderId: 662 + courierShipmentId: '877551879' + courierShipmentVoucher: null + courier: 1 + courierParcelsBarcodes: null + price: + amount: 13.36 + vat: 2.54 + totalAmount: 15.9 + currency: RON + priceComponents: null + calculatedDeliveryDate: '2019-10-03T00:00:00Z' + trackPageUrl: null + courierTrackPageUrl: null + courierResponse: null + extra: null + address: null + '400': + description: Unable to create the order due to validation error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /api/Order/UpdateCustomAttributes/{courierId}/awb/{awb}: + post: + tags: + - Order + summary: Updates custom attributes + operationId: Order_updateCustomAttributes + parameters: + - description: Courier id + name: courierId + in: path + required: true + schema: + type: integer + format: int32 + - description: AWB number + name: awb + in: path + required: true + schema: + type: string + - description: The requested API version + name: api-version + in: query + required: true + schema: + type: string + default: '1.0' + - description: The requested API version + name: api-version + in: header + schema: + type: string + default: '1.0' + requestBody: + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/OrderUpdateCustomAttributesRequest1' + text/json: + schema: + $ref: '#/components/schemas/OrderUpdateCustomAttributesRequest2' + application/json-patch+json: + schema: + $ref: '#/components/schemas/OrderUpdateCustomAttributesRequest' + application/*+json: + schema: + $ref: '#/components/schemas/OrderUpdateCustomAttributesRequest3' + responses: + '200': + description: Request was processed successfully + '400': + description: Unable to process due to validation errors + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /api/Order/by-location/{externalLocationId}/{from}/{to}: + get: + tags: + - Order + summary: Retrieve orders by externalLocationId with dates filter + operationId: Order_getByLocationDates + parameters: + - description: External Location Id + name: externalLocationId + in: path + required: true + schema: + type: string + - description: From date + name: from + in: path + required: true + schema: + type: string + format: date-time + - description: To date + name: to + in: path + required: true + schema: + type: string + format: date-time + - description: The requested API version + name: api-version + in: query + required: true + schema: + type: string + default: '1.0' + - description: The requested API version + name: api-version + in: header + schema: + type: string + default: '1.0' + responses: + '200': + description: Request was processed successfully + '400': + description: Unable to process due to validation errors + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /api/Order/ReturnAwbInfo/{courierId}/{returnAwb}: + get: + tags: + - Order + operationId: Order_getReturnAwbInfo + parameters: + - name: courierId + in: path + required: true + schema: + type: integer + format: int32 + - name: returnAwb + in: path + required: true + schema: + type: string + - description: The requested API version + name: api-version + in: query + required: true + schema: + type: string + default: '1.0' + - description: The requested API version + name: api-version + in: header + schema: + type: string + default: '1.0' + responses: + default: + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /api/Order/UploadDocuments: + post: + tags: + - Order + summary: UploadDocuments + operationId: Order_uploadDocuments + parameters: + - description: The requested API version + name: api-version + in: query + required: true + schema: + type: string + default: '1.0' + - description: The requested API version + name: api-version + in: header + schema: + type: string + default: '1.0' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UploadDocumentsApiRequest' + text/json: + schema: + $ref: '#/components/schemas/UploadDocumentsApiRequest' + application/json-patch+json: + schema: + $ref: '#/components/schemas/UploadDocumentsApiRequest' + application/*+json: + schema: + $ref: '#/components/schemas/UploadDocumentsApiRequest' + responses: + '200': + description: Document uploaded + content: + application/json: + schema: + $ref: '#/components/schemas/UploadDocumentsApiResponse' + '400': + description: Unable to upload documents + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /api/Price: + post: + tags: + - Price + summary: Gets the prices for the specified request + operationId: Price_getPrices + parameters: + - description: The requested API version + name: api-version + in: query + required: true + schema: + type: string + default: '1.0' + - description: The requested API version + name: api-version + in: header + schema: + type: string + default: '1.0' + requestBody: + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/OrderRequest' + example: + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.4002507+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - description: article description + quantity: 1 + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + text/json: + schema: + $ref: '#/components/schemas/OrderRequest' + example: + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.4002507+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - description: article description + quantity: 1 + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + application/json-patch+json: + schema: + $ref: '#/components/schemas/OrderRequest' + example: + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.4002507+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - description: article description + quantity: 1 + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + application/*+json: + schema: + $ref: '#/components/schemas/OrderRequest' + example: + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.4002507+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - description: article description + quantity: 1 + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + responses: + '201': + description: List of prices for eligible couriers + content: + application/json: + schema: + $ref: '#/components/schemas/PriceResponse' + '400': + description: Unable to get prices due to validation error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /api/Track/by-awb/with-return: + post: + tags: + - Track + summary: Track by Order Courier AWB with return info + operationId: Track_orderCourierAwbWithReturn + parameters: + - description: The requested API version + name: api-version + in: query + required: true + schema: + type: string + default: '1.0' + - description: The requested API version + name: api-version + in: header + schema: + type: string + default: '1.0' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TrackRequest' + text/json: + schema: + $ref: '#/components/schemas/TrackRequest' + application/json-patch+json: + schema: + $ref: '#/components/schemas/TrackRequest' + application/*+json: + schema: + $ref: '#/components/schemas/TrackRequest' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/TrackOrderCourierAwbWithReturn200Response' + text/json: + schema: + $ref: '#/components/schemas/TrackOrderCourierAwbWithReturn200Response' + text/plain: + schema: + $ref: '#/components/schemas/TrackOrderCourierAwbWithReturnResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + /api/Track/return/by-awb: + post: + tags: + - Track + summary: Track Retrun by Courier AWB + operationId: Track_byAwb + parameters: + - description: The requested API version + name: api-version + in: query + required: true + schema: + type: string + default: '1.0' + - description: The requested API version + name: api-version + in: header + schema: + type: string + default: '1.0' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TrackRequest' + text/json: + schema: + $ref: '#/components/schemas/TrackRequest' + application/json-patch+json: + schema: + $ref: '#/components/schemas/TrackRequest' + application/*+json: + schema: + $ref: '#/components/schemas/TrackRequest' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/TrackByAwb200Response' + text/json: + schema: + $ref: '#/components/schemas/TrackByAwb200Response' + text/plain: + schema: + $ref: '#/components/schemas/TrackByAwbResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + /api/Voucher/Create: + post: + tags: + - Voucher + summary: Create Voucher + operationId: Voucher_generateNewVoucher + parameters: + - description: The requested API version + name: api-version + in: query + required: true + schema: + type: string + default: '1.0' + - description: The requested API version + name: api-version + in: header + schema: + type: string + default: '1.0' + requestBody: + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/CreateVoucherApiRequest' + text/json: + schema: + $ref: '#/components/schemas/CreateVoucherApiRequest' + application/json-patch+json: + schema: + $ref: '#/components/schemas/CreateVoucherApiRequest' + application/*+json: + schema: + $ref: '#/components/schemas/CreateVoucherApiRequest' + responses: + '200': + description: Activated successfully + '400': + description: Unable to process due to validation errors + '401': + description: Unable to authorize request + /api/Voucher/Activate: + post: + tags: + - Voucher + summary: Activate Voucher + operationId: Voucher_activateVoucher + parameters: + - description: The requested API version + name: api-version + in: query + required: true + schema: + type: string + default: '1.0' + - description: The requested API version + name: api-version + in: header + schema: + type: string + default: '1.0' + requestBody: + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ActivateVoucherApiRequest' + text/json: + schema: + $ref: '#/components/schemas/ActivateVoucherApiRequest' + application/json-patch+json: + schema: + $ref: '#/components/schemas/ActivateVoucherApiRequest' + application/*+json: + schema: + $ref: '#/components/schemas/ActivateVoucherApiRequest' + responses: + '200': + description: Activated successfully + '400': + description: Unable to process due to validation errors + '401': + description: Unable to authorize request +components: + schemas: + ActivateAddress: + type: object + properties: + name: + type: string + nullable: true + contactPerson: + type: string + nullable: true + country: + type: string + nullable: true + countryName: + type: string + nullable: true + countyId: + type: integer + format: int32 + nullable: true + localityId: + type: integer + format: int32 + nullable: true + countryId: + type: integer + format: int32 + nullable: true + countyName: + type: string + nullable: true + localityName: + type: string + nullable: true + addressText: + type: string + nullable: true + postalCode: + type: string + nullable: true + phone: + type: string + nullable: true + email: + type: string + nullable: true + fixedLocationId: + type: string + nullable: true + fixedLocationName: + type: string + nullable: true + courierFixedLocationId: + type: string + nullable: true + ActivateOrderApiRequest: + type: object + properties: + courier: + $ref: '#/components/schemas/Courier' + courierShipmentId: + type: string + nullable: true + shipmentDate: + type: string + format: date-time + nullable: true + shipmentDateEnd: + type: string + format: date-time + nullable: true + parcels: + type: array + items: + $ref: '#/components/schemas/ActivateOrderParcel' + nullable: true + addressFrom: + $ref: '#/components/schemas/ActivateAddress' + addressTo: + $ref: '#/components/schemas/ActivateAddress' + ActivateOrderParcel: + type: object + properties: + sequenceNo: + type: integer + format: int32 + size: + $ref: '#/components/schemas/ActivateOrderParcelSize' + weight: + type: number + format: double + ActivateOrderParcelSize: + type: object + properties: + width: + type: number + format: double + height: + type: number + format: double + length: + type: number + format: double + ActivateVoucherApiRequest: + type: object + properties: + courier: + $ref: '#/components/schemas/Courier' + courierShipmentId: + type: string + nullable: true + courierShipmentVoucher: + type: string + nullable: true + AllCouriersResponse: + type: object + properties: + courierId: + type: integer + format: int32 + courier: + type: string + nullable: true + courierDisplayName: + type: string + nullable: true + BulkLabelApiRequest: + type: object + properties: + labelType: + $ref: '#/components/schemas/LabelType' + labelFormat: + $ref: '#/components/schemas/LabelFormat' + useFile: + type: boolean + includeVoucher: + type: boolean + awBs: + type: array + items: + $ref: '#/components/schemas/BulkLabelApiRequestItem' + nullable: true + BulkLabelApiRequestItem: + type: object + properties: + courierId: + $ref: '#/components/schemas/Courier' + typeId: + type: integer + format: int32 + courierShipmentId: + type: string + nullable: true + ClientPreferences: + type: object + properties: + preferredLabel: + $ref: '#/components/schemas/LabelFormat' + preferredLocationId: + type: integer + format: int32 + nullable: true + orderColumns: + type: array + items: + type: string + nullable: true + pickupColumns: + type: array + items: + type: string + nullable: true + returnColumns: + type: array + items: + type: string + nullable: true + Courier: + enum: + - Cargus + - DPD + - FanCourier + - GLS + - Nemo + - Sameday + - ExpressOne + - ECont + - TeamCourier + - DHL + - PostaRomana + - PostaPanduri + - GLS_HU + - DragonStar + - Coletaria + - Bookurier + - Asendia + - TNT + - DPD_BG + - GLS_HR + - GLS_CZ + - GLS_SI + - GLS_SK + - InOut + - StackCurier + - GebruderWeiss + - Pallex + - GT + - CourierManager + - GLS_IT + - ECourier + - Unimasters + - TCE + - TransilvaniaPost + - BGPost + - Evropat + - SMPCourier + - DHL_DE + - Raben + - Memex + - PTTExpress + - XDCourier + - IL + - NovaPosta + - PinkPost + - Strongo + - DHL_Paket + - DHL_Parcel + - BeeFast + - InPost + - KLG + - Schenker + - Packageez + - Kargo + - SundayCourier + - PocztaPolska + - Sinapseria + - UPS + - DPD_HR + - DPD_SI + - NovaPoshtaGlobal + - ALD + - ProNatur + - DPD_HU + - GLS_PL + - Futar24h + - SlovakParcelService + - DPD_DE + - VanOnGo + - CeskaPosta + - DPD_SK + - SolAir + - PostaSlovenije + - DPD_PL + - Agil24 + - OrlenPackza + - Speedex + - FedEx + - DPD_UK + - PPL + - EColet + - ACS + - Helpship + - DPD_CZ + - MagyarPosta + - EVRI + - FedEx_PL + - KuehneNagel + - Sameday_BG + - Sameday_HU + - FanDelivery + - Seur + - Correos + - Couriera + - ChopChop + - InPost_ES + - FanCourierMoldova + - GLS_DE + - Kurier123 + - Dachser + - CTT_PT + - DPD_AT + - PostNord + - Pharmalink + - MRW + - Eurolog + - IDLogistics + - GLS_DK + - RoyalMail + - FanInternational + - Go4 + - InPost_IT + - AmazonShipping_IT + - TNT_IT + - Posta_SK + - Posta_AT + - GLS_ES + - LithuanianPost + - DHL_Parcel_DE + - DPD_LT + - ExpressOne_BG + - FoxPost + - Posta_NL + - InnoshipMocked + type: string + CourierServiceRestrictionsDto: + type: object + properties: + piecesCountMin: + type: integer + format: int32 + nullable: true + piecesCountMax: + type: integer + format: int32 + nullable: true + weightMin: + type: integer + format: int32 + nullable: true + weightMax: + type: integer + format: int32 + nullable: true + parcelWeightMin: + type: integer + format: int32 + nullable: true + parcelWeightMax: + type: integer + format: int32 + nullable: true + widthMin: + type: integer + format: int32 + nullable: true + widthMax: + type: integer + format: int32 + nullable: true + heightMin: + type: integer + format: int32 + nullable: true + heightMax: + type: integer + format: int32 + nullable: true + lengthMin: + type: integer + format: int32 + nullable: true + lengthMax: + type: integer + format: int32 + nullable: true + orderCountMax: + type: integer + format: int32 + nullable: true + orderPiecesCountMax: + type: integer + format: int32 + nullable: true + orderLocationCountMax: + type: array + items: + $ref: '#/components/schemas/RestrictionCountryCountyDto' + nullable: true + orderLocationPiecesCountMax: + type: array + items: + $ref: '#/components/schemas/RestrictionCountryCountyDto' + nullable: true + allowsCOD: + type: boolean + nullable: true + allowsBankCOD: + type: boolean + nullable: true + allowsNoSizeForParcels: + type: boolean + nullable: true + allowsPickUp: + type: boolean + nullable: true + allowsOrder: + type: boolean + nullable: true + allowsEmptyPostalCode: + type: boolean + nullable: true + allowsReturnDocument: + type: boolean + nullable: true + allowsReturnPackage: + type: boolean + nullable: true + allowsOversized: + type: boolean + nullable: true + allowsInsurance: + type: boolean + nullable: true + allowsSaturdayDelivery: + type: boolean + nullable: true + allowsOpenPackage: + type: boolean + nullable: true + courierCutOffTime: + type: string + format: date-span + nullable: true + CreateLocationCourierServicesDto: + type: object + properties: + courierId: + type: integer + format: int32 + isEmagMarketPlace: + type: boolean + CreateVoucherApiRequest: + type: object + properties: + courier: + $ref: '#/components/schemas/Courier' + courierShipmentId: + type: string + nullable: true + voucherCourier: + $ref: '#/components/schemas/Courier' + insuranceAmount: + type: number + format: double + insuranceCurrency: + type: string + nullable: true + EditOrderApiRequest: + type: object + properties: + offlineStatusId: + $ref: '#/components/schemas/OrderOfflineStatus' + courier: + $ref: '#/components/schemas/Courier' + courierShipmentId: + type: string + nullable: true + shipmentDate: + type: string + format: date-time + nullable: true + shipmentDateEnd: + type: string + format: date-time + nullable: true + parcels: + type: array + items: + $ref: '#/components/schemas/ActivateOrderParcel' + nullable: true + addressFrom: + $ref: '#/components/schemas/ActivateAddress' + addressTo: + $ref: '#/components/schemas/ActivateAddress' + Error: + type: object + properties: + context: + type: string + nullable: true + message: + type: string + nullable: true + details: + type: array + items: + $ref: '#/components/schemas/Error' + nullable: true + ErrorResponse: + type: object + properties: + errors: + type: array + items: + $ref: '#/components/schemas/ErrorResponseItem' + nullable: true + correlationId: + type: string + nullable: true + ErrorResponseItem: + type: object + properties: + message: + type: string + nullable: true + details: + type: array + items: + type: string + nullable: true + FixedLocationType: + enum: + - Locker + - PickupPoint + type: string + LabelFormat: + enum: + - A4 + - A6 + - T_85x85 + - A6_300dpi + - A4_4xA6 + - A6_10x9 + type: string + LabelResponse: + type: object + properties: + courier: + type: integer + format: int32 + contents: + type: string + nullable: true + labels: + type: array + items: + type: string + nullable: true + LabelType: + enum: + - Pdf + - Html + - Zpl + type: string + LimitedAddress: + type: object + properties: + country: + type: string + nullable: true + countyName: + type: string + nullable: true + localityName: + type: string + nullable: true + postalCode: + type: string + nullable: true + LocalityPostalCodeInfo: + type: object + properties: + localityId: + type: integer + format: int32 + postalCode: + type: string + nullable: true + streetName: + type: string + nullable: true + streetNameLocalized: + type: string + nullable: true + neighbourhoodName: + type: string + nullable: true + neighbourhoodNameLocalized: + type: string + nullable: true + streetPrefix: + type: string + nullable: true + streetPrefixLocalized: + type: string + nullable: true + LocationAddressDto: + type: object + properties: + name: + type: string + nullable: true + contactPerson: + type: string + nullable: true + phone: + type: string + nullable: true + email: + type: string + nullable: true + localityId: + type: integer + format: int32 + localityName: + type: string + nullable: true + addressText: + type: string + nullable: true + postalCode: + type: string + nullable: true + countyId: + type: integer + format: int32 + countyName: + type: string + nullable: true + countryCode: + type: string + nullable: true + countryName: + type: string + nullable: true + ignoreLocalityId: + type: boolean + latitude: + type: number + format: double + nullable: true + longitude: + type: number + format: double + nullable: true + LocationCourierServiceDto: + type: object + properties: + courierId: + type: integer + format: int32 + courier: + type: string + nullable: true + courierDisplayName: + type: string + nullable: true + serviceId: + type: integer + format: int32 + service: + type: string + nullable: true + serviceGroupId: + type: integer + format: int32 + serviceGroupName: + type: string + nullable: true + hasValidationError: + type: boolean + nullable: true + courierServiceRestrictions: + $ref: '#/components/schemas/CourierServiceRestrictionsDto' + useCourierPrices: + type: boolean + nullable: true + mappingTemplateOptionId: + type: string + nullable: true + voucherTemplateOptionId: + type: string + nullable: true + extraServices: + type: object + additionalProperties: + type: boolean + nullable: true + nullable: true + mappingReferences: + type: object + additionalProperties: + type: integer + format: int32 + nullable: true + nullable: true + countryDeliveryDays: + type: object + additionalProperties: + type: integer + format: int32 + nullable: true + nullable: true + enabled: + type: boolean + nullable: true + localityKm: + type: integer + format: int32 + nullable: true + priceLocalityId: + type: integer + format: int32 + nullable: true + LocationDto: + type: object + properties: + address: + $ref: '#/components/schemas/LocationAddressDto' + courierCutOffTimes: + type: string + nullable: true + courierAutomaticCallTimes: + type: string + nullable: true + useSameCourierForSameAddress: + type: boolean + courierFailPolicy: + type: integer + format: int32 + timeZoneId: + type: string + nullable: true + priceGroupId: + type: integer + format: int32 + nullable: true + notificationEmail: + type: string + nullable: true + notificationPhone: + type: string + nullable: true + courierVoucherService: + type: object + additionalProperties: + type: integer + format: int32 + nullable: true + nullable: true + marketPlaceCallBackSettings: + type: object + additionalProperties: + type: object + additionalProperties: + type: string + nullable: true + nullable: true + importIsActive: + type: boolean + nullable: true + setHandoverOnManifest: + type: boolean + nullable: true + courierServices: + type: array + items: + $ref: '#/components/schemas/LocationCourierServiceDto' + nullable: true + id: + type: integer + format: int32 + name: + type: string + nullable: true + externalLocationId: + type: string + nullable: true + LocationFilter: + type: object + properties: + name: + type: array + items: + type: string + nullable: true + countryId: + type: array + items: + type: integer + format: int32 + nullable: true + countyId: + type: array + items: + type: integer + format: int32 + nullable: true + localityId: + type: array + items: + type: integer + format: int32 + nullable: true + addressText: + type: string + nullable: true + courierId: + type: array + items: + type: integer + format: int32 + nullable: true + ids: + type: array + items: + type: integer + format: int32 + nullable: true + createdAtLe: + type: string + format: date-time + nullable: true + createdAtGe: + type: string + format: date-time + nullable: true + userId: + type: array + items: + type: string + format: uuid + nullable: true + skip: + type: integer + format: int32 + nullable: true + take: + type: integer + format: int32 + nullable: true + orderBy: + type: string + nullable: true + orderByAsc: + type: boolean + ManifestRequest: + type: object + properties: + courierId: + $ref: '#/components/schemas/Courier' + externalLocationId: + type: string + nullable: true + lastPickHour: + type: integer + format: int32 + nullable: true + MarketplaceIntegration: + enum: + - Vivre + type: string + OfflineOrderAddParcel: + type: object + properties: + sequenceNo: + type: integer + format: int32 + size: + $ref: '#/components/schemas/OfflineOrderAddParcelSize' + weight: + type: number + format: double + type: + $ref: '#/components/schemas/ParcelType' + reference1: + type: string + nullable: true + reference2: + type: string + nullable: true + reference3: + type: string + nullable: true + customerBarcode: + type: string + nullable: true + OfflineOrderAddParcelSize: + type: object + properties: + width: + type: number + format: double + height: + type: number + format: double + length: + type: number + format: double + OfflineOrderAddRequest: + type: object + properties: + courier: + $ref: '#/components/schemas/Courier' + courierShipmentId: + type: string + nullable: true + parcels: + type: array + items: + $ref: '#/components/schemas/OfflineOrderAddParcel' + nullable: true + OrderBarcodes: + type: object + properties: + sequenceNo: + type: integer + format: int32 + barcode: + type: string + nullable: true + customerBarcode: + type: string + nullable: true + OrderOfflineStatus: + enum: + - New + - Success + - Error + - InProgress + - Consolidate + type: string + OrderRequest: + type: object + properties: + parameters: + $ref: '#/components/schemas/OrderRequestParameters' + serviceId: + type: integer + format: int32 + courierId: + $ref: '#/components/schemas/Courier' + shipmentDate: + type: string + format: date-time + shipmentDateEnd: + type: string + format: date-time + addressFrom: + $ref: '#/components/schemas/OrderRequestAddress' + addressTo: + $ref: '#/components/schemas/OrderRequestAddress' + addressReturn: + $ref: '#/components/schemas/OrderRequestAddress' + payment: + $ref: '#/components/schemas/PaymentType' + content: + $ref: '#/components/schemas/OrderRequestContent' + extra: + $ref: '#/components/schemas/OrderRequestExtra' + externalClientLocation: + type: string + nullable: true + externalOrderId: + type: string + nullable: true + metadata: + type: string + nullable: true + sourceChannel: + type: string + nullable: true + observation: + type: string + nullable: true + customAttributes: + type: object + additionalProperties: + type: string + nullable: true + nullable: true + clientSettings: + $ref: '#/components/schemas/OrderRequestClientSettings' + OrderRequestAddress: + type: object + properties: + name: + type: string + nullable: true + contactPerson: + type: string + nullable: true + country: + type: string + nullable: true + countryName: + type: string + nullable: true + countyId: + type: integer + format: int32 + nullable: true + localityId: + type: integer + format: int32 + nullable: true + countryId: + type: integer + format: int32 + nullable: true + countyName: + type: string + nullable: true + localityName: + type: string + nullable: true + addressText: + type: string + nullable: true + streetType: + type: string + nullable: true + streetName: + type: string + nullable: true + streetNumber: + type: string + nullable: true + postalCode: + type: string + nullable: true + phone: + type: string + nullable: true + email: + type: string + nullable: true + fixedLocationId: + type: string + nullable: true + fixedLocationName: + type: string + nullable: true + courierFixedLocationId: + type: string + nullable: true + OrderRequestClientSettings: + type: object + properties: + trackPageDomainName: + type: string + nullable: true + priceWeight: + type: number + format: double + nullable: true + performanceWeight: + type: number + format: double + nullable: true + performanceMaximumPriceDeviation: + type: number + format: double + nullable: true + performanceMaximumFlatPriceDeviation: + type: number + format: double + nullable: true + performancePreferredMinimumPriceThreshold: + type: number + format: double + nullable: true + clientPreferences: + $ref: '#/components/schemas/ClientPreferences' + senderLocationTimeZoneId: + type: string + nullable: true + doNoSaveGDPRData: + type: boolean + nullable: true + openPackageIsOptional: + type: boolean + nullable: true + saturdayDeliveryIsOptional: + type: boolean + nullable: true + uniqueOrderReferenceId: + type: integer + format: int32 + nullable: true + useInnoshipInsurance: + type: boolean + nullable: true + performanceClientRates: + type: object + additionalProperties: + type: number + format: double + nullable: true + OrderRequestContent: + type: object + properties: + envelopeCount: + type: integer + format: int32 + parcelsCount: + type: integer + format: int32 + palettesCount: + type: integer + format: int32 + totalWeight: + type: number + format: double + contents: + type: string + nullable: true + package: + type: string + nullable: true + oversizedPackage: + type: boolean + parcels: + type: array + items: + $ref: '#/components/schemas/OrderRequestContentParcel' + nullable: true + invoiceNumber: + type: string + nullable: true + invoiceDate: + type: string + format: date-time + nullable: true + invoiceValue: + type: number + format: double + nullable: true + invoiceValueCurrency: + type: string + nullable: true + articles: + type: array + items: + $ref: '#/components/schemas/OrderRequestContentArticle' + nullable: true + OrderRequestContentArticle: + type: object + properties: + description: + type: string + nullable: true + quantity: + type: integer + format: int32 + countryOfOrigin: + type: string + nullable: true + tariff: + type: string + nullable: true + weightNet: + type: number + format: double + weightGross: + type: number + format: double + pricePerPieceAmount: + type: number + format: double + pricePerPieceAmountCurrency: + type: string + nullable: true + sku: + type: string + nullable: true + OrderRequestContentParcel: + type: object + properties: + sequenceNo: + type: integer + format: int32 + size: + $ref: '#/components/schemas/OrderRequestContentParcelSize' + weight: + type: number + format: double + type: + $ref: '#/components/schemas/ParcelType' + reference1: + type: string + nullable: true + reference2: + type: string + nullable: true + reference3: + type: string + nullable: true + customerBarcode: + type: string + nullable: true + dangerousGood: + $ref: '#/components/schemas/OrderRequestContentParcelDangerousGood' + OrderRequestContentParcelDangerousGood: + type: object + properties: + productId: + type: string + nullable: true + productDescription: + type: string + nullable: true + productClass: + type: integer + format: int32 + quantityClassification: + type: string + nullable: true + packagingGroupType: + type: string + nullable: true + packagingInstructions: + type: string + nullable: true + chemicalRecordIdentifier: + type: string + nullable: true + OrderRequestContentParcelSize: + type: object + properties: + width: + type: number + format: double + height: + type: number + format: double + length: + type: number + format: double + OrderRequestExtra: + type: object + properties: + bankRepaymentAmount: + type: number + format: double + nullable: true + bankRepaymentCurrency: + type: string + nullable: true + cashOnDeliveryAmount: + type: number + format: double + nullable: true + cashOnDeliveryAmountCurrency: + type: string + nullable: true + cashOnDeliveryPayoutToLocation: + type: boolean + nullable: true + declaredValueAmount: + type: number + format: double + nullable: true + declaredValueAmountCurrency: + type: string + nullable: true + openPackage: + type: boolean + nullable: true + saturdayDelivery: + type: boolean + nullable: true + insuranceAmount: + type: number + format: double + nullable: true + insuranceAmountCurrency: + type: string + nullable: true + reference1: + type: string + nullable: true + reference2: + type: string + nullable: true + reference3: + type: string + nullable: true + reference4: + type: string + nullable: true + returnOfDocuments: + type: boolean + nullable: true + returnOfDocumentsComment: + type: string + nullable: true + returnPackage: + type: boolean + nullable: true + returnVoucher: + type: boolean + nullable: true + bank: + type: string + nullable: true + bankIBAN: + type: string + nullable: true + bankAccountHolder: + type: string + nullable: true + customsDeclaration: + $ref: '#/components/schemas/OrderRequestExtraCustomsDeclaration' + marketPlace: + $ref: '#/components/schemas/MarketplaceIntegration' + uitCode: + type: string + nullable: true + OrderRequestExtraCustomsDeclaration: + type: object + properties: + exporter: + $ref: '#/components/schemas/OrderRequestAddress' + importer: + $ref: '#/components/schemas/OrderRequestAddress' + exporterTaxId: + type: string + nullable: true + exporterEORI: + type: string + nullable: true + exporterBN: + type: string + nullable: true + importerTaxId: + type: string + nullable: true + importerEORI: + type: string + nullable: true + reason: + $ref: '#/components/schemas/PurposeOfShipment' + incoterm: + type: string + nullable: true + attachments: + type: array + items: + $ref: '#/components/schemas/OrderRequestExtraCustomsDeclarationAttachment' + nullable: true + OrderRequestExtraCustomsDeclarationAttachment: + type: object + properties: + name: + type: string + nullable: true + content: + type: string + nullable: true + OrderRequestParameters: + type: object + properties: + async: + type: boolean + getParcelsBarcodes: + type: boolean + includeCourierResponse: + type: boolean + includePriceBreakdown: + type: boolean + includeAddressInResponse: + type: boolean + consolidateOrder: + type: boolean + overwriteLocationAddressWithSenderDetails: + type: boolean + OrderResponse: + type: object + properties: + clientOrderId: + type: integer + format: int32 + nullable: true + courierShipmentId: + type: string + nullable: true + courierShipmentVoucher: + type: string + nullable: true + courier: + type: integer + format: int32 + courierParcelsBarcodes: + type: array + items: + $ref: '#/components/schemas/OrderBarcodes' + nullable: true + price: + $ref: '#/components/schemas/OrderResponsePrice' + calculatedDeliveryDate: + type: string + format: date-time + nullable: true + trackPageUrl: + type: string + nullable: true + courierTrackPageUrl: + type: string + nullable: true + courierResponse: + type: object + additionalProperties: {} + nullable: true + extra: + $ref: '#/components/schemas/OrderRequestExtra' + address: + $ref: '#/components/schemas/OrderResponseAddress' + OrderResponseAddress: + type: object + properties: + from: + $ref: '#/components/schemas/LimitedAddress' + to: + $ref: '#/components/schemas/LimitedAddress' + OrderResponsePrice: + type: object + properties: + amount: + type: number + format: double + vat: + type: number + format: double + totalAmount: + type: number + format: double + currency: + type: string + nullable: true + priceComponents: + type: object + properties: + Km: + type: number + format: double + KmFixed: + type: number + format: double + Envelopes: + type: number + format: double + ContentWeight: + type: number + format: double + Insurance: + type: number + format: double + CashOnDelivery: + type: number + format: double + BankRepayment: + type: number + format: double + FixedExtras: + type: number + format: double + Returns: + type: number + format: double + FuelSurcharge: + type: number + format: double + CourierPrice: + type: number + format: double + OpenPackage: + type: number + format: double + SaturdayDelivery: + type: number + format: double + PriceForExtraParcel: + type: number + format: double + ContentWeightZones: + type: number + format: double + ContentWeightPiecesZones: + type: number + format: double + PickupThirdParty: + type: number + format: double + InnoshipInsurance: + type: number + format: double + ReturnDocument: + type: number + format: double + ReturnPackage: + type: number + format: double + PalletType: + type: number + format: double + FuelSurchargeFlat: + type: number + format: double + ParcelsCount: + type: number + format: double + ExtraCharges: + type: number + format: double + HeaviestParcelWeight: + type: number + format: double + WeightAndLDM: + type: number + format: double + ZonePalletType: + type: number + format: double + CountryPalletType: + type: number + format: double + nullable: true + OrderResponseResponseWithErrors: + type: object + properties: + response: + $ref: '#/components/schemas/OrderResponse' + errors: + type: array + items: + $ref: '#/components/schemas/Error' + nullable: true + correlationId: + type: string + nullable: true + ParcelType: + enum: + - Envelope + - Parcel + - Pallet + type: string + PaymentType: + enum: + - Sender + - Recipient + - ThirdParty + type: string + PickupRequest: + type: object + properties: + courierId: + type: integer + format: int32 + locationId: + type: integer + format: int32 + lastPickupHour: + type: integer + format: int32 + lastPickMinute: + type: integer + format: int32 + PickupResponse: + type: object + properties: + success: + type: boolean + message: + type: string + nullable: true + PostalCodeInfo: + type: object + properties: + countryCode: + type: string + nullable: true + countryName: + type: string + nullable: true + postalCode: + type: string + nullable: true + streets: + type: array + items: + $ref: '#/components/schemas/PostalCodeInfoStreet' + nullable: true + PostalCodeInfoStreet: + type: object + properties: + localityId: + type: integer + format: int32 + localityName: + type: string + nullable: true + countyId: + type: integer + format: int32 + countyName: + type: string + nullable: true + countryId: + type: integer + format: int32 + countryName: + type: string + nullable: true + streetName: + type: string + nullable: true + group: + type: string + nullable: true + PostalCodeStructured: + type: object + properties: + countryCode: + type: string + nullable: true + countryId: + type: integer + format: int32 + countryName: + type: string + nullable: true + countryNameLocalized: + type: string + nullable: true + counties: + type: array + items: + $ref: '#/components/schemas/PostalCodeStructuredCounty' + nullable: true + PostalCodeStructuredCounty: + type: object + properties: + countyId: + type: integer + format: int32 + countyName: + type: string + nullable: true + countyNameLocalized: + type: string + nullable: true + localities: + type: array + items: + $ref: '#/components/schemas/PostalCodeStructuredLocality' + nullable: true + PostalCodeStructuredLocality: + type: object + properties: + localityId: + type: integer + format: int32 + localityName: + type: string + nullable: true + localityNameLocalized: + type: string + nullable: true + streets: + type: array + items: + $ref: '#/components/schemas/PostalCodeStructuredStreet' + nullable: true + PostalCodeStructuredStreet: + type: object + properties: + postalCode: + type: string + nullable: true + streetName: + type: string + nullable: true + streetNameLocalized: + type: string + nullable: true + neighbourhood: + type: string + nullable: true + neighbourhoodLocalized: + type: string + nullable: true + group: + type: string + nullable: true + streetPrefix: + type: string + nullable: true + streetPrefixLocalized: + type: string + nullable: true + PriceRate: + type: object + properties: + carrierId: + type: integer + format: int32 + carrier: + type: string + nullable: true + rateAmount: + type: number + format: double + rateVatAmount: + type: number + format: double + rateTotalAmount: + type: number + format: double + readOnly: true + rateCurrency: + type: string + nullable: true + score: + type: number + format: double + performance: + type: number + format: double + calculatedDeliveryDate: + type: string + format: date-time + nullable: true + deliveryDays: + type: integer + format: int32 + serviceId: + type: integer + format: int32 + service: + type: string + nullable: true + priority: + type: integer + format: int32 + priceComponents: + type: object + properties: + Km: + type: number + format: double + KmFixed: + type: number + format: double + Envelopes: + type: number + format: double + ContentWeight: + type: number + format: double + Insurance: + type: number + format: double + CashOnDelivery: + type: number + format: double + BankRepayment: + type: number + format: double + FixedExtras: + type: number + format: double + Returns: + type: number + format: double + FuelSurcharge: + type: number + format: double + CourierPrice: + type: number + format: double + OpenPackage: + type: number + format: double + SaturdayDelivery: + type: number + format: double + PriceForExtraParcel: + type: number + format: double + ContentWeightZones: + type: number + format: double + ContentWeightPiecesZones: + type: number + format: double + PickupThirdParty: + type: number + format: double + InnoshipInsurance: + type: number + format: double + ReturnDocument: + type: number + format: double + ReturnPackage: + type: number + format: double + PalletType: + type: number + format: double + FuelSurchargeFlat: + type: number + format: double + ParcelsCount: + type: number + format: double + ExtraCharges: + type: number + format: double + HeaviestParcelWeight: + type: number + format: double + WeightAndLDM: + type: number + format: double + ZonePalletType: + type: number + format: double + CountryPalletType: + type: number + format: double + nullable: true + PriceResponse: + type: object + properties: + rates: + type: array + items: + $ref: '#/components/schemas/PriceRate' + nullable: true + correlationId: + type: string + nullable: true + PurposeOfShipment: + enum: + - CommercialShipment + - NonCommercialShipment + type: string + RestrictionCountryCountyDto: + type: object + properties: + countryId: + type: integer + format: int32 + countyId: + type: integer + format: int32 + nullable: true + value: + type: integer + format: int32 + SendSmsRequest: + type: object + properties: + campaignName: + type: string + nullable: true + data: + type: array + items: + $ref: '#/components/schemas/SendSmsRequestItem' + nullable: true + SendSmsRequestItem: + type: object + properties: + phone: + type: array + items: + type: string + nullable: true + message: + type: string + nullable: true + TrackRequest: + type: object + properties: + courier: + $ref: '#/components/schemas/Courier' + awbList: + type: array + items: + type: string + nullable: true + TrackResponseHistory: + type: object + properties: + clientStatusId: + type: integer + format: int32 + clientStatusDescription: + type: string + nullable: true + eventDate: + type: string + format: date-time + isFinalStatus: + type: boolean + localityName: + type: string + nullable: true + TrackResponseWithReturnInfo: + type: object + properties: + returnAwb: + type: string + nullable: true + returnAwbHistory: + type: array + items: + $ref: '#/components/schemas/TrackResponseHistory' + nullable: true + orderId: + type: integer + format: int32 + externalOrderId: + type: string + nullable: true + correlationId: + type: string + nullable: true + courier: + type: integer + format: int32 + shipmentAwb: + type: string + nullable: true + carrierMeasuredWeight: + type: number + format: double + nullable: true + recipientContactName: + type: string + nullable: true + recipientLocality: + type: string + nullable: true + recipientCountryCode: + type: string + nullable: true + trackUrl: + type: string + nullable: true + currentStatus: + type: string + nullable: true + currentStatusId: + type: integer + format: int32 + dispatchId: + type: string + nullable: true + history: + type: array + items: + $ref: '#/components/schemas/TrackResponseHistory' + nullable: true + cashOnDeliveryHistory: + type: array + items: + $ref: '#/components/schemas/TrackResponseHistory' + nullable: true + UpdateLocationCourierServiceDto: + type: object + properties: + courierId: + type: integer + format: int32 + serviceId: + type: integer + format: int32 + courierServiceRestrictions: + $ref: '#/components/schemas/CourierServiceRestrictionsDto' + useCourierPrices: + type: boolean + nullable: true + mappingTemplateOptionId: + type: string + nullable: true + voucherTemplateOptionId: + type: string + nullable: true + extraServices: + type: object + additionalProperties: + type: boolean + nullable: true + nullable: true + mappingReferences: + type: object + additionalProperties: + type: integer + format: int32 + nullable: true + nullable: true + countryDeliveryDays: + type: object + additionalProperties: + type: integer + format: int32 + nullable: true + nullable: true + enabled: + type: boolean + nullable: true + localityKm: + type: integer + format: int32 + nullable: true + priceLocalityId: + type: integer + format: int32 + nullable: true + UpdateLocationDto: + type: object + properties: + address: + $ref: '#/components/schemas/LocationAddressDto' + courierCutOffTimes: + type: string + nullable: true + courierAutomaticCallTimes: + type: string + nullable: true + useSameCourierForSameAddress: + type: boolean + courierFailPolicy: + type: integer + format: int32 + timeZoneId: + type: string + nullable: true + priceGroupId: + type: integer + format: int32 + nullable: true + notificationEmail: + type: string + nullable: true + notificationPhone: + type: string + nullable: true + courierVoucherService: + type: object + additionalProperties: + type: integer + format: int32 + nullable: true + nullable: true + marketPlaceCallBackSettings: + type: object + additionalProperties: + type: object + additionalProperties: + type: string + nullable: true + nullable: true + importIsActive: + type: boolean + nullable: true + setHandoverOnManifest: + type: boolean + nullable: true + id: + type: integer + format: int32 + name: + type: string + nullable: true + externalLocationId: + type: string + nullable: true + UpdateParcelsRequest: + type: object + properties: + parameters: + $ref: '#/components/schemas/OrderRequestParameters' + courierId: + $ref: '#/components/schemas/Courier' + courierShipmentId: + type: string + nullable: true + envelopeCount: + type: integer + format: int32 + parcelsCount: + type: integer + format: int32 + palettesCount: + type: integer + format: int32 + oversizedPackage: + type: boolean + totalWeight: + type: number + format: double + parcels: + type: array + items: + $ref: '#/components/schemas/OrderRequestContentParcel' + nullable: true + UpdateStatusRequest: + type: object + properties: + courierId: + $ref: '#/components/schemas/Courier' + courierShipmentId: + type: string + nullable: true + typeId: + type: integer + format: int32 + nullable: true + statusId: + type: integer + format: int32 + actionDateTime: + type: string + format: date-time + UploadDocumentsApiRequest: + type: object + properties: + courierId: + $ref: '#/components/schemas/Courier' + courierShipmentId: + type: string + nullable: true + attachments: + type: array + items: + $ref: '#/components/schemas/OrderRequestExtraCustomsDeclarationAttachment' + nullable: true + UploadDocumentsApiResponse: + type: object + properties: + success: + type: boolean + message: + type: string + nullable: true + ClientLocationUpdateCourierServicesRequest: + type: array + items: + $ref: '#/components/schemas/UpdateLocationCourierServiceDto' + ClientLocationUpdateCourierServicesRequest1: + type: array + items: + $ref: '#/components/schemas/UpdateLocationCourierServiceDto' + ClientLocationUpdateCourierServicesRequest2: + type: array + items: + $ref: '#/components/schemas/UpdateLocationCourierServiceDto' + ClientLocationUpdateCourierServicesRequest3: + type: array + items: + $ref: '#/components/schemas/UpdateLocationCourierServiceDto' + ClientLocationUpdateCourierServicesRequest4: + type: array + items: + $ref: '#/components/schemas/UpdateLocationCourierServiceDto' + ClientLocationUpdateCourierServicesRequest5: + type: array + items: + $ref: '#/components/schemas/UpdateLocationCourierServiceDto' + ClientLocationUpdateCourierServicesRequest6: + type: array + items: + $ref: '#/components/schemas/UpdateLocationCourierServiceDto' + ClientLocationUpdateCourierServicesRequest7: + type: array + items: + $ref: '#/components/schemas/UpdateLocationCourierServiceDto' + OfflineOrderActivateOrderRequest: + type: array + items: + $ref: '#/components/schemas/ActivateOrderApiRequest' + OfflineOrderActivateOrderRequest1: + type: array + items: + $ref: '#/components/schemas/ActivateOrderApiRequest' + OfflineOrderActivateOrderRequest2: + type: array + items: + $ref: '#/components/schemas/ActivateOrderApiRequest' + OfflineOrderActivateOrderRequest3: + type: array + items: + $ref: '#/components/schemas/ActivateOrderApiRequest' + OfflineOrderUpdateOrderDetailsRequest: + type: array + items: + $ref: '#/components/schemas/EditOrderApiRequest' + OfflineOrderUpdateOrderDetailsRequest1: + type: array + items: + $ref: '#/components/schemas/EditOrderApiRequest' + OfflineOrderUpdateOrderDetailsRequest2: + type: array + items: + $ref: '#/components/schemas/EditOrderApiRequest' + OfflineOrderUpdateOrderDetailsRequest3: + type: array + items: + $ref: '#/components/schemas/EditOrderApiRequest' + OfflineOrderAddOrderRequest: + type: array + items: + $ref: '#/components/schemas/OfflineOrderAddRequest' + OfflineOrderAddOrderRequest1: + type: array + items: + $ref: '#/components/schemas/OfflineOrderAddRequest' + OfflineOrderAddOrderRequest2: + type: array + items: + $ref: '#/components/schemas/OfflineOrderAddRequest' + OfflineOrderAddOrderRequest3: + type: array + items: + $ref: '#/components/schemas/OfflineOrderAddRequest' + OrderSimulateMultipleRequest: + type: array + items: + $ref: '#/components/schemas/OrderRequest' + OrderSimulateMultipleRequest1: + type: array + items: + $ref: '#/components/schemas/OrderRequest' + OrderSimulateMultipleRequest2: + type: array + items: + $ref: '#/components/schemas/OrderRequest' + OrderSimulateMultipleRequest3: + type: array + items: + $ref: '#/components/schemas/OrderRequest' + OrderUpdateStatusRequest: + type: array + items: + $ref: '#/components/schemas/UpdateStatusRequest' + OrderUpdateStatusRequest1: + type: array + items: + $ref: '#/components/schemas/UpdateStatusRequest' + OrderUpdateStatusRequest2: + type: array + items: + $ref: '#/components/schemas/UpdateStatusRequest' + OrderUpdateStatusRequest3: + type: array + items: + $ref: '#/components/schemas/UpdateStatusRequest' + OrderUpdateCustomAttributesRequest: + type: object + additionalProperties: + type: string + OrderUpdateCustomAttributesRequest1: + type: object + additionalProperties: + type: string + OrderUpdateCustomAttributesRequest2: + type: object + additionalProperties: + type: string + OrderUpdateCustomAttributesRequest3: + type: object + additionalProperties: + type: string + CourierGetAllResponse: + type: array + items: + $ref: '#/components/schemas/AllCouriersResponse' + LocationGetPostalcodesByLocalityIdResponse: + type: array + items: + $ref: '#/components/schemas/LocalityPostalCodeInfo' + LocationGetPostalcodesByLocalityId200Response: + type: array + items: + $ref: '#/components/schemas/LocalityPostalCodeInfo' + OrderSimulateMultipleResponse: + type: object + additionalProperties: + $ref: '#/components/schemas/OrderResponseResponseWithErrors' + OrderSimulateMultiple400Response: + type: object + additionalProperties: + $ref: '#/components/schemas/OrderResponseResponseWithErrors' + OrderSimulateMultiple401Response: + type: object + additionalProperties: + $ref: '#/components/schemas/OrderResponseResponseWithErrors' + OrderUploadFileResponse: + type: object + additionalProperties: + $ref: '#/components/schemas/OrderResponseResponseWithErrors' + TrackOrderCourierAwbWithReturnResponse: + type: array + items: + $ref: '#/components/schemas/TrackResponseWithReturnInfo' + TrackOrderCourierAwbWithReturn200Response: + type: array + items: + $ref: '#/components/schemas/TrackResponseWithReturnInfo' + TrackByAwbResponse: + type: array + items: + $ref: '#/components/schemas/TrackResponseWithReturnInfo' + TrackByAwb200Response: + type: array + items: + $ref: '#/components/schemas/TrackResponseWithReturnInfo' + securitySchemes: + ApiKeyAuth: + type: apiKey + name: X-Api-Key + in: header +security: + - ApiKeyAuth: + - readAccess + - writeAccess diff --git a/sdks/db/generate-repository-description-cache/fordefi.json b/sdks/db/generate-repository-description-cache/fordefi.json index 39a2082f4c..b691295e12 100644 --- a/sdks/db/generate-repository-description-cache/fordefi.json +++ b/sdks/db/generate-repository-description-cache/fordefi.json @@ -1,3 +1,4 @@ { - "The future of institutional web3 wallets. \n\nFor builders, traders, and operators, Fordefi's comprehensive MPC wallet platform and web3 gateway enables you to securely self-custody your private keys, seamlessly connect to thousands of dApps across any blockchain, protect your workflows with granular policies, and manage your digital asset operations all-in-one place.": "Institutional web3 wallets for builders, traders, and operators. Securely self-custody private keys, connect to dApps, protect workflows with policies, manage digital assets in one place. FORDEFI's {language} SDK generated by Konfig (https://konfigthis.com/)." + "The future of institutional web3 wallets. \n\nFor builders, traders, and operators, Fordefi's comprehensive MPC wallet platform and web3 gateway enables you to securely self-custody your private keys, seamlessly connect to thousands of dApps across any blockchain, protect your workflows with granular policies, and manage your digital asset operations all-in-one place.": "Institutional web3 wallets for builders, traders, and operators. Securely self-custody private keys, connect to dApps, protect workflows with policies, manage digital assets in one place. FORDEFI's {language} SDK generated by Konfig (https://konfigthis.com/).", + "The future of institutional web3 wallets.\n\nFor builders, traders, and operators, Fordefi's comprehensive MPC wallet platform and web3 gateway enables you to securely self-custody your private keys, seamlessly connect to thousands of dApps across any blockchain, protect your workflows with granular policies, and manage your digital asset operations all-in-one place.": "Fordefi: The ultimate MPC wallet for web3, enabling secure key custody, dApp connectivity, policy protection, and asset management in one platform. FORDEFI's {language} SDK generated by Konfig (https://konfigthis.com/)." } \ No newline at end of file diff --git a/sdks/db/generate-repository-description-cache/ilert.json b/sdks/db/generate-repository-description-cache/ilert.json new file mode 100644 index 0000000000..9bf4b49988 --- /dev/null +++ b/sdks/db/generate-repository-description-cache/ilert.json @@ -0,0 +1,3 @@ +{ + "ilert is a SaaS company for alerting, on-call management and incident communication and helps companies to increase their digital uptime. B2C and B2B companies from across the globe, including well-known brands such as Bertelsmann, TeamViewer and REWE, trust ilert to empower their operations teams and ensure everything is running smoothly.": "ilert is a SaaS company for alerting, on-call management and incident communication and helps companies to increase their digital uptime. B2C and B2B companies from across the globe, including well-known brands such as Bertelsmann, TeamViewer and REWE, trust ilert to empower their operations teams and ensure everything is running smoothly." +} \ No newline at end of file diff --git a/sdks/db/generate-repository-description-cache/in-mobile.json b/sdks/db/generate-repository-description-cache/in-mobile.json new file mode 100644 index 0000000000..d2c60da77b --- /dev/null +++ b/sdks/db/generate-repository-description-cache/in-mobile.json @@ -0,0 +1,3 @@ +{ + "inMobile er en SMS-Gateway testet af over 8.000 brugere. Vi håndterer over 150 mio. SMS-beskeder årligt og tilstræber en oppetid på 100%, men sandheden er 99,99%. \n\nUanset, om det drejer sig om at informere dine kunder, medarbejdere eller andre personer, som er vigtige for din virksomhed, gør inMobile det nemt for de rette personer at få besked på det rette tidspunkt. \n\nDu får adgang til en brugervenlig SMS-Gateway og et gennemtestet API, som du nemt kan integrere med dit eget system eller hjemmeside.\n\nØnsker du at høre mere om vores løsning, er du velkommen til at kontakte os på +45 88 33 66 99 eller på mail salg@inmobile.dk\nVi har åbent alle hverdage mellem kl. 8-17": "SMS-Gateway that handles 150M+ messages annually with 99.99% uptime. Easy communication for customers and employees. User-friendly gateway and API for seamless integration. inMobile's {language} SDK generated by Konfig (https://konfigthis.com/)." +} \ No newline at end of file diff --git a/sdks/db/generate-repository-description-cache/innoship.json b/sdks/db/generate-repository-description-cache/innoship.json new file mode 100644 index 0000000000..62459086ae --- /dev/null +++ b/sdks/db/generate-repository-description-cache/innoship.json @@ -0,0 +1,3 @@ +{ + "Innoship is the advanced delivery management platform that helps retailers to improve customer experience by streamlining the delivery process. We combined our eCommerce logistics expertise with all the enterprise features you need to master last-mile customer experience. \n\nBacked by Abris Capital Partners, the ESG transformation specialist private equity investor, Innoship is now part of Alsendo group, the leading eCommerce shipping solutions technologies in the CEE region.\n\nFrom checkout and shipping to tracking, returns and analytics, Innoship helps you safely deliver on promises made to your customers. \n\nEffortless integration, hassle-free delivery\n•\tA simple, one-time integration with the Innoship app allows retailers to access any carrier, local or international.\n•\tExternal markets become readily available with seamless connections to hundreds of carriers in 15+ countries.": "Innoship offers an advanced delivery management platform for retailers, combining eCommerce logistics expertise with enterprise features to optimize last-mile customer experience. Backed by Abris Capital Partners, now part of Alsendo group, it provides effortless integration with diverse carriers for seamless global shipping." +} \ No newline at end of file diff --git a/sdks/db/intermediate-fixed-specs/fordefi/openapi.yaml b/sdks/db/intermediate-fixed-specs/fordefi/openapi.yaml index f50891c656..70aaea002b 100644 --- a/sdks/db/intermediate-fixed-specs/fordefi/openapi.yaml +++ b/sdks/db/intermediate-fixed-specs/fordefi/openapi.yaml @@ -3,7 +3,7 @@ info: title: Fordefi API version: 0.2.0 description: >- - The future of institutional web3 wallets. + The future of institutional web3 wallets. For builders, traders, and operators, Fordefi's comprehensive MPC wallet diff --git a/sdks/db/intermediate-fixed-specs/ilert/openapi.yaml b/sdks/db/intermediate-fixed-specs/ilert/openapi.yaml new file mode 100644 index 0000000000..1ce9d79315 --- /dev/null +++ b/sdks/db/intermediate-fixed-specs/ilert/openapi.yaml @@ -0,0 +1,7270 @@ +openapi: 3.0.0 +info: + version: '' + title: ilert REST API + description: >- + + The ilert API is a + [RESTful](https://en.wikipedia.org/wiki/Representational_state_transfer) API + and provides programmatic access to entities in ilert and lets you easily + integrate ilert with 3rd party tools. If you are looking to develop an + inbound integration (e.g. for a monitoring tool), please use our [Events + API](https://api.ilert.com). + + + The API supports the JSON content type for requests and responses. The + response content type is requested via the HTTP Accept header + (`application/json`). All resources are accessible via https and are located + at `api.ilert.com/api`. + + ## Authentication + + The REST API accepts bearer API tokens. Each user may create API keys using + the ilert web application. Note: Make sure to send the `Bearer ` prefix e.g. + `Bearer APIKEY` when sending api key requests. By default, access to all + resources (using any method) requires the client to be authenticated. + + + ## Team Context + When using API tokens, the currently selected team context of the user will not be taken into account, i.e. list results will always return all entities to which the user has a view permission. When using basic auth credentials the currently selected team context of the user will be used to filter resource results. The context may be overwritten for API key calls using the `team-context` HTTP header. Specifying `0` for ALL teams, `-1` for MY teams or a specific team id e.g. `team-context=901` to fetch results for a certain team. + + ## Errors + + ilert uses HTTP response codes to indicate success or failure of an API + request. Codes in the 2xx range indicate success, codes in the 4xx range + indicate a client error (e.g. a missing required parameter) and codes in the + 5xx range indicate an error with ilert's servers. In case of an error, the + response body contains the following information: + + Attribute | Description + ------------- | ------------- + status | the corresponsing HTTP status code + message | a human readable description of the error + code | error code, used to identify error type + + ## API Versioning + + Changes to our API are always backwards-compatible. To get more information + about our API versioning and historical changes, please take a look here. + x-logo: + url: ./ilert-logo-spaced.png + backgroundColor: '#fafafa' + altText: ilert documentation logo +security: + - apiKey: [] +tags: + - name: Numbers + - name: Integrations + - name: Events + - name: Heartbeats + - name: Series + - name: Users + - name: Contacts + - name: Notification Preferences + - name: Escalation Policies + - name: Schedules + - name: Alert Sources + - name: Alerts + - name: Alert Actions + - name: Support Hours + - name: Log-Entries + - name: Notifications + - name: Connectors + - name: Teams + - name: On-Calls + - name: Maintenance Windows + - name: Incident Templates + - name: Services + - name: Service Outages + - name: Automation Rules + - name: Incidents + - name: Metrics + - name: Metric Data Sources + - name: Status Pages + - name: Reports +paths: + /users/{user-id}: + get: + tags: + - Users + parameters: + - $ref: '#/components/parameters/user-id-in-path' + summary: Get the specified user. + responses: + '200': + description: the user object + content: + application/json: + schema: + $ref: '#/components/schemas/User' + put: + tags: + - Users + parameters: + - $ref: '#/components/parameters/user-id-in-path' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/User' + description: the user object + summary: Update an existing user. + responses: + '200': + description: the updated user + content: + application/json: + schema: + $ref: '#/components/schemas/User' + delete: + tags: + - Users + parameters: + - $ref: '#/components/parameters/user-id-in-path' + summary: Delete the specified user. + responses: + '204': + description: if deletion was successful + /users/{user-id}/contacts/emails: + get: + tags: + - Contacts + parameters: + - $ref: '#/components/parameters/user-id-in-path' + summary: Get a user's emails + responses: + '200': + description: '' + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ContactEmail' + post: + tags: + - Contacts + parameters: + - $ref: '#/components/parameters/user-id-in-path' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ContactEmailPost' + required: true + summary: Create a new email + responses: + '201': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ContactEmail' + /users/{user-id}/contacts/emails/{id}: + get: + tags: + - Contacts + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + summary: Get a specific email + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ContactEmail' + put: + tags: + - Contacts + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ContactEmailPost' + summary: Update a user's email + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ContactEmail' + delete: + tags: + - Contacts + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + summary: Delete the user's specified email + responses: + '204': + description: if deletion was successful + /users/{user-id}/contacts/phone-numbers: + get: + tags: + - Contacts + parameters: + - $ref: '#/components/parameters/user-id-in-path' + summary: Get a user's phone numbers + responses: + '200': + description: '' + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ContactPhoneNumber' + post: + tags: + - Contacts + parameters: + - $ref: '#/components/parameters/user-id-in-path' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ContactPhoneNumberPost' + required: true + summary: Create a phone number + responses: + '201': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ContactPhoneNumber' + /users/{user-id}/contacts/phone-numbers/{id}: + get: + tags: + - Contacts + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + summary: Get specific phone number + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ContactPhoneNumber' + put: + tags: + - Contacts + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ContactPhoneNumberPost' + summary: Update a user's phone number + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ContactPhoneNumber' + delete: + tags: + - Contacts + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + summary: Delete the user's specified phone number + responses: + '204': + description: if deletion was successful + /users/{user-id}/notification-preferences/alerts: + get: + tags: + - Notification Preferences + parameters: + - $ref: '#/components/parameters/user-id-in-path' + summary: Get alert notification preferences of a user + responses: + '200': + description: '' + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/NotificationPreferencesAlert' + post: + tags: + - Notification Preferences + parameters: + - $ref: '#/components/parameters/user-id-in-path' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesAlertPost' + required: true + summary: Create an alert notification preference + responses: + '201': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesAlert' + /users/{user-id}/notification-preferences/alerts/{id}: + get: + tags: + - Notification Preferences + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + summary: Get specific notification preferences alert + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesAlert' + put: + tags: + - Notification Preferences + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesAlertPost' + summary: Update a user's alert notification preference + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesAlert' + delete: + tags: + - Notification Preferences + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + summary: Delete the user's specified notification preferences alert + responses: + '204': + description: if deletion was successful + /users/{user-id}/notification-preferences/duties: + get: + tags: + - Notification Preferences + parameters: + - $ref: '#/components/parameters/user-id-in-path' + summary: Get duty notification preferences of a user + responses: + '200': + description: '' + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/NotificationPreferencesDuty' + post: + tags: + - Notification Preferences + parameters: + - $ref: '#/components/parameters/user-id-in-path' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesDutyPost' + required: true + summary: Create a duty notification preference + responses: + '201': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesDuty' + /users/{user-id}/notification-preferences/duties/{id}: + get: + tags: + - Notification Preferences + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + summary: Get specific notification preferences duty + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesDuty' + put: + tags: + - Notification Preferences + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesDutyPost' + summary: Update a user's duty notification preference + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesDuty' + delete: + tags: + - Notification Preferences + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + summary: Delete the user's specified notification preferences duty + responses: + '204': + description: if deletion was successful + /users/{user-id}/notification-preferences/updates: + get: + tags: + - Notification Preferences + parameters: + - $ref: '#/components/parameters/user-id-in-path' + summary: Get update notification preferences of a user + responses: + '200': + description: '' + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/NotificationPreferencesUpdate' + post: + tags: + - Notification Preferences + parameters: + - $ref: '#/components/parameters/user-id-in-path' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesUpdatePost' + required: true + summary: Create an update notification preference + responses: + '201': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesUpdate' + /users/{user-id}/notification-preferences/updates/{id}: + get: + tags: + - Notification Preferences + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + summary: Get specific notification preferences update + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesUpdate' + put: + tags: + - Notification Preferences + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesUpdatePost' + summary: Update a user's update notification preference + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesUpdate' + delete: + tags: + - Notification Preferences + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + summary: Delete the user's specified notification preferences update + responses: + '204': + description: if deletion was successful + /users/{user-id}/notification-preferences/subscriptions: + get: + tags: + - Notification Preferences + parameters: + - $ref: '#/components/parameters/user-id-in-path' + summary: Get subscription notification preferences of a user + responses: + '200': + description: '' + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/NotificationPreferencesSubscription' + post: + tags: + - Notification Preferences + parameters: + - $ref: '#/components/parameters/user-id-in-path' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesSubscriptionPost' + required: true + summary: Create a subscription notification preference + responses: + '201': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesSubscription' + /users/{user-id}/notification-preferences/subscriptions/{id}: + get: + tags: + - Notification Preferences + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + summary: Get specific notification preferences subscription + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesSubscription' + put: + tags: + - Notification Preferences + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesSubscriptionPost' + summary: Update a user's subscription notification preference + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationPreferencesSubscription' + delete: + tags: + - Notification Preferences + parameters: + - $ref: '#/components/parameters/user-id-in-path' + - $ref: '#/components/parameters/id' + summary: Delete the user's specified notification preferences subscription + responses: + '204': + description: if deletion was successful + /numbers: + get: + tags: + - Numbers + security: [] + summary: >- + List available phone numbers that ilert uses to send voice and SMS + notifications + responses: + '200': + description: List of phone numbers + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/OutboundNumber' + /integrations: + get: + tags: + - Integrations + security: [] + parameters: + - $ref: '#/components/parameters/start-index' + - $ref: '#/components/parameters/max-results' + summary: >- + List available inbound and outbound integrations. Note: this resource is + paginated. + responses: + '200': + description: list of integrations + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Integration' + /users: + get: + tags: + - Users + parameters: + - $ref: '#/components/parameters/start-index' + - $ref: '#/components/parameters/max-results' + summary: List existing users. + responses: + '200': + description: list of users + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/User' + post: + tags: + - Users + summary: Create a new user. Requires ADMIN privileges. + description: | + **Sample request** + + ```json + Request URL: https://api.ilert.com/api/users + + { + "firstName": "John", + "lastName": "Doe", + "email": "john@acme.com", + "position": "Software Engineer", + } + ``` + + **Response** + + ````json + { + "id": 2188373, + "firstName": "John", + "lastName": "Doe", + "email": "john@acme.com", + "position": "Software Engineer", + "timezone": "Europe/Berlin", + "language": "de", + "role": "RESPONDER", + } + ```` + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UserPost' + description: the user object + responses: + '201': + description: >- + Created. The URI of the created user entity is included in the + Location header and the user object is included in the body. + content: + application/json: + schema: + $ref: '#/components/schemas/User' + /users/current: + get: + tags: + - Users + summary: Get the currently authenticated user. + responses: + '200': + description: user object + content: + application/json: + schema: + $ref: '#/components/schemas/User' + put: + summary: Update the current user. + tags: + - Users + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UserPost' + description: user object + responses: + '200': + description: the updated user + content: + application/json: + schema: + $ref: '#/components/schemas/User' + /alerts: + post: + tags: + - Alerts + summary: >- + Create alerts with customised parameters without requiring events from + monitoring tools that use our Events API. + description: >- + Escalation of the alert will be based on the alert source's escalation + policy or may be overridden by providing a specific escalation policy or + lastly specific set of responders (users), latter will only notify the + user(s) and will not escalate any further. + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ManualAlert' + description: the alert + required: true + responses: + '201': + description: the created and freshly escalated alert + content: + application/json: + schema: + $ref: '#/components/schemas/Alert' + get: + tags: + - Alerts + summary: >- + List alerts (optionally matching certain criteria that are specified by + query parameters). + description: >- + **Sample URLs** + + * List only alerts that are either in state `PENDING` or `ACCEPTED`:
https://api.ilert.com/api/alerts?states=PENDING&states=ACCEPTED + + * List only alerts that belong to the alert source with ID `1243` or + `1743` and where user `jd` is a responder:
+ https://api.ilert.com/api/alerts?sources=1243&sources=1743&responders=jd + * Paginate first batch for a range of alerts (note: query parameters + should be url encoded):
+ https://api.ilert.com/api/alerts?start-index=0&max-results=100&from=2021-03-01T21:24:56.771Z&until=2021-04-01T21:24:56.771Z + * Fetch next page, assuming equal to max-results were returned:
+ https://api.ilert.com/api/alerts?start-index=100&max-results=100&from=2021-03-01T21:24:56.771Z&until=2021-04-01T21:24:56.771Z + * Pagination should be done based on the `reportTime` field using the + parameters `from` and `until` as well as `start-index`. When building a + local alert state store the `id` field should be used as identifier. The + `alertKey` field is not suitable for this, as it is used to group + related alerts to each other. + parameters: + - $ref: '#/components/parameters/start-index' + - $ref: '#/components/parameters/max-results' + - name: include + in: query + description: >- + Describes optional properties that should be included in the + response. You may declare multiple. (nextEscalationUser) + required: false + explode: true + schema: + type: array + items: + type: string + enum: + - nextEscalationUser + - in: query + name: states + description: state of the alert + explode: true + schema: + type: array + items: + type: string + enum: + - PENDING + - ACCEPTED + - RESOLVED + - in: query + name: sources + description: alert source IDs of the alert's alert source + explode: true + schema: + type: array + items: + type: integer + format: int64 + - in: query + name: policies + description: escalation policy IDs of the alert's escalation policy + explode: true + schema: + type: array + items: + type: integer + format: int64 + - in: query + name: responders + description: user ids of the user that is a responder of the alert + explode: true + schema: + type: array + items: + type: string + - in: query + name: from + description: >- + from date, ISO-UTC e.g. 2021-05-25T21:24:56.771Z, based on + reportTime + schema: + type: string + format: date-time + - in: query + name: until + description: >- + until date, ISO-UTC e.g. 2021-05-26T21:24:56.771Z, based on + reportTime + schema: + type: string + format: date-time + responses: + '200': + description: OK + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Alert' + /alerts/count: + get: + tags: + - Alerts + summary: Get the alert count matching the specified criteria. + parameters: + - in: query + name: states + description: state of the alert + explode: true + schema: + type: array + items: + type: string + enum: + - PENDING + - ACCEPTED + - RESOLVED + - in: query + name: sources + description: alert source IDs of the alert's alert source + explode: true + schema: + type: array + items: + type: integer + format: int64 + - in: query + name: responders + description: user ids of the user that is a responder of the alert + explode: true + schema: + type: array + items: + type: string + - in: query + name: from + description: from date + schema: + type: string + format: date-time + - in: query + name: until + description: until date + schema: + type: string + format: date-time + responses: + '200': + description: the number of alerts matching the specified criteria + content: + application/json: + schema: + $ref: '#/components/schemas/CountResponse' + /alerts/{id}: + get: + tags: + - Alerts + parameters: + - $ref: '#/components/parameters/id' + - name: include + in: query + description: >- + Describes optional properties that should be included in the + response. You may declare multiple. (escalationRules, + nextEscalationUser) + required: false + explode: true + schema: + type: array + items: + type: string + enum: + - escalationRules + - nextEscalationUser + summary: Get the alert with the specified id. + responses: + '200': + description: alert object + content: + application/json: + schema: + $ref: '#/components/schemas/Alert' + /alerts/{id}/suggested-responders: + get: + tags: + - Alerts + parameters: + - $ref: '#/components/parameters/id' + - name: lang + in: query + description: locale for response text eg. 'en' or 'de' + schema: + type: string + summary: >- + Get available (assignable) responders for the alert with the specified + id. + responses: + '200': + description: the list of alert responders + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/SuggestedResponder' + /alerts/{id}/responders: + post: + tags: + - Alerts + parameters: + - $ref: '#/components/parameters/id' + summary: Add an additional responder to the alert. + responses: + '201': + description: the created alert responder object + content: + application/json: + schema: + $ref: '#/components/schemas/AlertResponder' + '404': + description: Responder did not exist + '405': + description: Responder is already present on the alert + /alerts/{id}/responders/{user-id}: + delete: + tags: + - Alerts + parameters: + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/user-id-in-path' + summary: Remove a responder from the alert. + responses: + '204': + description: Responder has been removed + '404': + description: Responder did not exist + /alerts/{id}/assign: + put: + tags: + - Alerts + parameters: + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/user-id-in-query' + - name: policy + in: query + description: numeric policy id + schema: + type: string + - name: schedule + in: query + description: numeric schedule id + schema: + type: string + summary: Assign the alert. + description: >- + Either provide a user-id, policy-id (escalation policy) or schedule-id + (on-call schedule) that the specific alert should be assigned to. + responses: + '200': + description: the updated alert object + content: + application/json: + schema: + $ref: '#/components/schemas/Alert' + /alerts/{id}/accept: + put: + tags: + - Alerts + parameters: + - $ref: '#/components/parameters/id' + summary: Accept the Alert. + responses: + '200': + description: the updated alert object + content: + application/json: + schema: + $ref: '#/components/schemas/Alert' + /alerts/{id}/resolve: + put: + tags: + - Alerts + parameters: + - $ref: '#/components/parameters/id' + summary: Resolve the alert. + responses: + '200': + description: the updated alert object + content: + application/json: + schema: + $ref: '#/components/schemas/Alert' + /alerts/{id}/notifications: + get: + tags: + - Alerts + - Notifications + parameters: + - $ref: '#/components/parameters/id' + summary: Get notifications for the specified alert. + responses: + '200': + description: a list of notification objects + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Notification' + /alerts/{id}/log-entries: + get: + tags: + - Alerts + - Log-Entries + parameters: + - $ref: '#/components/parameters/id' + - name: lang + in: query + description: log entry language + schema: + type: string + enum: + - en + - de + - $ref: '#/components/parameters/start-index' + - $ref: '#/components/parameters/max-results' + - name: include + in: query + description: >- + Describes optional properties that should be included in the + response. You may declare multiple. (vars) + required: false + explode: true + schema: + type: array + items: + type: string + enum: + - vars + - in: query + name: filter-types + description: filter-type (group) of the log + explode: true + schema: + type: array + items: + type: string + enum: + - NOTIFICATIONS + - ALERT_SOURCE_EVENTS + - CALL_ROUTING_EVENTS + - ALERT_UPDATES + - CONNECTOR_EVENTS + - INCIDENT_COMMUNICATIONS + summary: Get log entries for the specified alert. + responses: + '200': + description: list of log entries + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/LogEntry' + /alerts/{id}/actions: + get: + tags: + - Alert Actions + parameters: + - $ref: '#/components/parameters/id' + summary: Get available actions for specified alert. + responses: + '200': + description: list of alert actions + content: + application/json: + schema: + $ref: '#/components/schemas/AlertActionTrigger' + post: + tags: + - Alert Actions + parameters: + - $ref: '#/components/parameters/id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AlertActionTrigger' + description: the alert action, you might skip the 'history' field + required: true + summary: Invoke a specific alert action. + responses: + '201': + description: the alert action result, validate the 'success' field + content: + application/json: + schema: + $ref: '#/components/schemas/AlertActionResult' + /schedules: + get: + tags: + - Schedules + summary: List on-call schedules. + parameters: + - name: include + in: query + description: >- + Describes optional properties that should be included in the + response. You may declare multiple. (currentShift, nextShift, + scheduleLayers [only available for RECURRING schedules], shifts + [only available for STATIC schedules], past [show shifts in the + past, only for STATIC]) + required: false + explode: true + schema: + type: array + items: + type: string + enum: + - scheduleLayers + - shifts + - currentShift + - nextShift + - past + - $ref: '#/components/parameters/start-index' + - in: query + name: max-results + description: >- + the maximum number of results when paging through a list of + schedules. + required: false + schema: + type: integer + format: int32 + maximum: 20 + default: 20 + responses: + '200': + description: a list of on-call schedules + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Schedule' + post: + tags: + - Schedules + parameters: + - name: abort-on-gaps + in: query + required: false + description: Used for static schedules to prevent creating schedules with gaps + schema: + type: boolean + requestBody: + $ref: '#/components/requestBodies/Schedule' + summary: Create a new on-call schedule. + responses: + '201': + description: The created on-call schedule + content: + application/json: + schema: + $ref: '#/components/schemas/Schedule' + /schedules/{id}: + get: + tags: + - Schedules + summary: Get the on-call schedule with the specified id. + parameters: + - $ref: '#/components/parameters/id' + - name: include + in: query + description: >- + Describes optional properties that should be included in the + response. You may declare multiple. (currentShift, nextShift, + scheduleLayers [only available for RECURRING schedules], shifts + [only available for STATIC schedules], past [show shifts in the + past, only for STATIC]) + required: false + explode: true + schema: + type: array + items: + type: string + enum: + - scheduleLayers + - shifts + - currentShift + - nextShift + - past + responses: + '200': + description: >- + The schedule object. (scheduleLayers [only available for RECURRING + schedules], shifts [only available for STATIC schedules]) + content: + application/json: + schema: + $ref: '#/components/schemas/Schedule' + put: + tags: + - Schedules + parameters: + - $ref: '#/components/parameters/id' + - name: abort-on-gaps + in: query + required: false + description: Used for static schedules to prevent updating schedules with gaps + schema: + type: boolean + requestBody: + $ref: '#/components/requestBodies/Schedule' + summary: Update an on-call schedule. + responses: + '200': + description: The updated on-call schedule + content: + application/json: + schema: + $ref: '#/components/schemas/Schedule' + delete: + tags: + - Schedules + summary: Delete the on-call schedule with the specified id. + parameters: + - $ref: '#/components/parameters/id' + responses: + '204': + description: empty response + /schedules/{id}/shifts: + get: + tags: + - Schedules + summary: Get shifts for the specified schedule and date range. + parameters: + - $ref: '#/components/parameters/id' + - in: query + name: from + description: from date, default is start of last month + schema: + type: string + format: date-time + - in: query + name: until + description: until date, default is from date plus 3 months + schema: + type: string + - in: query + name: exclude-overrides + description: if true, shifts won't include overrides + schema: + type: boolean + default: false + responses: + '200': + description: the shift objects + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Shift' + /schedules/{id}/overrides: + get: + tags: + - Schedules + summary: Get overrides for the specified schedule. + parameters: + - $ref: '#/components/parameters/id' + responses: + '200': + description: the shift objects + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Shift' + put: + tags: + - Schedules + summary: Add an override shift to a schedule. + parameters: + - $ref: '#/components/parameters/id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Shift' + description: >- + the shift which should overwrite the schedule (must not be in the + past) + required: true + responses: + '200': + description: the overwritten schedule object + content: + application/json: + schema: + $ref: '#/components/schemas/ScheduleRel' + /schedules/{id}/user-on-call: + get: + tags: + - Schedules + summary: >- + Get the user (wrapped in a shift object) on-call for the specified + schedule. + parameters: + - $ref: '#/components/parameters/id' + responses: + '200': + description: the current shift + content: + application/json: + schema: + $ref: '#/components/schemas/Shift' + '204': + description: if no user is on-call + /on-calls: + get: + tags: + - On-Calls + parameters: + - name: policies + in: query + required: false + description: escalation policy ids to filter on call duties for + schema: + type: number + - name: policy-levels + in: query + required: false + description: >- + can be provided instead of 'policies', must be a serialised and + urlencoded JSON object e.g. ?policy-levels="{ "id": 12, "level": 1 + }" where id is the policy id and level is the escalation level that + should be included + schema: + type: string + - name: schedules + in: query + required: false + description: on call schedule ids to filter on call duties for + schema: + type: number + - name: users + in: query + required: false + description: user ids to filter on call duties for + schema: + type: number + - name: expand + in: query + required: false + description: 'include full entities for: policy, escalationPolicy or user' + schema: + type: string + - name: from + in: query + required: false + description: >- + date-time ISO-UTC e.g. 2021-05-25T21:24:56.771Z, start of the time + range, may not exceed 3 months in total span, defaults to current + time + schema: + type: string + - name: until + in: query + required: false + description: >- + date-time ISO-UTC e.g. 2021-05-25T21:24:56.771Z, end of the time + range, must be after 'from', defaults to current time + schema: + type: string + - name: timezone + in: query + required: false + description: Time zone in which the results will be rendered, defaults to UTC + schema: + type: string + - name: start-index + in: query + required: false + description: offset for the search results, defaults to 0 + schema: + type: number + - name: max-results + in: query + required: false + description: limit for the search results, defaults to 50, may not exceed 250 + schema: + type: number + summary: List on-calls with flexible filters + responses: + '200': + description: returns a list of on-call objects for the searched window + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/OnCall' + /alert-sources: + get: + tags: + - Alert Sources + parameters: + - $ref: '#/components/parameters/start-index' + - in: query + name: max-results + description: >- + the maximum number of results when paging through a list of alert + sources. + required: false + schema: + type: integer + format: int32 + maximum: 50 + default: 50 + summary: List alert sources. + responses: + '200': + description: the alert source object + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/AlertSourceNoIncludes' + post: + tags: + - Alert Sources + requestBody: + $ref: '#/components/requestBodies/AlertSourceRel' + summary: Create a new alert source. + responses: + '201': + description: >- + The URI of the alert source will be included in the location header + and the alert source will be included in the body. + content: + application/json: + schema: + $ref: '#/components/schemas/AlertSource' + /alert-sources/{id}: + get: + tags: + - Alert Sources + parameters: + - $ref: '#/components/parameters/source-id-or-key' + - name: include + in: query + description: >- + Describes optional properties that should be included in the + response. You may declare multiple. (detailsTemplate, + summaryTemplate, routingTemplate, linkTemplates, priorityTemplate, + textTemplate) + required: false + explode: true + schema: + type: array + items: + type: string + enum: + - detailsTemplate + - summaryTemplate + - routingTemplate + - linkTemplates + - priorityTemplate + - textTemplate + summary: Get the alert source with specified id or alternatively api key. + responses: + '200': + description: the alert source object + content: + application/json: + schema: + $ref: '#/components/schemas/AlertSource' + put: + tags: + - Alert Sources + parameters: + - $ref: '#/components/parameters/id' + requestBody: + $ref: '#/components/requestBodies/AlertSourceRel' + summary: Update an existing alert source. + responses: + '200': + description: the updated alert source object + content: + application/json: + schema: + $ref: '#/components/schemas/AlertSource' + delete: + tags: + - Alert Sources + parameters: + - $ref: '#/components/parameters/id' + summary: Delete the specified alert source. + responses: + '204': + description: if deletion was successful + /support-hours: + get: + tags: + - Support Hours + parameters: + - $ref: '#/components/parameters/start-index' + - in: query + name: max-results + description: >- + the maximum number of results when paging through a list of support + hours. + required: false + schema: + type: integer + format: int32 + maximum: 50 + default: 50 + summary: List support hours. + responses: + '200': + description: list of support hours + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/SupportHour' + post: + tags: + - Support Hours + requestBody: + $ref: '#/components/requestBodies/SupportHour' + summary: Create a new support hour. + responses: + '201': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/SupportHour' + /support-hours/{id}: + get: + tags: + - Support Hours + parameters: + - $ref: '#/components/parameters/id' + summary: Get the support hour with specified id. + responses: + '200': + description: the support hour object + content: + application/json: + schema: + $ref: '#/components/schemas/SupportHour' + put: + tags: + - Support Hours + parameters: + - $ref: '#/components/parameters/id' + requestBody: + $ref: '#/components/requestBodies/SupportHour' + summary: Update an existing support hour. + responses: + '200': + description: the updated support hour object + content: + application/json: + schema: + $ref: '#/components/schemas/SupportHour' + delete: + tags: + - Support Hours + parameters: + - $ref: '#/components/parameters/id' + summary: Delete the specified support hour. + responses: + '204': + description: if deletion was successful + /maintenance-windows: + get: + tags: + - Maintenance Windows + parameters: + - $ref: '#/components/parameters/start-index' + - $ref: '#/components/parameters/max-results' + summary: List maintenance windows. + responses: + '200': + description: the maintenance window object + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/MaintenanceWindow' + post: + tags: + - Maintenance Windows + requestBody: + $ref: '#/components/requestBodies/MaintenanceWindow' + summary: Create a new maintenance window. + responses: + '200': + description: >- + The URI of the maintenance window will be included in the location + header and the maintenance window will be included in the body. + content: + application/json: + schema: + $ref: '#/components/schemas/MaintenanceWindow' + /maintenance-windows/{id}: + get: + tags: + - Maintenance Windows + parameters: + - $ref: '#/components/parameters/id' + summary: Get the maintenance window with specified id. + responses: + '200': + description: the maintenance window object + content: + application/json: + schema: + $ref: '#/components/schemas/MaintenanceWindow' + put: + tags: + - Maintenance Windows + parameters: + - $ref: '#/components/parameters/id' + requestBody: + $ref: '#/components/requestBodies/MaintenanceWindow' + summary: Update an existing maintenance window. + responses: + '200': + description: the updated maintenance window object + content: + application/json: + schema: + $ref: '#/components/schemas/MaintenanceWindow' + delete: + tags: + - Maintenance Windows + parameters: + - $ref: '#/components/parameters/id' + summary: Delete the specified maintenance window. + responses: + '204': + description: if deletion was successful + /escalation-policies: + get: + tags: + - Escalation Policies + summary: List escalation policies. + parameters: + - $ref: '#/components/parameters/start-index' + - in: query + name: max-results + description: >- + the maximum number of results when paging through a list of + escalation policies. + required: false + schema: + type: integer + format: int32 + maximum: 50 + default: 50 + responses: + '200': + description: OK + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/EscalationPolicy' + post: + tags: + - Escalation Policies + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/EscalationPolicy' + description: the escalation polocy + required: true + summary: Create a new escalation policy. + responses: + '201': + description: >- + Created. The URI of the escalation policy is included in the + Location header and the entity in the body + content: + application/json: + schema: + $ref: '#/components/schemas/EscalationPolicy' + /escalation-policies/{id}: + get: + tags: + - Escalation Policies + parameters: + - $ref: '#/components/parameters/id' + summary: Get escalation policy with the specified id. + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/EscalationPolicy' + put: + tags: + - Escalation Policies + parameters: + - $ref: '#/components/parameters/id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/EscalationPolicy' + description: the escalation policy + required: true + summary: Update an existing escalation policy. + responses: + '200': + description: The updated escalation policy + content: + application/json: + schema: + $ref: '#/components/schemas/EscalationPolicy' + delete: + tags: + - Escalation Policies + parameters: + - $ref: '#/components/parameters/id' + summary: Delete the specified escalation policy. + responses: + '204': + description: if deletion was successful + /series/{key}: + post: + tags: + - Series + security: [] + summary: Ingest a series for a metric + description: >- + Post a time point or multiple time points (series) to a metric. User + authorization is not required instead provide the integration key of + your metric. + parameters: + - $ref: '#/components/parameters/key' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SeriesOption' + description: the time point or series of time points + required: true + responses: + '202': + description: The time points have been accepted + /events: + post: + tags: + - Events + security: [] + summary: Post an event to ilert. + description: > + Use the Event API to integrate your monitoring or ticketing tools with + ilert. It provides a single API endpoint that allows you to create, + accept and resolve alerts in ilert. It is designed around the notion + that monitoring tools send events when + + * a problem occurs (an `ALERT` event in ilert terminology) + + * a problem is acknowledged, indicating that someone is working on the + resolution of the problem (an `ACCEPT`event) + + * a problem is resolved (a `RESOLVED`event) + + + The API accepts these events, routes them to the alert source to which + the api key belongs, and takes appropriate action. + + + An event object contains the following attributes: + + + Attribute | Desription + + ------------- | ------------- + + apiKey | **Required**. The API key of the alert source. + + eventType | **Required**. Must be either `ALERT`, `ACCEPT`, or + `RESOLVE` + + summary | **Required**. The event summary. Will be used as the alert + summary if a new alert is created. + + details | Optional. The event details. Will be used as the alert details + if a new alert is created. + + alertKey | Optional. For `ALERT` events, the alertKey can be used to + deduplicate or group events. If an open alert with the key already + exists, the event will be appended to the alert's event log. Otherwise a + new alert will be created. For `ACCEPT` and `RESOLVE` events, the + alertKey is used to reference the open alert which is to be accepted or + resolved by this event. + + priority | Optional. Must be either HIGH or LOW. Will overwrite the + evaluated priority of the alert source. + + images | Optional. A list of images containing src, href and alt. + + links | Optional. A list of links, containing href and text. + + customDetails | Optional. Additional custom details for the event. + + routingKey | Optional. Overwrite escalation policy for ALERT events. + + + + ### Getting started + + Before you can start making API requests, you need to create an API + alert source in the ilert web interface: + + 1. Go to "Alert sources" + + 2. Click on "Add a new alert source" + + 3. Fill out the form chosing "API" as the integration type and save. + + + An API key will be generated for the alert source after creation. You + can obtain the key on the alert sources' details page. You can only use + the key to post events to this alert source and you don't need to + provide any other credentials when using the Event API. + + + ### Example: create, accept and resolve an alert + + The following example will guide you through a basic workflow where an + alert is created, accepted, and resolved. + + + #### Create alert + + An alert can be created by posting an `ALERT` event: + + + **Request** + + ```json + + https://api.ilert.com/api/events + + + { + "apiKey": "edf0235f-a720-458e-a7fd-6b001042a4f4", + "eventType": "ALERT", + "alertKey": "srv/mail01", + "summary": "Host srv/mail01 is CRITICAL" + } + + ``` + + + Let's say we want to post an update saying that the host is down. To do + that, we will post another `ALERT` event using the same alertKey: + + + **Request** + + ```json + + https://api.ilert.com/api/events + + + { + "apiKey": "edf0235f-a720-458e-a7fd-6b001042a4f4", + "eventType": "ALERT", + "alertKey": "srv/mail01", + "summary": "Host srv/mail01 is DOWN" + } + + ``` + + + #### Accept an + + Continuing our example from above, we want to accept the alert that we + created. In order to that, we post an `ACCEPT`event using the same + alertKey that we used when we posted the `ALERT` event. + + + **Request** + + ```json + + https://api.ilert.com/api/events + + + { + "apiKey": "edf0235f-a720-458e-a7fd-6b001042a4f4", + "eventType": "ACCEPT", + "alertKey": "srv/mail01" + } + + ``` + + + The alert is now in ACCEPTED state stopping any further notifications. + + + #### Resolve an alert + + To resolve the alert, we simply post a `RESOLVE` event using the alert + key from above. + + + **Request** + + ```json + + https://api.ilert.com/api/events + + + { + "apiKey": "edf0235f-a720-458e-a7fd-6b001042a4f4", + "eventType": "RESOLVE", + "alertKey": "srv/mail01" + } + + ``` + + + The alert is now resolved. + + + + + ### Dealing with errors and retries + + We strongly recommend to implement a retry logic on the client side if + an error occurs (ideally using an [exponential + backoff](https://en.wikipedia.org/wiki/Exponential_backoff)). + + + Retry a failed request for the following errors: + + * any network errors + + * 5xx errors: this indicates an error in ilert + + * 429 Too Many Requests: you have reached your rate limit + + + + Do NOT retry a request for the following HTTP response codes: + + * 202 Accepted: the request was successful + + * 400 Bad Request: (check the error message for details) + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Event' + description: the event + required: true + responses: + '202': + description: The event has been accepted + /heartbeats/{key}: + head: + tags: + - Heartbeats + security: [] + parameters: + - $ref: '#/components/parameters/key' + summary: Ping heartbeat alert source. + responses: + '202': + description: Arbitrary accept response + get: + tags: + - Heartbeats + security: [] + parameters: + - $ref: '#/components/parameters/key' + summary: Ping heartbeat alert source. + responses: + '202': + description: Arbitrary accept response + post: + tags: + - Heartbeats + security: [] + parameters: + - $ref: '#/components/parameters/key' + summary: Ping heartbeat alert source. + responses: + '202': + description: Arbitrary accept response + /alert-actions: + get: + tags: + - Alert Actions + parameters: + - name: source + in: query + description: alert source id + schema: + type: number + - name: connector + in: query + description: connector id + schema: + type: string + - $ref: '#/components/parameters/start-index' + - in: query + name: max-results + description: >- + the maximum number of results when paging through a list of alert + actions. + required: false + schema: + type: integer + format: int32 + maximum: 100 + default: 100 + summary: Get alert actions. + responses: + '200': + description: The filtered alert actions + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/AlertAction' + post: + tags: + - Alert Actions + requestBody: + $ref: '#/components/requestBodies/AlertAction' + summary: Create a new alert action. + responses: + '200': + description: The newly created alert action + content: + application/json: + schema: + $ref: '#/components/schemas/AlertAction' + /alert-actions/{id}: + get: + tags: + - Alert Actions + parameters: + - $ref: '#/components/parameters/string-id' + summary: Get a specific alert action. + responses: + '200': + description: The requested alert action + content: + application/json: + schema: + $ref: '#/components/schemas/AlertAction' + put: + tags: + - Alert Actions + parameters: + - $ref: '#/components/parameters/string-id' + requestBody: + $ref: '#/components/requestBodies/AlertAction' + summary: 'Update the specific alert action. (note: type cannot be changed)' + responses: + '200': + description: The updated alert action + content: + application/json: + schema: + $ref: '#/components/schemas/AlertAction' + delete: + tags: + - Alert Actions + parameters: + - $ref: '#/components/parameters/string-id' + summary: Remove a specific alert action. + responses: + '204': + description: Empty body delete response + /connectors: + get: + tags: + - Connectors + parameters: + - $ref: '#/components/parameters/start-index' + - $ref: '#/components/parameters/max-results' + summary: Get connectors. + responses: + '200': + description: The connectors + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Connector' + post: + tags: + - Connectors + requestBody: + $ref: '#/components/requestBodies/Connector' + summary: Create a new connector. + responses: + '200': + description: The newly created connector + content: + application/json: + schema: + $ref: '#/components/schemas/Connector' + /connectors/{id}: + get: + tags: + - Connectors + parameters: + - $ref: '#/components/parameters/string-id' + summary: Get a specific connector. + responses: + '200': + description: The requested connector + content: + application/json: + schema: + $ref: '#/components/schemas/Connector' + put: + tags: + - Connectors + parameters: + - $ref: '#/components/parameters/string-id' + requestBody: + $ref: '#/components/requestBodies/Connector' + summary: 'Update the specific connector. (note: type cannot be changed)' + responses: + '200': + description: The updated connector + content: + application/json: + schema: + $ref: '#/components/schemas/Connector' + delete: + tags: + - Connectors + parameters: + - $ref: '#/components/parameters/string-id' + summary: Remove a specific connector. + responses: + '204': + description: Empty body delete response + /teams: + get: + tags: + - Teams + parameters: + - $ref: '#/components/parameters/start-index' + - $ref: '#/components/parameters/max-results' + - name: members + in: query + required: false + description: >- + optional, filter teams for specific members (currently only a single + occurrence of this param is allowed) + schema: + type: number + summary: Get teams. + responses: + '200': + description: The teams + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Team' + post: + tags: + - Teams + requestBody: + $ref: '#/components/requestBodies/Team' + summary: Create a new team. + responses: + '200': + description: The newly created team + content: + application/json: + schema: + $ref: '#/components/schemas/Team' + /teams/{id}: + get: + tags: + - Teams + parameters: + - $ref: '#/components/parameters/id' + summary: Get a specific team. + responses: + '200': + description: The requested team + content: + application/json: + schema: + $ref: '#/components/schemas/Team' + put: + tags: + - Teams + parameters: + - $ref: '#/components/parameters/id' + requestBody: + $ref: '#/components/requestBodies/Team' + summary: Update the specific team + responses: + '200': + description: The updated team + content: + application/json: + schema: + $ref: '#/components/schemas/Team' + delete: + tags: + - Teams + parameters: + - $ref: '#/components/parameters/id' + summary: Remove a specific team. + responses: + '204': + description: Empty body delete response + /teams/{id}/members: + post: + tags: + - Teams + parameters: + - $ref: '#/components/parameters/id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TeamMember' + description: the team member + required: true + summary: Add a new team member to specific team + responses: + '200': + description: The added team member + content: + application/json: + schema: + $ref: '#/components/schemas/TeamMember' + /teams/{id}/members/{id}: + delete: + tags: + - Teams + parameters: + - $ref: '#/components/parameters/id' + summary: Remove a specific member of a specific team. + responses: + '204': + description: Empty body delete response + /reports/alerts: + get: + tags: + - Reports + parameters: + - name: sources + in: query + required: false + description: alert source ids to filter metrics for + schema: + type: number + - name: policies + in: query + required: false + description: escalation policy ids to filter metrics for + schema: + type: number + - name: numbers + in: query + required: false + description: phone numbers of call routing numbers to filter metrics for + schema: + type: string + - name: from + in: query + required: true + description: >- + date-time ISO-UTC e.g. 2021-05-25T21:24:56.771Z, start of the time + range, may not exceed 1 year in total span + schema: + type: string + - name: until + in: query + required: true + description: >- + date-time ISO-UTC e.g. 2021-05-25T21:24:56.771Z, end of the time + range, must be after 'from', must not be in the future + schema: + type: string + - name: timezone + in: query + required: false + description: >- + Time zone in which the results will be rendered, defaults to + tenant's configured default timezone + schema: + type: string + - name: metric + in: query + required: false + description: >- + Describes the metric that should be fetched choose one of: COUNT, + MTTA or MTTR - defaults to COUNT + schema: + type: string + - name: group-by + in: query + required: false + description: >- + Defines the grouping of metrics, choose one of: DAY, WEEK or MONTH - + defaults to WEEK + schema: + type: string + - name: priority + in: query + required: false + description: >- + Sets the priority filter that should be applied, choose one of: LOW, + HIGH or ALL - defaults to ALL + schema: + type: string + summary: List alert metrics for the requested resources + responses: + '200': + description: >- + an array of alert report metrics, each metric is another array + containing data in the following order: + + + [long:alertSourceId, long:escalationPolicyId, + string:callRoutingNumberPhoneNumber, string:ISO-8601, long:value] + + + e.g. [ [202541, 13541, "", "2021-08", 15] ] + + + Please note: the ISO-8601 (4th column) in this case depends on the + chosen 'group-by' parameter. DAY=2021-08-01, WEEK=2021-W12, + MONTH=2021-08 + content: + application/json: + schema: + type: array + items: + type: array + items: + oneOf: + - type: number + - type: string + metric sample: + examples: + response: + value: + summary: metric sample + value: + - - 202541 + - 13541 + - '' + - 2021-08 + - 15 + /reports/alerts/summary: + get: + tags: + - Reports + parameters: + - name: sources + in: query + required: false + description: alert source ids to filter metrics for + schema: + type: number + - name: policies + in: query + required: false + description: escalation policy ids to filter metrics for + schema: + type: number + - name: numbers + in: query + required: false + description: phone numbers of call routing numbers to filter metrics for + schema: + type: string + - name: from + in: query + required: true + description: >- + date-time ISO-UTC e.g. 2021-05-25T21:24:56.771Z, start of the time + range, may not exceed 1 year in total span + schema: + type: string + - name: until + in: query + required: true + description: >- + date-time ISO-UTC e.g. 2021-05-25T21:24:56.771Z, end of the time + range, must be after 'from', must not be in the future + schema: + type: string + - name: timezone + in: query + required: false + description: >- + Time zone in which the results will be rendered, defaults to + tenant's configured default timezone + schema: + type: string + - name: metric + in: query + required: false + description: >- + Describes the metric that should be fetched choose one of: COUNT, + MTTA or MTTR - defaults to COUNT + schema: + type: string + - name: group-by + in: query + required: false + description: >- + Defines the grouping of metrics, choose one of: DAY, WEEK or MONTH - + defaults to WEEK + schema: + type: string + - name: priority + in: query + required: false + description: >- + Sets the priority filter that should be applied, choose one of: LOW, + HIGH or ALL - defaults to ALL + schema: + type: string + summary: Summarize a list of alert metrics + responses: + '200': + description: >- + an array containing summarized alert report metrics for the + requested resource + content: + application/json: + schema: + type: array + items: + type: object + properties: + alertSourceId: + type: number + escalationPolicyId: + type: number + callRoutingNumberPhoneNumber: + type: string + count: + type: number + mtta: + type: number + mttr: + type: number + /reports/api-keys/usage: + get: + tags: + - Reports + parameters: + - name: scopes + in: query + required: false + description: >- + scopes of our API resources e.g. alert see + https://docs.ilert.com/rest-api/developing-ilert-apps/token-lifetimes-error-codes-app-verification-etc.#ilert-oauth2-scopes + schema: + type: string + - name: from + in: query + required: true + description: >- + date-time ISO-UTC e.g. 2021-05-25T21:24:56.771Z, start of the time + range, may not exceed 1 month (31 days) in total span (use this to + paginate) + schema: + type: string + - name: until + in: query + required: true + description: >- + date-time ISO-UTC e.g. 2021-05-25T21:24:56.771Z, end of the time + range, must be after 'from', must not be in the future (use this to + paginate) + schema: + type: string + - name: timezone + in: query + required: false + description: >- + Time zone in which the results will be rendered, defaults to + tenant's configured default timezone + schema: + type: string + summary: List API key usage metrics for the requested resources + description: This endpoint requires 'ADMIN' permissions + responses: + '200': + description: >- + an array of usage metrics, each metric is another array containing + data in the following order: + + + [long:userId, string:scope, string:ISO-8601, long:value] + + + e.g. [ [202541, "source", "2023-04-21", 15] ] + + + Please note: the ISO-8601 (3th column) in this case is always DAY + (2021-08-01) usually 24 hours apart, but there is a slight chance + that the same userId and scope have multiple entries for the same + DAY + content: + application/json: + schema: + type: array + items: + type: array + items: + oneOf: + - type: number + - type: string + metric sample: + examples: + response: + value: + summary: metric sample + value: + - - 202541 + - alert + - 2023-04 + - 15 + /incident-templates: + get: + tags: + - Incident Templates + parameters: + - $ref: '#/components/parameters/start-index' + - $ref: '#/components/parameters/max-results' + summary: Get incident templates. + responses: + '200': + description: The incident templates + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/IncidentTemplate' + post: + tags: + - Incident Templates + requestBody: + $ref: '#/components/requestBodies/IncidentTemplate' + summary: Create a new incident template. + responses: + '200': + description: The newly created incident template + content: + application/json: + schema: + $ref: '#/components/schemas/IncidentTemplate' + /incident-templates/{id}: + get: + tags: + - Incident Templates + parameters: + - $ref: '#/components/parameters/id' + summary: Get a specific incident template. + responses: + '200': + description: The requested incident template + content: + application/json: + schema: + $ref: '#/components/schemas/IncidentTemplate' + put: + tags: + - Incident Templates + parameters: + - $ref: '#/components/parameters/id' + requestBody: + $ref: '#/components/requestBodies/IncidentTemplate' + summary: Update the specific incident template + responses: + '200': + description: The updated incident template + content: + application/json: + schema: + $ref: '#/components/schemas/IncidentTemplate' + delete: + tags: + - Incident Templates + parameters: + - $ref: '#/components/parameters/id' + summary: Remove a specific incident template. + responses: + '204': + description: Empty body delete response + /services: + get: + tags: + - Services + parameters: + - $ref: '#/components/parameters/start-index' + - in: query + name: max-results + description: >- + the maximum number of results when paging through a list of + services. (Note: when using ?include maximum is reduced to 25) + required: false + schema: + type: integer + format: int32 + maximum: 100 + default: 10 + - name: include + in: query + description: >- + Describes optional properties that should be included in the + response. You may declare multiple. (subscribed, uptime, incidents) + required: false + explode: true + schema: + type: array + items: + type: string + enum: + - subscribed + - uptime + - incidents + summary: Get services. + responses: + '200': + description: The services + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Service' + post: + tags: + - Services + requestBody: + $ref: '#/components/requestBodies/ServiceNoIncludes' + summary: Create a new service. + responses: + '200': + description: The newly created service + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceNoIncludes' + /services/{id}: + get: + tags: + - Services + parameters: + - $ref: '#/components/parameters/id' + - name: include + in: query + description: >- + Describes optional properties that should be included in the + response. You may declare multiple. (subscribed, uptime, incidents) + required: false + explode: true + schema: + type: array + items: + type: string + enum: + - subscribed + - uptime + - incidents + summary: Get a specific service. + responses: + '200': + description: The requested service + content: + application/json: + schema: + $ref: '#/components/schemas/Service' + put: + tags: + - Services + parameters: + - $ref: '#/components/parameters/id' + requestBody: + $ref: '#/components/requestBodies/ServiceNoIncludes' + summary: Update the specific service + responses: + '200': + description: The updated service + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceNoIncludes' + delete: + tags: + - Services + parameters: + - $ref: '#/components/parameters/id' + summary: Remove a specific service. + responses: + '204': + description: Empty body delete response + /automation-rules: + get: + description: >- + This API has been deprecated, use /alert-actions of type + 'automation_rule' instead. + tags: + - Automation Rules + parameters: + - $ref: '#/components/parameters/start-index' + - $ref: '#/components/parameters/max-results' + - name: service + in: query + description: >- + The service id for which automation rules are filtered for, this + param is required + required: true + schema: + type: number + - name: source + in: query + description: >- + The alert source id for which automation rules are filtered for, + this param is an alternative to service + required: false + schema: + type: number + - name: status-page + in: query + description: >- + The status page id for which automation rules are filtered for, this + param is an alternative to service + required: false + schema: + type: number + summary: Get automation rules. + responses: + '200': + description: The automation rules + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/AutomationRule' + post: + description: >- + This API has been deprecated, use /alert-actions of type + 'automation_rule' instead. + tags: + - Automation Rules + requestBody: + $ref: '#/components/requestBodies/AutomationRule' + summary: Create a new automation rule. + responses: + '200': + description: The newly created automation rule + content: + application/json: + schema: + $ref: '#/components/schemas/AutomationRule' + /automation-rules/{id}: + get: + description: >- + This API has been deprecated, use /alert-actions of type + 'automation_rule' instead. + tags: + - Automation Rules + parameters: + - $ref: '#/components/parameters/id' + summary: Get a specific automation rule. + responses: + '200': + description: The requested automation rule + content: + application/json: + schema: + $ref: '#/components/schemas/AutomationRule' + put: + description: >- + This API has been deprecated, use /alert-actions of type + 'automation_rule' instead. + tags: + - Automation Rules + parameters: + - $ref: '#/components/parameters/id' + requestBody: + $ref: '#/components/requestBodies/AutomationRule' + summary: Update the specific automation rule + responses: + '200': + description: The updated automation rule + content: + application/json: + schema: + $ref: '#/components/schemas/AutomationRule' + delete: + description: >- + This API has been deprecated, use /alert-actions of type + 'automation_rule' instead. + tags: + - Automation Rules + parameters: + - $ref: '#/components/parameters/id' + summary: Remove a specific automation rule. + responses: + '204': + description: Empty body delete response + /incidents: + get: + tags: + - Incidents + parameters: + - $ref: '#/components/parameters/start-index' + - in: query + name: max-results + description: >- + the maximum number of results when paging through a list of + incidents. (Note: when using ?include maximum is reduced to 25) + required: false + schema: + type: integer + format: int32 + maximum: 100 + default: 10 + - name: include + in: query + description: >- + Describes optional properties that should be included in the + response. You may declare multiple. (subscribed) + required: false + explode: true + schema: + type: array + items: + type: string + enum: + - subscribed + - in: query + name: states + description: state of the alert + explode: true + schema: + type: array + items: + type: string + enum: + - INVESTIGATING + - IDENTIFIED + - MONITORING + - RESOLVED + - in: query + name: services + description: service IDs of the incident's affected services + explode: true + schema: + type: array + items: + type: integer + format: int64 + - in: query + name: from + description: >- + from date, ISO-UTC e.g. 2021-05-25T21:24:56.771Z, based on + reportTime + schema: + type: string + format: date-time + - in: query + name: until + description: >- + until date, ISO-UTC e.g. 2021-05-26T21:24:56.771Z, based on + reportTime + schema: + type: string + format: date-time + summary: Get incidents. + responses: + '200': + description: The incidents + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Incident' + post: + tags: + - Incidents + requestBody: + $ref: '#/components/requestBodies/IncidentNoIncludes' + summary: Create a new incident. + description: >- + Note: depending on affected services this will publish notifications to + subscribers. Use /publish-info to forecast notifications. + responses: + '200': + description: The newly created incident + content: + application/json: + schema: + $ref: '#/components/schemas/IncidentNoIncludes' + /incidents/publish-info: + post: + tags: + - Incidents + requestBody: + $ref: '#/components/requestBodies/IncidentNoIncludes' + summary: Forecast the affected subscribers and status pages + description: >- + Forecast the affected subscribers and status pages as well as + notifications that would be send out due to created or update incident. + responses: + '200': + description: The forecast for the provided incident + content: + application/json: + schema: + type: object + properties: + statusPagesInfo: + $ref: '#/components/schemas/UIMenuItem' + privateStatusPages: + type: number + readOnly: true + publicStatusPages: + type: number + readOnly: true + privateSubscribers: + type: number + readOnly: true + publicSubscribers: + type: number + readOnly: true + /incidents/{id}: + get: + tags: + - Incidents + parameters: + - $ref: '#/components/parameters/id' + - name: include + in: query + description: >- + Describes optional properties that should be included in the + response. You may declare multiple. (subscribed, affectedTeams, + history) + required: false + explode: true + schema: + type: array + items: + type: string + enum: + - subscribed + - affectedTeams + - history + summary: Get a specific incident. + description: >- + Note: returns an ETag header that can be send to the PUT /incidents/{id} + resource as If-Match header to return a 412 Error in case any related + resources e.g. Services or Incident have been updated in the mean time. + responses: + '200': + description: The requested incident + headers: + ETag: + description: >- + Send to the PUT /incidents/{id} resource as If-Match header to + return a 412 Error in case any related resources e.g. Services + or Incident have been updated in the mean time. + schema: + type: string + content: + application/json: + schema: + $ref: '#/components/schemas/IncidentWithHistory' + put: + tags: + - Incidents + parameters: + - $ref: '#/components/parameters/id' + - name: If-Match + in: header + required: false + description: >- + Should be the ETag response header retrieved from GET + /incidents/{id} to prevent updating the incident based on outdated + information. Will return 412 status code in case of conflict. + schema: + type: string + requestBody: + $ref: '#/components/requestBodies/IncidentNoIncludes' + summary: Update the specific incident. + description: >- + Note: the update will be automatically appended to the incident's update + history and publish notifications to subscribers. + responses: + '200': + description: The updated incident + content: + application/json: + schema: + $ref: '#/components/schemas/IncidentNoIncludes' + /incidents/{id}/private-subscribers: + get: + tags: + - Incidents + parameters: + - $ref: '#/components/parameters/id' + summary: Get the subscribers (users and teams) of an incident + responses: + '200': + description: The subscribers of the incident + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TeamUserOption' + post: + tags: + - Incidents + parameters: + - $ref: '#/components/parameters/id' + requestBody: + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TeamUserOption' + description: subscribers that should be added + required: true + summary: Add subscribers (users and teams) to an incident + responses: + '204': + description: '' + /services/{id}/private-subscribers: + get: + tags: + - Services + parameters: + - $ref: '#/components/parameters/id' + summary: Get the subscribers (users and teams) of a service + responses: + '200': + description: The subscribers of the service + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TeamUserOption' + put: + tags: + - Services + parameters: + - $ref: '#/components/parameters/id' + requestBody: + $ref: '#/components/requestBodies/TeamUserOptionArray' + summary: Set subscribers (users and teams) of a service + description: 'Note: this is an in place update' + responses: + '204': + description: '' + /status-pages: + get: + tags: + - Status Pages + parameters: + - $ref: '#/components/parameters/start-index' + - in: query + name: max-results + description: >- + the maximum number of results when paging through a list of status + pages. + required: false + schema: + type: integer + format: int32 + maximum: 50 + default: 25 + - name: include + in: query + description: >- + Describes optional properties that should be included in the + response. You may declare multiple. (subscribed) + required: false + explode: true + schema: + type: array + items: + type: string + enum: + - subscribed + summary: Get status pages. + responses: + '200': + description: The status pages + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/StatusPageList' + post: + tags: + - Status Pages + requestBody: + $ref: '#/components/requestBodies/StatusPageNoIncludes' + summary: Create a new status page. + responses: + '200': + description: The newly created status page + content: + application/json: + schema: + $ref: '#/components/schemas/StatusPageNoIncludes' + /status-pages/{id}: + get: + tags: + - Status Pages + parameters: + - $ref: '#/components/parameters/id' + - name: include + in: query + description: >- + Describes optional properties that should be included in the + response. You may declare multiple. (subscribed, uptime, groups, + structure). Note: structure is always included by default. + required: false + explode: true + schema: + type: array + items: + type: string + enum: + - subscribed + - uptime + - groups + - structure + summary: Get a specific status page. + responses: + '200': + description: The requested status page + content: + application/json: + schema: + $ref: '#/components/schemas/StatusPage' + put: + tags: + - Status Pages + parameters: + - $ref: '#/components/parameters/id' + requestBody: + $ref: '#/components/requestBodies/StatusPageNoIncludes' + summary: Update the specific status page + responses: + '200': + description: The updated status page + content: + application/json: + schema: + $ref: '#/components/schemas/StatusPageNoIncludes' + delete: + tags: + - Status Pages + parameters: + - $ref: '#/components/parameters/id' + summary: Remove a specific status page. + responses: + '204': + description: Empty body delete response + /status-pages/{id}/groups: + get: + tags: + - Status Pages + parameters: + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/start-index' + - $ref: '#/components/parameters/max-results' + summary: Get the groups of a status page + responses: + '200': + description: The groups of the status page + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/StatusPageGroup' + post: + tags: + - Status Pages + parameters: + - $ref: '#/components/parameters/id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/StatusPageGroup' + description: Group that should be added + required: true + summary: Add a group to a status page + responses: + '201': + description: The created group + content: + application/json: + schema: + $ref: '#/components/schemas/StatusPageGroup' + /status-pages/{id}/groups/{group-id}: + get: + tags: + - Status Pages + parameters: + - $ref: '#/components/parameters/id' + - name: group-id + in: path + description: entity ID + required: true + schema: + type: number + summary: Get a specific group of a status page + responses: + '200': + description: The group of the status page + content: + application/json: + schema: + $ref: '#/components/schemas/StatusPageGroup' + '404': + description: '' + put: + tags: + - Status Pages + parameters: + - $ref: '#/components/parameters/id' + - name: group-id + in: path + description: entity ID + required: true + schema: + type: number + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/StatusPageGroup' + description: Group that should be updated + required: true + summary: Update a group of a status page + responses: + '200': + description: The updated group of the status page + content: + application/json: + schema: + $ref: '#/components/schemas/StatusPageGroup' + delete: + tags: + - Status Pages + parameters: + - $ref: '#/components/parameters/id' + - name: group-id + in: path + description: entity ID + required: true + schema: + type: number + summary: Remove group from a status page + responses: + '204': + description: '' + /status-pages/{id}/private-subscribers: + get: + tags: + - Status Pages + parameters: + - $ref: '#/components/parameters/id' + summary: Get the subscribers (users and teams) of a status page + responses: + '200': + description: The subscribers of the status page + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TeamUserOption' + put: + tags: + - Status Pages + parameters: + - $ref: '#/components/parameters/id' + requestBody: + $ref: '#/components/requestBodies/TeamUserOptionArray' + summary: Set subscribers (users and teams) of a status page + description: 'Note: this is an in place update' + responses: + '204': + description: '' + post: + tags: + - Status Pages + parameters: + - $ref: '#/components/parameters/id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TeamUserOption' + description: subscriber that should be added + required: true + summary: Add subscriber (user and team) to a status page + responses: + '204': + description: '' + delete: + tags: + - Status Pages + parameters: + - $ref: '#/components/parameters/id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TeamUserOption' + description: subscriber that should be removed + required: true + summary: Remove subscriber (user and team) from a status page + responses: + '204': + description: '' + /service-outages: + get: + tags: + - Service Outages + parameters: + - in: query + name: service + description: the id of the service for which the outages should be fetched + schema: + type: number + - in: query + name: from + description: from date, ISO-UTC e.g. 2021-05-25T21:24:56.771Z + schema: + type: string + format: date-time + - in: query + name: until + description: until date, ISO-UTC e.g. 2021-05-26T21:24:56.771Z + schema: + type: string + format: date-time + - in: query + name: ignore-overrides + description: >- + if the outages should not take overrides into account, default is + false + schema: + type: boolean + summary: Get the outages (including applied overrides) of a specific service + responses: + '200': + description: The outages of the service + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ServiceOutage' + /service-outages/overrides: + get: + tags: + - Service Outages + parameters: + - in: query + name: service + description: the id of the service for which the overrides should be fetched + schema: + type: number + - in: query + name: from + description: from date, ISO-UTC e.g. 2021-05-25T21:24:56.771Z + schema: + type: string + format: date-time + - in: query + name: until + description: until date, ISO-UTC e.g. 2021-05-26T21:24:56.771Z + schema: + type: string + format: date-time + summary: Get the overrides of a specific service + responses: + '200': + description: The overrides of the service + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ServiceOutageOverride' + post: + tags: + - Service Outages + requestBody: + $ref: '#/components/requestBodies/ServiceOutageOverride' + summary: Override a part of a service's outage history + responses: + '201': + description: The added override + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceOutageOverride' + /service-outages/overrides/{id}: + get: + tags: + - Service Outages + parameters: + - $ref: '#/components/parameters/id' + summary: Get the specific service outage override + responses: + '200': + description: The override + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceOutageOverride' + put: + tags: + - Service Outages + parameters: + - $ref: '#/components/parameters/id' + requestBody: + $ref: '#/components/requestBodies/ServiceOutageOverride' + summary: Update an existing service outage override + responses: + '200': + description: The updated override + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceOutageOverride' + delete: + tags: + - Service Outages + parameters: + - $ref: '#/components/parameters/id' + summary: Remove a service outage override + responses: + '204': + description: '' + /metric-data-sources: + get: + tags: + - Metric Data Sources + parameters: + - $ref: '#/components/parameters/start-index' + - in: query + name: max-results + description: >- + the maximum number of results when paging through a list of metric + data sources + required: false + schema: + type: integer + format: int32 + maximum: 100 + default: 10 + summary: Get Metric Data Sources + responses: + '200': + description: The Metric Data Sources + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/MetricDataSourceNoIncludes' + post: + tags: + - Metric Data Sources + requestBody: + $ref: '#/components/requestBodies/MetricDataSourcePost' + summary: Create a new Metric Data Source. + responses: + '200': + description: The newly created Metric Data Source + content: + application/json: + schema: + $ref: '#/components/schemas/MetricDataSource' + /metric-data-sources/{id}: + get: + tags: + - Metric Data Sources + summary: Get a specific Metric Data Source + parameters: + - name: id + in: path + required: true + description: entity ID + schema: + type: number + responses: + '200': + description: The requested Metric Data Source + content: + application/json: + schema: + $ref: '#/components/schemas/MetricDataSource' + put: + tags: + - Metric Data Sources + parameters: + - name: id + in: path + required: true + description: entity ID + schema: + type: number + requestBody: + $ref: '#/components/requestBodies/MetricDataSourcePost' + summary: Update the specific Metric Data Source + responses: + '200': + description: The updated Metric Data Source + content: + application/json: + schema: + $ref: '#/components/schemas/MetricDataSource' + delete: + tags: + - Metric Data Sources + parameters: + - name: id + in: path + required: true + description: entity ID + schema: + type: number + summary: Delete a specific Metric Data Source + responses: + '204': + description: Empty body delete response + /metrics: + get: + tags: + - Metrics + parameters: + - $ref: '#/components/parameters/start-index' + - in: query + name: max-results + description: >- + the maximum number of results when paging through a list of metrics. + (Note: when using ?include maximum is reduced to 25) + required: false + schema: + type: integer + format: int32 + maximum: 100 + default: 10 + - name: include + in: query + description: >- + Describes optional properties that should be included in the + response. You may declare multiple. (dataSource, integrationKey) + required: false + explode: true + schema: + type: array + items: + type: string + enum: + - dataSource + - integrationKey + summary: Get metrics. + responses: + '200': + description: The metrics + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/MetricList' + post: + tags: + - Metrics + requestBody: + $ref: '#/components/requestBodies/MetricPost' + summary: Create a new metric. + responses: + '200': + description: The newly created metric + content: + application/json: + schema: + $ref: '#/components/schemas/Metric' + /metric/{id}: + get: + tags: + - Metrics + summary: Get a specific Metric + parameters: + - name: id + in: path + required: true + description: entity ID + schema: + type: number + responses: + '200': + description: The requested metric + content: + application/json: + schema: + $ref: '#/components/schemas/Metric' + put: + tags: + - Metrics + summary: Update the specific Metric + parameters: + - name: id + in: path + required: true + description: entity ID + schema: + type: number + requestBody: + $ref: '#/components/requestBodies/MetricPost' + responses: + '200': + description: The updated metric + content: + application/json: + schema: + $ref: '#/components/schemas/Metric' + delete: + tags: + - Metrics + summary: Delete the specific Metric + parameters: + - name: id + in: path + required: true + description: entity ID + schema: + type: number + responses: + '204': + description: Empty body delete response +servers: + - url: /api +components: + parameters: + id: + name: id + in: path + description: entity ID + required: true + schema: + type: number + string-id: + name: id + in: path + description: entity ID + required: true + schema: + type: string + user-id-in-path: + name: user-id + in: path + description: numeric user id + required: true + schema: + type: string + include: + name: include + in: query + description: Describes optional properties that should be included in the response. + required: false + schema: + type: string + user-id-in-query: + name: user + in: query + description: numeric user id + schema: + type: string + source-id-or-key: + name: source-id + in: path + description: numeric source id or api key + required: true + schema: + type: string + requester-id: + in: query + name: requester-id + description: id of the user who requested this operation + schema: + type: string + start-index: + in: query + name: start-index + description: >- + an integer specifying the starting point (beginning with 0) when paging + through a list of entities + required: false + schema: + type: integer + format: int32 + default: 0 + max-results: + in: query + name: max-results + description: the maximum number of results when paging through a list of entities. + required: false + schema: + type: integer + format: int32 + maximum: 100 + default: 50 + key: + name: key + in: path + description: api key of resource + required: true + schema: + type: string + requestBodies: + Connector: + content: + application/json: + schema: + $ref: '#/components/schemas/Connector' + description: the connector + required: true + AlertSourceRel: + content: + application/json: + schema: + $ref: '#/components/schemas/AlertSourceRel' + description: the alert source + required: true + ServiceOutageOverride: + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceOutageOverride' + description: override that should be made + required: true + TeamUserOptionArray: + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TeamUserOption' + description: subscribers that should be adjusted + required: true + MaintenanceWindow: + content: + application/json: + schema: + $ref: '#/components/schemas/MaintenanceWindow' + description: the maintenance window + required: true + MetricPost: + content: + application/json: + schema: + $ref: '#/components/schemas/MetricPost' + description: The metric + required: true + Schedule: + content: + application/json: + schema: + $ref: '#/components/schemas/Schedule' + description: >- + The on-call schedule. (scheduleLayers [only available for RECURRING + schedules], shifts [only available for STATIC schedules]) + required: true + SupportHour: + content: + application/json: + schema: + $ref: '#/components/schemas/SupportHour' + description: the support hour + required: true + AlertAction: + content: + application/json: + schema: + $ref: '#/components/schemas/AlertAction' + description: the alert action + required: true + Team: + content: + application/json: + schema: + $ref: '#/components/schemas/Team' + description: the team + required: true + IncidentTemplate: + content: + application/json: + schema: + $ref: '#/components/schemas/IncidentTemplate' + description: the incident template + required: true + ServiceNoIncludes: + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceNoIncludes' + description: the service + required: true + AutomationRule: + content: + application/json: + schema: + $ref: '#/components/schemas/AutomationRule' + description: the automation rule + required: true + IncidentNoIncludes: + content: + application/json: + schema: + $ref: '#/components/schemas/IncidentNoIncludes' + description: the incident + required: true + StatusPageNoIncludes: + content: + application/json: + schema: + $ref: '#/components/schemas/StatusPageNoIncludes' + description: the status page + required: true + MetricDataSourcePost: + content: + application/json: + schema: + $ref: '#/components/schemas/MetricDataSourcePost' + description: The metric data source + required: true + securitySchemes: + apiKey: + type: apiKey + in: header + name: Authorization + description: >- + The Bearer API key of your user more info. + schemas: + ContactStatus: + type: string + enum: + - OK + - LOCKED + - BLACKLISTED + ContactPhoneNumber: + type: object + properties: + id: + type: integer + format: int64 + regionCode: + type: string + target: + type: string + primary: + type: boolean + description: May only be enabled for a single phone number contact at a time + status: + $ref: '#/components/schemas/ContactStatus' + ContactPhoneNumberPost: + type: object + properties: + regionCode: + type: string + target: + type: string + primary: + type: boolean + description: May only be enabled for a single phone number contact at a time + TimeZone: + type: string + enum: + - Europe/Berlin + - America/New_York + - America/Los_Angeles + - Asia/Istanbul + OutboundNumber: + type: object + properties: + countryCode: + type: string + phoneNumber: + type: string + supportsInboundSms: + type: boolean + types: + type: array + items: + type: string + enum: + - SMS + - VOICE + Integration: + type: object + properties: + id: + type: string + name: + type: string + type: + type: string + enum: + - INBOUND + - NATIVE + - OUTBOUND + iconUrl: + type: string + documentationUrl: + type: string + integrationPath: + type: string + Role: + type: string + enum: + - STAKEHOLDER + - GUEST + - RESPONDER + - USER + - ADMIN + TeamRole: + type: string + enum: + - STAKEHOLDER + - RESPONDER + - USER + - ADMIN + UserRel: + type: object + required: + - id + properties: + id: + type: integer + format: int64 + firstName: + type: string + lastName: + type: string + User: + type: object + required: + - firstName + - lastName + - email + properties: + id: + type: integer + format: int64 + firstName: + type: string + lastName: + type: string + email: + type: string + timezone: + $ref: '#/components/schemas/TimeZone' + position: + type: string + department: + type: string + avatarUrl: + type: string + readOnly: true + language: + type: string + enum: + - DE + - EN + role: + $ref: '#/components/schemas/Role' + shiftColor: + type: string + description: Optional hex-color code for the user's shifts in schedules calendars + mutedUntil: + type: string + format: date-time + description: Date in ISO-8601 + createdAt: + type: string + format: date-time + description: Date in ISO-8601 + updatedAt: + type: string + format: date-time + description: Date in ISO-8601 + UserPost: + type: object + required: + - firstName + - lastName + - email + properties: + firstName: + type: string + lastName: + type: string + email: + type: string + timezone: + $ref: '#/components/schemas/TimeZone' + position: + type: string + department: + type: string + avatarUrl: + type: string + readOnly: true + language: + type: string + enum: + - DE + - EN + role: + $ref: '#/components/schemas/Role' + shiftColor: + type: string + description: Optional hex-color code for the user's shifts in schedules calendars + ContactEmail: + type: object + properties: + id: + type: integer + format: int64 + target: + type: string + status: + $ref: '#/components/schemas/ContactStatus' + ContactEmailPost: + type: object + properties: + target: + type: string + NotificationPreferenceAlertMethod: + type: string + enum: + - EMAIL + - SMS + - PUSH + - VOICE + - WHATSAPP + - TELEGRAM + NotificationPreferenceAlertType: + type: string + enum: + - LOW_PRIORITY + - HIGH_PRIORITY + NotificationPreferencesAlertDelayMin: + type: integer + minimum: '0' + maximum: '120' + NotificationPreferencesAlert: + type: object + properties: + id: + type: integer + format: int64 + method: + $ref: '#/components/schemas/NotificationPreferenceAlertMethod' + contact: + oneOf: + - $ref: '#/components/schemas/ContactPhoneNumber' + - $ref: '#/components/schemas/ContactEmail' + delayMin: + $ref: '#/components/schemas/NotificationPreferencesAlertDelayMin' + type: + $ref: '#/components/schemas/NotificationPreferenceAlertType' + NotificationPreferencesAlertPost: + type: object + properties: + method: + $ref: '#/components/schemas/NotificationPreferenceAlertMethod' + contact: + oneOf: + - $ref: '#/components/schemas/ContactPhoneNumber' + - $ref: '#/components/schemas/ContactEmail' + delayMin: + $ref: '#/components/schemas/NotificationPreferencesAlertDelayMin' + type: + $ref: '#/components/schemas/NotificationPreferenceAlertType' + NotificationPreferencesDutyTypes: + type: string + enum: + - ON_CALL + NotificationPreferencesDutyBeforeMin: + type: integer + enum: + - 0 + - 15 + - 30 + - 60 + - 180 + - 360 + - 720 + - 1440 + NotificationPreferenceDutyMethod: + type: string + enum: + - EMAIL + - SMS + - PUSH + - WHATSAPP + - TELEGRAM + NotificationPreferencesDuty: + type: object + properties: + id: + type: integer + format: int64 + beforeMin: + $ref: '#/components/schemas/NotificationPreferencesDutyBeforeMin' + contact: + oneOf: + - $ref: '#/components/schemas/ContactPhoneNumber' + - $ref: '#/components/schemas/ContactEmail' + method: + $ref: '#/components/schemas/NotificationPreferenceDutyMethod' + type: + $ref: '#/components/schemas/NotificationPreferencesDutyTypes' + NotificationPreferencesDutyPost: + type: object + properties: + beforeMin: + $ref: '#/components/schemas/NotificationPreferencesDutyBeforeMin' + contact: + oneOf: + - $ref: '#/components/schemas/ContactPhoneNumber' + - $ref: '#/components/schemas/ContactEmail' + method: + $ref: '#/components/schemas/NotificationPreferenceDutyMethod' + type: + $ref: '#/components/schemas/NotificationPreferencesDutyTypes' + NotificationPreferenceUpdateMethod: + type: string + enum: + - EMAIL + - SMS + - PUSH + - WHATSAPP + - TELEGRAM + NotificationPreferencesUpdateType: + type: string + enum: + - ALERT_ACCEPTED + - ALERT_RESOLVED + - ALERT_ESCALATED + NotificationPreferencesUpdate: + type: object + properties: + id: + type: integer + format: int64 + contact: + oneOf: + - $ref: '#/components/schemas/ContactPhoneNumber' + - $ref: '#/components/schemas/ContactEmail' + method: + $ref: '#/components/schemas/NotificationPreferenceUpdateMethod' + type: + $ref: '#/components/schemas/NotificationPreferencesUpdateType' + NotificationPreferencesUpdatePost: + type: object + properties: + contact: + oneOf: + - $ref: '#/components/schemas/ContactPhoneNumber' + - $ref: '#/components/schemas/ContactEmail' + method: + $ref: '#/components/schemas/NotificationPreferenceUpdateMethod' + type: + $ref: '#/components/schemas/NotificationPreferencesUpdateType' + NotificationPreferenceSubscriptionMethod: + type: string + enum: + - EMAIL + - SMS + - PUSH + NotificationPreferencesSubscription: + type: object + properties: + id: + type: integer + format: int64 + contact: + oneOf: + - $ref: '#/components/schemas/ContactPhoneNumber' + - $ref: '#/components/schemas/ContactEmail' + method: + $ref: '#/components/schemas/NotificationPreferenceSubscriptionMethod' + NotificationPreferencesSubscriptionPost: + type: object + properties: + contact: + oneOf: + - $ref: '#/components/schemas/ContactPhoneNumber' + - $ref: '#/components/schemas/ContactEmail' + method: + $ref: '#/components/schemas/NotificationPreferenceSubscriptionMethod' + EscalationRule: + type: object + required: + - escalationTimeout + properties: + escalationTimeout: + type: integer + user: + description: 'This field (type: User) is deprecated, please use ''users'' instead' + type: object + properties: + id: + type: number + schedule: + description: >- + This field (type: Schedule) is deprecated, please use 'schedules' + instead + type: object + properties: + id: + type: number + users: + type: array + items: + $ref: '#/components/schemas/UserRel' + schedules: + type: array + items: + $ref: '#/components/schemas/ScheduleRel' + EscalationPolicy: + type: object + required: + - name + - escalationRules + properties: + id: + type: integer + format: int64 + name: + type: string + escalationRules: + type: array + items: + $ref: '#/components/schemas/EscalationRule' + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + repeating: + type: boolean + default: false + frequency: + type: integer + format: int32 + minimum: 1 + maximum: 9 + default: 1 + delayMin: + type: integer + format: int32 + minimum: 0 + maximum: 15 + default: 0 + routingKey: + type: string + description: optional + AlertPriority: + type: string + enum: + - HIGH + - LOW + AlertPriorityRule: + type: string + enum: + - HIGH + - LOW + - HIGH_DURING_SUPPORT_HOURS + - LOW_DURING_SUPPORT_HOURS + SupportHour: + type: object + required: + - name + - timezone + - supportDays + properties: + id: + type: integer + format: int64 + name: + type: string + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + timezone: + $ref: '#/components/schemas/TimeZone' + supportDays: + type: object + properties: + MONDAY: + $ref: '#/components/schemas/SupportDay' + TUESDAY: + $ref: '#/components/schemas/SupportDay' + WEDNESDAY: + $ref: '#/components/schemas/SupportDay' + THURSDAY: + $ref: '#/components/schemas/SupportDay' + FRIDAY: + $ref: '#/components/schemas/SupportDay' + SATURDAY: + $ref: '#/components/schemas/SupportDay' + SUNDAY: + $ref: '#/components/schemas/SupportDay' + SupportDay: + type: object + required: + - start + - end + properties: + start: + type: string + format: time + end: + type: string + format: time + IntegrationType: + type: string + enum: + - NAGIOS + - ICINGA + - EMAIL + - SMS + - API + - CRN + - HEARTBEAT + - PRTG + - PINGDOM + - CLOUDWATCH + - AWSPHD + - STACKDRIVER + - INSTANA + - ZABBIX + - SOLARWINDS + - PROMETHEUS + - NEWRELIC + - GRAFANA + - GITHUB + - DATADOG + - UPTIMEROBOT + - APPDYNAMICS + - DYNATRACE + - TOPDESK + - STATUSCAKE + - MONITOR + - TOOL + - CHECKMK + - AUTOTASK + - AWSBUDGET + - SEARCHGUARD + - SERVERDENSITY + - ZAPIER + - KENTIXAM + - CONSUL + - ZAMMAD + - SIGNALFX + - SPLUNK + - KUBERNETES + - SEMATEXT + - SENTRY + - SUMOLOGIC + - RAYGUN + - MXTOOLBOX + - ESWATCHER + - AMAZONSNS + - KAPACITOR + - CORTEXXSOAR + - SENSU + - JUMPCLOUD + - SALESFORCE + - GUARDDUTY + - STATUSHUB + - IXON + - APIFORTRESS + - FRESHSERVICE + - APPSIGNAL + - LIGHTSTEP + - IBMCLOUDFUNCTIONS + - CROWDSTRIKE + - HUMIO + - OHDEAR + - MONGODBATLAS + - GITLAB + - HYPERPING + - PAPRISMACLOUD + - SAMSARA + - PANDORAFMS + - MSSCOM + - TWILIO + - CISCOMERAKI + - CHECKLY + - POSTHOG + - GOOGLESCC + - SLACK + - MSTEAMS + - UPTIMEKUMA + - TWILIOERRORS + - PARTICLE + - CLOUDFLARE + - TULIP + - GRAYLOG + - CATCHPOINT + - LOKI + - CORTEX + - MIMIR + AlertActionType: + type: string + enum: + - datadog + - autotask + - jira + - microsoft_teams + - servicenow + - slack + - webhook + - zendesk + - discord + - github + - topdesk + - aws_lambda + - azure_faas + - google_faas + - email + - sysdig + - zapier + - zammad + - mattermost + - zoom_chat + - zoom_meeting + - status_page_io + - webex + - dingtalk + - dingtalk_action + - aws_event_bridge + - auvik + - dynamic + - zabbix + - automation_rule + - telegram + ConnectorType: + type: string + enum: + - datadog + - jira + - microsoft_teams + - servicenow + - slack + - zendesk + - discord + - github + - topdesk + - aws_lambda + - azure_faas + - google_faas + - sysdig + - zammad + - mattermost + - zoom_chat + - zoom_meeting + - status_page_io + - webex + - dingtalk + - auvik + - dynamic + - zabbix + ScheduleRel: + type: object + properties: + id: + type: integer + format: int64 + name: + type: string + type: + type: string + enum: + - STATIC + - RECURRING + Schedule: + type: object + properties: + id: + type: integer + format: int64 + name: + type: string + timezone: + $ref: '#/components/schemas/TimeZone' + type: + type: string + enum: + - STATIC + - RECURRING + scheduleLayers: + type: array + items: + $ref: '#/components/schemas/ScheduleLayerConfig' + shifts: + type: array + items: + $ref: '#/components/schemas/ShiftRel' + showGaps: + type: boolean + defaultShiftDuration: + type: string + format: P7D + currentShift: + $ref: '#/components/schemas/ShiftRel' + nextShift: + $ref: '#/components/schemas/ShiftRel' + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + ShiftRel: + type: object + properties: + user: + $ref: '#/components/schemas/UserRel' + end: + type: string + format: date-time + start: + type: string + format: date-time + Shift: + type: object + properties: + user: + $ref: '#/components/schemas/User' + end: + type: string + format: date-time + start: + type: string + format: date-time + ScheduleLayerConfig: + type: object + required: + - startsOn + - users + - rotation + properties: + name: + type: string + startsOn: + type: string + format: date-time + endsOn: + type: string + format: date-time + users: + type: array + items: + $ref: '#/components/schemas/UserRel' + rotation: + type: string + format: P7D + restrictionType: + type: string + description: >- + Note: 'TIMES_OF_DAY' is just a UI state representation, the API + always uses 'TIMES_OF_WEEK' + enum: + - TIMES_OF_WEEK + restrictions: + type: array + items: + $ref: '#/components/schemas/ScheduleLayerRestriction' + ScheduleLayerRestriction: + type: object + required: + - from + - to + properties: + from: + $ref: '#/components/schemas/TimeOfWeek' + to: + $ref: '#/components/schemas/TimeOfWeek' + TimeOfWeek: + type: object + required: + - dayOfWeek + - time + properties: + dayOfWeek: + type: string + enum: + - MONDAY + - TUESDAY + - WEDNESDAY + - THURSDAY + - FRIDAY + - SATURDAY + - SUNDAY + time: + type: string + format: '15:00' + Connector: + type: object + required: + - type + - name + properties: + id: + type: string + type: + $ref: '#/components/schemas/ConnectorType' + name: + type: string + createdAt: + type: string + format: date-time + updatedAt: + type: string + format: date-time + params: + type: object + oneOf: + - $ref: '#/components/schemas/EParamsDatadog' + - $ref: '#/components/schemas/EParamsJira' + - $ref: '#/components/schemas/EParamsMicrosoftTeams' + - $ref: '#/components/schemas/EParamsServiceNow' + - $ref: '#/components/schemas/EParamsSlack' + - $ref: '#/components/schemas/EParamsZendesk' + - $ref: '#/components/schemas/EParamsDiscord' + - $ref: '#/components/schemas/EParamsGithub' + - $ref: '#/components/schemas/EParamsTopdesk' + - $ref: '#/components/schemas/EParamsAWSLambda' + - $ref: '#/components/schemas/EParamsAzureFunction' + - $ref: '#/components/schemas/EParamsGoogleFunction' + - $ref: '#/components/schemas/EParamsSysdig' + - $ref: '#/components/schemas/EParamsStatusPageIO' + - $ref: '#/components/schemas/EParamsDingTalk' + - $ref: '#/components/schemas/EParamsZabbix' + EParamsZabbix: + type: object + properties: + url: + type: string + apiKey: + type: string + EParamsDingTalk: + type: object + properties: + url: + type: string + secret: + type: string + EParamsDatadog: + type: object + properties: + apiKey: + type: string + EParamsJira: + type: object + properties: + url: + type: string + email: + type: string + password: + type: string + EParamsMicrosoftTeams: + type: object + properties: + url: + type: string + EParamsServiceNow: + type: object + properties: + url: + type: string + username: + type: string + password: + type: string + EParamsSlack: + type: object + properties: {} + EParamsZendesk: + type: object + properties: + url: + type: string + email: + type: string + apiKey: + type: string + EParamsDiscord: + type: object + properties: + url: + type: string + EParamsGithub: + type: object + properties: + apiKey: + type: string + EParamsTopdesk: + type: object + properties: + url: + type: string + username: + type: string + password: + type: string + EParamsAWSLambda: + type: object + properties: + authorization: + type: string + EParamsAzureFunction: + type: object + properties: + authorization: + type: string + EParamsGoogleFunction: + type: object + properties: + authorization: + type: string + EParamsSysdig: + type: object + properties: + apiKey: + type: string + EParamsStatusPageIO: + type: object + properties: + apiKey: + type: string + AlertAction: + type: object + required: + - connectorType + - name + properties: + id: + type: string + alertSources: + type: array + items: + $ref: '#/components/schemas/AlertSource' + connectorId: + type: string + connectorType: + $ref: '#/components/schemas/AlertActionType' + name: + type: string + createdAt: + type: string + format: date-time + updatedAt: + type: string + format: date-time + triggerMode: + type: string + enum: + - AUTOMATIC + - MANUAL + bidirectional: + type: boolean + readOnly: true + delaySec: + description: May only be used with triggerType 'alert-escalation-ended' selected + type: number + minimum: 0 + maximum: 7200 + triggerTypes: + type: array + items: + type: string + enum: + - alert-created + - alert-assigned + - alert-auto-escalated + - alert-acknowledged + - alert-raised + - alert-comment-added + - alert-escalation-ended + - alert-resolved + - alert-responder-added + - alert-responder-removed + - alert-channel-attached + - alert-channel-detached + alertFilter: + type: object + properties: + operator: + type: string + enum: + - AND + - OR + predicates: + type: array + items: + type: object + properties: + field: + type: string + enum: + - ALERT_SUMMARY + - ALERT_DETAILS + - ESCALATION_POLICY + - ALERT_PRIORITY + criteria: + type: string + enum: + - CONTAINS_ANY_WORDS + - CONTAINS_NOT_WORDS + - CONTAINS_STRING + - CONTAINS_NOT_STRING + - IS_STRING + - IS_NOT_STRING + - MATCHES_REGEX + - MATCHES_NOT_REGEX + value: + type: string + params: + type: object + oneOf: + - $ref: '#/components/schemas/CParamsDatadog' + - $ref: '#/components/schemas/CParamsJira' + - $ref: '#/components/schemas/CParamsMicrosoftTeams' + - $ref: '#/components/schemas/CParamsMicrosoftTeamsWebhookOnly' + - $ref: '#/components/schemas/CParamsServiceNow' + - $ref: '#/components/schemas/CParamsAutotask' + - $ref: '#/components/schemas/CParamsSlack' + - $ref: '#/components/schemas/CParamsWebhook' + - $ref: '#/components/schemas/CParamsZendesk' + - $ref: '#/components/schemas/CParamsDiscord' + - $ref: '#/components/schemas/CParamsGithub' + - $ref: '#/components/schemas/CParamsTopdesk' + - $ref: '#/components/schemas/CParamsAWSLambda' + - $ref: '#/components/schemas/CParamsAzureFunction' + - $ref: '#/components/schemas/CParamsGoogleFunction' + - $ref: '#/components/schemas/CParamsEmail' + - $ref: '#/components/schemas/CParamsSysdig' + - $ref: '#/components/schemas/CParamsZapier' + - $ref: '#/components/schemas/CParamsZoomChat' + - $ref: '#/components/schemas/CParamsZoomMeeting' + - $ref: '#/components/schemas/CParamsStatusPageIO' + - $ref: '#/components/schemas/CParamsDingTalk' + - $ref: '#/components/schemas/CParamsDingTalkAction' + - $ref: '#/components/schemas/CParamsAutomationRule' + - $ref: '#/components/schemas/CParamsAutomationRule' + - $ref: '#/components/schemas/CParamsTelegram' + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + CParamsAutomationRule: + type: object + required: + - alertType + - serviceStatus + - serviceIds + properties: + alertType: + type: string + enum: + - CREATED + - ACCEPTED + resolveIncident: + type: boolean + default: false + serviceStatus: + $ref: '#/components/schemas/ServiceStatus' + templateId: + type: integer + format: int64 + sendNotification: + type: boolean + default: false + serviceIds: + type: array + items: + type: integer + format: int64 + CParamsTelegram: + type: object + required: + - channelId + properties: + channelId: + type: string + description: The telegram group id, usually i64, as string + CParamsDingTalk: + type: object + properties: + isAtAll: + type: boolean + atMobiles: + type: array + items: + type: string + CParamsDingTalkAction: + type: object + properties: + url: + type: string + secret: + type: string + isAtAll: + type: boolean + atMobiles: + type: array + items: + type: string + CParamsDatadog: + type: object + properties: + tags: + type: array + items: + type: string + priority: + type: string + site: + type: string + CParamsJira: + type: object + properties: + project: + type: string + issueType: + type: string + bodyTemplate: + type: string + CParamsServiceNow: + type: object + properties: + callerId: + type: string + impact: + type: string + urgency: + type: string + closeCode: + type: string + assignmentGroup: + type: string + ownerGroup: + type: string + service: + type: string + serviceOffering: + type: string + contactType: + type: string + CParamsAutotask: + type: object + required: + - queueId + properties: + companyId: + type: string + queueId: + type: string + ticketCategory: + type: string + ticketType: + type: string + noteType: + type: string + notePublish: + type: string + status: + type: string + CParamsMicrosoftTeamsWebhookOnly: + type: object + properties: {} + CParamsMicrosoftTeams: + type: object + required: + - channelId + - teamId + properties: + channelId: + type: string + channelName: + type: string + teamId: + type: string + teamName: + type: string + type: + type: string + enum: + - chat + - meeting + CParamsSlack: + type: object + required: + - channelId + properties: + channelId: + type: string + channelName: + type: string + teamDomain: + type: string + teamId: + type: string + CParamsWebhook: + type: object + properties: + webhookUrl: + type: string + bodyTemplate: + type: string + CParamsZendesk: + type: object + properties: + priority: + type: string + CParamsDiscord: + type: object + properties: {} + CParamsGithub: + type: object + properties: + owner: + type: string + repository: + type: string + labels: + type: array + items: + type: string + CParamsTopdesk: + type: object + properties: + status: + type: string + CParamsAWSLambda: + type: object + properties: + webhookUrl: + type: string + bodyTemplate: + type: string + CParamsAzureFunction: + type: object + properties: + webhookUrl: + type: string + bodyTemplate: + type: string + CParamsGoogleFunction: + type: object + properties: + webhookUrl: + type: string + bodyTemplate: + type: string + CParamsEmail: + type: object + properties: + recipients: + type: array + items: + type: string + subject: + type: string + bodyTemplate: + type: string + CParamsSysdig: + type: object + properties: + tags: + type: array + items: + type: string + eventFilter: + type: string + CParamsZapier: + type: object + properties: + webhookUrl: + type: string + CParamsZoomChat: + type: object + properties: + channelId: + type: string + CParamsZoomMeeting: + type: object + properties: + password: + type: string + CParamsStatusPageIO: + type: object + properties: + pageId: + type: string + MaintenanceWindow: + type: object + properties: + timezone: + $ref: '#/components/schemas/TimeZone' + start: + type: string + format: date-time + end: + type: string + format: date-time + summary: + type: string + description: + type: string + alertSources: + type: array + items: + $ref: '#/components/schemas/AlertSource' + maxItems: 50 + services: + type: array + items: + $ref: '#/components/schemas/ServiceNoIncludes' + maxItems: 50 + createdBy: + type: string + readOnly: true + notifications: + type: object + properties: + atCreation: + type: boolean + atStart: + type: boolean + atEnd: + type: boolean + TeamRel: + type: object + properties: + id: + type: integer + format: int64 + name: + type: string + Team: + type: object + properties: + id: + type: integer + format: int64 + name: + type: string + visibility: + $ref: '#/components/schemas/TeamVisibilityType' + members: + type: array + items: + $ref: '#/components/schemas/TeamMember' + createdAt: + type: string + format: date-time + description: Date in ISO-8601 + updatedAt: + type: string + format: date-time + description: Date in ISO-8601 + TeamVisibilityType: + type: string + enum: + - PUBLIC + - PRIVATE + TeamMember: + type: object + properties: + user: + $ref: '#/components/schemas/User' + role: + $ref: '#/components/schemas/TeamRole' + OnCall: + type: object + properties: + user: + $ref: '#/components/schemas/User' + escalationPolicy: + $ref: '#/components/schemas/EscalationPolicy' + schedule: + $ref: '#/components/schemas/ScheduleRel' + start: + type: string + format: date-time + end: + type: string + format: date-time + escalationLevel: + type: number + AlertSource: + type: object + required: + - name + - escalationPolicy + - integrationType + properties: + id: + type: integer + format: int64 + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + name: + type: string + iconUrl: + type: string + lightIconUrl: + type: string + darkIconUrl: + type: string + escalationPolicy: + $ref: '#/components/schemas/EscalationPolicy' + integrationType: + $ref: '#/components/schemas/IntegrationType' + integrationKey: + type: string + integrationUrl: + type: string + readOnly: true + autoResolutionTimeout: + type: string + format: ISO-8601 + alertGroupingWindow: + type: string + format: ISO-8601 + alertCreation: + type: string + default: ONE_ALERT_PER_EMAIL + enum: + - ONE_ALERT_PER_EMAIL + - ONE_ALERT_PER_EMAIL_SUBJECT + - ONE_PENDING_ALERT_ALLOWED + - ONE_OPEN_ALERT_ALLOWED + - OPEN_RESOLVE_ON_EXTRACTION + - ONE_ALERT_GROUPED_PER_WINDOW + status: + type: string + readOnly: true + enum: + - PENDING + - ALL_ACCEPTED + - ALL_RESOLVED + - IN_MAINTENANCE + - DISABLED + emailFiltered: + type: boolean + default: false + emailResolveFiltered: + type: boolean + default: false + active: + type: boolean + default: true + emailPredicates: + type: array + items: + type: object + properties: + field: + type: string + enum: + - EMAIL_FROM + - EMAIL_SUBJECT + - EMAIL_BODY + criteria: + type: string + enum: + - CONTAINS_ANY_WORDS + - CONTAINS_NOT_WORDS + - CONTAINS_STRING + - CONTAINS_NOT_STRING + - IS_STRING + - IS_NOT_STRING + - MATCHES_REGEX + - MATCHES_NOT_REGEX + value: + type: string + emailResolvePredicates: + type: array + items: + type: object + properties: + field: + type: string + enum: + - EMAIL_FROM + - EMAIL_SUBJECT + - EMAIL_BODY + criteria: + type: string + enum: + - CONTAINS_ANY_WORDS + - CONTAINS_NOT_WORDS + - CONTAINS_STRING + - CONTAINS_NOT_STRING + - IS_STRING + - IS_NOT_STRING + - MATCHES_REGEX + - MATCHES_NOT_REGEX + value: + type: string + resolveKeyExtractor: + type: object + properties: + field: + type: string + enum: + - EMAIL_SUBJECT + - EMAIL_BODY + criteria: + type: string + enum: + - ALL_TEXT_BEFORE + - MATCHES_REGEX + - ALL_TEXT_AFTER + value: + type: string + filterOperator: + type: string + enum: + - AND + - OR + resolveFilterOperator: + type: string + enum: + - AND + - OR + alertPriorityRule: + $ref: '#/components/schemas/AlertPriorityRule' + supportHours: + $ref: '#/components/schemas/SupportHour' + heartbeat: + type: object + properties: + summary: + type: string + intervalSec: + type: integer + status: + type: string + readOnly: true + enum: + - OVERDUE + - ON_TIME + - NEVER_RECEIVED + lastPingReceivedAt: + type: string + format: date-time + readOnly: true + bidirectional: + type: boolean + readOnly: true + summaryTemplate: + $ref: '#/components/schemas/AlertSourceTemplate' + detailsTemplate: + $ref: '#/components/schemas/AlertSourceTemplate' + routingTemplate: + $ref: '#/components/schemas/AlertSourceTemplate' + linkTemplates: + type: array + items: + $ref: '#/components/schemas/AlertSourceLinkTemplate' + priorityTemplate: + $ref: '#/components/schemas/AlertSourcePriorityTemplate' + AlertSourceTemplate: + type: object + properties: + textTemplate: + type: string + description: >- + For more information on alert source templating, please visit: + https://docs.ilert.com/alerting/alert-sources#alert-template. + + Example:
`Hi {{ users[0].name }} there!` + + You can use the text template instead of elements by adding the + include `textTemplate` to your request. Any version can be used for + POST or PUT requests. + elements: + type: array + items: + $ref: '#/components/schemas/AlertSourceTemplateElement' + AlertSourceTemplateElement: + type: object + required: + - type, val + properties: + type: + type: string + enum: + - TEXT + - VAR + - RAW + val: + type: string + func: + type: string + args: + type: array + items: + $ref: '#/components/schemas/AlertSourceTemplateElementArg' + AlertSourceTemplateElementArg: + type: object + properties: + S: + type: string + 'N': + type: integer + AlertSourceLinkTemplate: + type: object + required: + - text + - hrefTemplate + properties: + text: + type: string + hrefTemplate: + $ref: '#/components/schemas/AlertSourceTemplate' + AlertSourcePriorityTemplate: + type: object + required: + - valueTemplate + - mappings + properties: + valueTemplate: + $ref: '#/components/schemas/AlertSourceTemplate' + mappings: + type: array + items: + $ref: '#/components/schemas/AlertSourcePriorityTemplateMapping' + AlertSourcePriorityTemplateMapping: + type: object + required: + - value + - priority + properties: + value: + type: string + priority: + type: string + enum: + - LOW + - HIGH + AlertSourceNoIncludes: + type: object + required: + - name + - escalationPolicy + - integrationType + properties: + id: + type: integer + format: int64 + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + name: + type: string + iconUrl: + type: string + lightIconUrl: + type: string + darkIconUrl: + type: string + escalationPolicy: + $ref: '#/components/schemas/EscalationPolicy' + integrationType: + $ref: '#/components/schemas/IntegrationType' + integrationKey: + type: string + integrationUrl: + type: string + readOnly: true + autoResolutionTimeout: + type: string + format: ISO-8601 + alertGroupingWindow: + type: string + format: ISO-8601 + alertCreation: + type: string + default: ONE_ALERT_PER_EMAIL + enum: + - ONE_ALERT_PER_EMAIL + - ONE_ALERT_PER_EMAIL_SUBJECT + - ONE_PENDING_ALERT_ALLOWED + - ONE_OPEN_ALERT_ALLOWED + - OPEN_RESOLVE_ON_EXTRACTION + - ONE_ALERT_GROUPED_PER_WINDOW + status: + type: string + readOnly: true + enum: + - PENDING + - ALL_ACCEPTED + - ALL_RESOLVED + - IN_MAINTENANCE + - DISABLED + emailFiltered: + type: boolean + default: false + emailResolveFiltered: + type: boolean + default: false + active: + type: boolean + default: true + emailPredicates: + type: array + items: + type: object + properties: + field: + type: string + enum: + - EMAIL_FROM + - EMAIL_SUBJECT + - EMAIL_BODY + criteria: + type: string + enum: + - CONTAINS_ANY_WORDS + - CONTAINS_NOT_WORDS + - CONTAINS_STRING + - CONTAINS_NOT_STRING + - IS_STRING + - IS_NOT_STRING + - MATCHES_REGEX + - MATCHES_NOT_REGEX + value: + type: string + emailResolvePredicates: + type: array + items: + type: object + properties: + field: + type: string + enum: + - EMAIL_FROM + - EMAIL_SUBJECT + - EMAIL_BODY + criteria: + type: string + enum: + - CONTAINS_ANY_WORDS + - CONTAINS_NOT_WORDS + - CONTAINS_STRING + - CONTAINS_NOT_STRING + - IS_STRING + - IS_NOT_STRING + - MATCHES_REGEX + - MATCHES_NOT_REGEX + value: + type: string + resolveKeyExtractor: + type: object + properties: + field: + type: string + enum: + - EMAIL_SUBJECT + - EMAIL_BODY + criteria: + type: string + enum: + - ALL_TEXT_BEFORE + - MATCHES_REGEX + - ALL_TEXT_AFTER + value: + type: string + filterOperator: + type: string + enum: + - AND + - OR + resolveFilterOperator: + type: string + enum: + - AND + - OR + alertPriorityRule: + $ref: '#/components/schemas/AlertPriorityRule' + supportHours: + $ref: '#/components/schemas/SupportHour' + heartbeat: + type: object + properties: + summary: + type: string + intervalSec: + type: integer + status: + type: string + readOnly: true + enum: + - OVERDUE + - ON_TIME + - NEVER_RECEIVED + lastPingReceivedAt: + type: string + format: date-time + readOnly: true + bidirectional: + type: boolean + readOnly: true + AlertSourceRel: + type: object + required: + - name + - escalationPolicy + - integrationType + properties: + id: + type: integer + format: int64 + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + name: + type: string + iconUrl: + type: string + lightIconUrl: + type: string + darkIconUrl: + type: string + escalationPolicy: + $ref: '#/components/schemas/EscalationPolicy' + integrationType: + $ref: '#/components/schemas/IntegrationType' + integrationKey: + type: string + integrationUrl: + type: string + readOnly: true + autoResolutionTimeout: + type: string + format: ISO-8601 + alertGroupingWindow: + type: string + format: ISO-8601 + alertCreation: + type: string + default: ONE_ALERT_PER_EMAIL + enum: + - ONE_ALERT_PER_EMAIL + - ONE_ALERT_PER_EMAIL_SUBJECT + - ONE_PENDING_ALERT_ALLOWED + - ONE_OPEN_ALERT_ALLOWED + - OPEN_RESOLVE_ON_EXTRACTION + - ONE_ALERT_GROUPED_PER_WINDOW + status: + type: string + readOnly: true + enum: + - PENDING + - ALL_ACCEPTED + - ALL_RESOLVED + - IN_MAINTENANCE + - DISABLED + emailFiltered: + type: boolean + default: false + emailResolveFiltered: + type: boolean + default: false + active: + type: boolean + default: true + emailPredicates: + type: array + items: + type: object + properties: + field: + type: string + enum: + - EMAIL_FROM + - EMAIL_SUBJECT + - EMAIL_BODY + criteria: + type: string + enum: + - CONTAINS_ANY_WORDS + - CONTAINS_NOT_WORDS + - CONTAINS_STRING + - CONTAINS_NOT_STRING + - IS_STRING + - IS_NOT_STRING + - MATCHES_REGEX + - MATCHES_NOT_REGEX + value: + type: string + emailResolvePredicates: + type: array + items: + type: object + properties: + field: + type: string + enum: + - EMAIL_FROM + - EMAIL_SUBJECT + - EMAIL_BODY + criteria: + type: string + enum: + - CONTAINS_ANY_WORDS + - CONTAINS_NOT_WORDS + - CONTAINS_STRING + - CONTAINS_NOT_STRING + - IS_STRING + - IS_NOT_STRING + - MATCHES_REGEX + - MATCHES_NOT_REGEX + value: + type: string + resolveKeyExtractor: + type: object + properties: + field: + type: string + enum: + - EMAIL_SUBJECT + - EMAIL_BODY + criteria: + type: string + enum: + - ALL_TEXT_BEFORE + - MATCHES_REGEX + - ALL_TEXT_AFTER + value: + type: string + filterOperator: + type: string + enum: + - AND + - OR + resolveFilterOperator: + type: string + enum: + - AND + - OR + alertPriorityRule: + $ref: '#/components/schemas/AlertPriorityRule' + supportHours: + $ref: '#/components/schemas/SimpleIdField64' + heartbeat: + type: object + properties: + summary: + type: string + intervalSec: + type: integer + status: + type: string + readOnly: true + enum: + - OVERDUE + - ON_TIME + - NEVER_RECEIVED + lastPingReceivedAt: + type: string + format: date-time + readOnly: true + bidirectional: + type: boolean + readOnly: true + summaryTemplate: + $ref: '#/components/schemas/AlertSourceTemplate' + detailsTemplate: + $ref: '#/components/schemas/AlertSourceTemplate' + routingTemplate: + $ref: '#/components/schemas/AlertSourceTemplate' + linkTemplates: + type: array + items: + $ref: '#/components/schemas/AlertSourceLinkTemplate' + priorityTemplate: + $ref: '#/components/schemas/AlertSourcePriorityTemplate' + SimpleIdField64: + type: object + description: >- + For POST and PUT requests only the id field is required for sub + entities, e.g. status page -> service, alert source -> support hour + required: + - id + properties: + id: + type: integer + format: int64 + SimpleIdFieldStr: + type: object + required: + - id + properties: + id: + type: string + ManualAlert: + type: object + required: + - summary + - alertSource + properties: + summary: + type: string + details: + type: string + alertSource: + $ref: '#/components/schemas/SimpleIdField64' + escalationPolicy: + $ref: '#/components/schemas/SimpleIdField64' + priority: + $ref: '#/components/schemas/AlertPriority' + assignedTo: + description: >- + This field (type: User) is deprecated, please use 'responders' + instead + type: object + properties: + id: + type: number + images: + type: array + items: + $ref: '#/components/schemas/EventImage' + links: + type: array + items: + $ref: '#/components/schemas/EventLink' + responders: + description: List of responders (users), only user.id is required. + type: array + items: + type: object + properties: + user: + $ref: '#/components/schemas/UserRel' + AlertResponder: + type: object + properties: + user: + $ref: '#/components/schemas/UserRel' + status: + type: string + enum: + - PENDING + - ACCEPTED + acceptedAt: + type: string + format: date-time + Alert: + type: object + properties: + id: + type: integer + format: int64 + summary: + type: string + details: + type: string + reportTime: + type: string + format: date-time + resolvedOn: + type: string + format: date-time + status: + type: string + enum: + - PENDING + - ACCEPTED + - RESOLVED + alertSource: + $ref: '#/components/schemas/AlertSource' + escalationPolicy: + $ref: '#/components/schemas/EscalationPolicy' + priority: + $ref: '#/components/schemas/AlertPriority' + alertKey: + type: string + assignedTo: + description: >- + This field (type: User) is deprecated, please use 'responders' + instead + type: object + properties: + id: + type: number + nextEscalation: + type: string + format: date-time + readOnly: true + escalationRules: + type: array + items: + $ref: '#/components/schemas/EscalationRule' + readOnly: true + nextEscalationUser: + $ref: '#/components/schemas/User' + nextEscalationRuleIndex: + type: number + readOnly: true + images: + type: array + items: + $ref: '#/components/schemas/EventImage' + links: + type: array + items: + $ref: '#/components/schemas/EventLink' + responders: + readOnly: true + type: array + items: + $ref: '#/components/schemas/AlertResponder' + EventImage: + type: object + properties: + src: + type: string + href: + type: string + alt: + type: string + EventLink: + type: object + properties: + href: + type: string + text: + type: string + EventComment: + type: object + properties: + creator: + type: string + content: + type: string + SuggestedResponder: + type: object + properties: + group: + type: string + enum: + - SUGGESTED + - USER + - ESCALATION_POLICY + - ON_CALL_SCHEDULE + id: + type: number + name: + type: string + disabled: + type: boolean + Notification: + type: object + properties: + id: + type: integer + format: int64 + method: + type: string + enum: + - PUSH + - VOICE + - SMS + - EMAIL + - WHATSAPP + target: + type: string + subject: + type: string + alertId: + type: integer + format: int64 + user: + type: object + properties: + id: + type: integer + format: int64 + firstname: + type: string + lastname: + type: string + notificationTime: + type: string + format: date-time + status: + type: string + enum: + - SCHEDULED + - SUCCESS + - ERROR + errorMessage: + type: string + description: An error message in case the notification status is ERROR. + LogEntry: + type: object + properties: + id: + type: integer + format: int64 + timestamp: + type: string + format: date-time + logEntryType: + type: string + enum: + - ConnectorAutomaticResultErrorLogEntry + - ConnectorAutomaticResultLogEntry + - AlertActionErrorLogEntry + - AlertActionFailLogEntry + - AlertActionSuccessLogEntry + - AlertNotRoutedLogEntry + - AlertReceivedLogEntry + - AlertRoutedSuccessfulLogEntry + - AlertSourceResponseLogEntry + - CallLogEntry + - EmailReceivedLogEntry + - EmailResolvedLogEntry + - FilterableLogEntryType + - HeartbeatOverdueLogEntry + - HeartbeatResolvedLogEntry + - AlertAssignedBySystemLogEntry + - AlertAssignedByUserLogEntry + - AlertAssignedToPolicyLogEntry + - AlertAssignedToScheduleLogEntry + - AlertAutoResolvedLogEntry + - AlertCommentAddedBySystemLogEntry + - AlertCommentAddedLogEntry + - AlertCommentPublishedLogEntry + - AlertCreatedByUserLogEntry + - AlertRaisedBySystemLogEntry + - AlertRaisedByUserLogEntry + - AlertSummaryChangedLogEntry + - IncomingCallLogEntry + - LowPriorityCallLog + - MailboxCallLogEntry + - MailboxRecordReceivedLog + - MailboxTranscribedReceivedLog + - NobodyOnCallLogEntry + - NotificationLogEntry + - ParallelCallLogEntry + - PhoneNumberNotSetLogEntry + - PhoneNumberBlockedLogEntry + - QueueResultLogEntry + - StakeholderAddedBySystemLogEntry + - StakeholderAddedLogEntry + - StakeholderRemovedLogEntry + - StakeholderResubscribedLogEntry + - StakeholderUnsubscribedLogEntry + - UserResponseLogEntry + - InComIncidentCreatedLogEntry + - InComIncidentResolvedLogEntry + - InComServiceTransitionLogEntry + - InComLinkedLogEntry + - InComUnlinkedLogEntry + - AlertChannelAttachedByUserLogEntry + - AlertChannelDetachedByUserLogEntry + - AlertEscalatedToLevelLogEntry + text: + type: string + alertId: + type: integer + format: int64 + filterTypes: + type: array + items: + $ref: '#/components/schemas/LogFilterType' + vars: + type: object + properties: {} + additionalProperties: + type: string + LogFilterType: + type: string + enum: + - NOTIFICATIONS + - ALERT_SOURCE_EVENTS + - CALL_ROUTING_EVENTS + - ALERT_UPDATES + - CONNECTOR_EVENTS + SingleTimePoint: + type: object + required: + - value + properties: + timestamp: + type: number + format: int64 + description: The unix epoch second of your time point + value: + type: number + format: double + description: Value of your time point + MultipleTimePoint: + type: object + required: + - value + properties: + series: + type: array + items: + $ref: '#/components/schemas/SingleTimePoint' + SeriesOption: + type: object + description: >- + Can either be a single time point, omitting timestamp field is allowed + as it will be replaced with now() - or a series of multiple time points + oneOf: + - $ref: '#/components/schemas/SingleTimePoint' + - $ref: '#/components/schemas/MultipleTimePoint' + MetricAggregationType: + type: string + enum: + - AVG + - SUM + - MIN + - MAX + - LAST + MetricDisplayType: + type: string + enum: + - GRAPH + - SINGLE + MetricDataSourceType: + type: string + enum: + - DATADOG + - PROMETHEUS + Event: + type: object + required: + - apiKey + - eventType + - summary + properties: + apiKey: + type: string + eventType: + type: string + description: the event type + enum: + - ALERT + - ACCEPT + - RESOLVE + - COMMENT + summary: + type: string + description: >- + The event summary. Will be used as the alert summary if a new alert + will be created. + details: + type: string + description: >- + The event details. Will be used as the alert details if a new alert + will be created. + alertKey: + type: string + description: >- + Used to deduplicate events. If an open alert with the key already + exists, the event will be appended to the alert's event log. + Otherwise a new alert will be created + priority: + $ref: '#/components/schemas/AlertPriority' + images: + type: array + items: + $ref: '#/components/schemas/EventImage' + links: + type: array + items: + $ref: '#/components/schemas/EventLink' + comments: + type: array + items: + $ref: '#/components/schemas/EventComment' + customDetails: + type: object + properties: {} + additionalProperties: true + routingKey: + type: string + description: >- + Optional routing key that overwrites the escalation policy of the + alert source for ALERT events. Must map to routingKey of escalation + policy + EventResponse: + type: object + properties: {} + CountResponse: + type: object + properties: + count: + type: integer + format: int64 + RestError: + type: object + properties: + status: + type: integer + message: + type: string + AlertActionTrigger: + type: object + properties: + alertActionId: + type: string + connectorId: + type: string + type: + type: string + name: + type: string + iconUrl: + type: string + history: + type: array + items: + $ref: '#/components/schemas/AlertActionResult' + AlertActionResult: + type: object + properties: + id: + type: string + alertActionId: + type: string + connectorId: + type: string + alertId: + type: number + success: + type: boolean + actor: + $ref: '#/components/schemas/User' + IncidentStatus: + type: string + description: the incident status + enum: + - INVESTIGATING + - IDENTIFIED + - MONITORING + - RESOLVED + IncidentTemplate: + type: object + properties: + id: + type: number + name: + type: string + summary: + type: string + status: + $ref: '#/components/schemas/IncidentStatus' + message: + type: string + sendNotification: + type: boolean + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + ServiceStatus: + type: string + description: the service status + enum: + - OPERATIONAL + - UNDER_MAINTENANCE + - DEGRADED + - PARTIAL_OUTAGE + - MAJOR_OUTAGE + ServiceOutage: + type: object + properties: + status: + $ref: '#/components/schemas/ServiceStatus' + from: + type: string + format: date-time + until: + type: string + format: date-time + ServiceOutageOverride: + type: object + properties: + id: + type: string + service: + $ref: '#/components/schemas/ServiceNoIncludes' + status: + $ref: '#/components/schemas/ServiceStatus' + from: + type: string + format: date-time + until: + type: string + format: date-time + ServiceUptimePercentage: + type: object + properties: + uptimePercentage: + type: object + properties: + p90: + type: number + format: float + minimum: 0 + maximum: 100 + readOnly: true + p60: + type: number + format: float + minimum: 0 + maximum: 100 + readOnly: true + p30: + type: number + format: float + minimum: 0 + maximum: 100 + readOnly: true + ServiceUptime: + type: object + properties: + rangeStart: + type: string + format: date-time + rangeEnd: + type: string + format: date-time + outages: + type: array + items: + $ref: '#/components/schemas/ServiceOutage' + uptimePercentage: + $ref: '#/components/schemas/ServiceUptimePercentage' + readOnly: true + Service: + type: object + properties: + id: + type: number + name: + type: string + status: + $ref: '#/components/schemas/ServiceStatus' + description: + type: string + oneOpenIncidentOnly: + type: boolean + showUptimeHistory: + type: boolean + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + subscribed: + type: boolean + readOnly: true + uptime: + $ref: '#/components/schemas/ServiceUptime' + incidents: + type: array + items: + $ref: '#/components/schemas/IncidentNoIncludes' + readOnly: true + description: >- + Note that this only contains the latest 10 unresolved incidents, use + /api/incidents?service=x if more or specific results are needed + ServiceUptimeOnly: + type: object + properties: + id: + type: number + name: + type: string + status: + $ref: '#/components/schemas/ServiceStatus' + description: + type: string + oneOpenIncidentOnly: + type: boolean + showUptimeHistory: + type: boolean + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + uptime: + $ref: '#/components/schemas/ServiceUptime' + ServiceNoIncludes: + type: object + properties: + id: + type: number + name: + type: string + status: + $ref: '#/components/schemas/ServiceStatus' + description: + type: string + oneOpenIncidentOnly: + type: boolean + showUptimeHistory: + type: boolean + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + Incident: + type: object + properties: + id: + type: number + summary: + type: string + status: + $ref: '#/components/schemas/IncidentStatus' + message: + type: string + sendNotification: + type: boolean + createdAt: + type: string + format: date-time + updatedAt: + type: string + format: date-time + affectedServices: + type: array + items: + type: object + properties: + impact: + $ref: '#/components/schemas/ServiceStatus' + service: + $ref: '#/components/schemas/ServiceNoIncludes' + resolvedOn: + type: string + format: date-time + readOnly: true + subscribed: + type: boolean + readOnly: true + affectedTeams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + readOnly: true + IncidentUpdate: + type: object + properties: + id: + type: string + content: + type: string + creator: + $ref: '#/components/schemas/UserRel' + incidentStatus: + $ref: '#/components/schemas/IncidentStatus' + sendNotification: + type: boolean + createdAt: + type: string + format: date-time + IncidentWithHistory: + type: object + properties: + id: + type: number + summary: + type: string + status: + $ref: '#/components/schemas/IncidentStatus' + message: + type: string + sendNotification: + type: boolean + createdAt: + type: string + format: date-time + updatedAt: + type: string + format: date-time + history: + type: array + items: + $ref: '#/components/schemas/IncidentUpdate' + affectedServices: + type: array + items: + type: object + properties: + impact: + $ref: '#/components/schemas/ServiceStatus' + service: + $ref: '#/components/schemas/ServiceNoIncludes' + resolvedOn: + type: string + format: date-time + readOnly: true + subscribed: + type: boolean + readOnly: true + affectedTeams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + readOnly: true + IncidentNoIncludes: + type: object + properties: + id: + type: number + summary: + type: string + status: + $ref: '#/components/schemas/IncidentStatus' + message: + type: string + sendNotification: + type: boolean + createdAt: + description: >- + May be overwritten during the creation of the incident, otherwise + read-only + type: string + format: date-time + updatedAt: + description: >- + May be overwritten during the creation of the incident, otherwise + read-only + type: string + format: date-time + affectedServices: + type: array + items: + type: object + properties: + impact: + $ref: '#/components/schemas/ServiceStatus' + service: + $ref: '#/components/schemas/ServiceNoIncludes' + resolvedOn: + type: string + format: date-time + readOnly: true + AutomationRule: + type: object + properties: + id: + type: string + alertType: + type: string + enum: + - CREATED + - ACCEPTED + resolveIncident: + type: boolean + resolveService: + type: boolean + serviceStatus: + $ref: '#/components/schemas/ServiceStatus' + template: + $ref: '#/components/schemas/IncidentTemplate' + service: + $ref: '#/components/schemas/ServiceNoIncludes' + alertSource: + $ref: '#/components/schemas/AlertSource' + sendNotification: + type: boolean + UIMenuItem: + type: object + properties: + id: + type: number + label: + type: string + TeamUserOption: + type: object + properties: + id: + type: number + name: + type: string + type: + type: string + enum: + - USER + - TEAM + StatusPageGroup: + type: object + properties: + id: + type: number + name: + type: string + StatusPageNoIncludes: + type: object + properties: + id: + type: number + name: + type: string + domain: + type: string + subdomain: + type: string + timezone: + $ref: '#/components/schemas/TimeZone' + faviconUrl: + type: string + logoUrl: + type: string + visibility: + type: string + enum: + - PRIVATE + - PUBLIC + hiddenFromSearch: + type: boolean + showSubscribeAction: + type: boolean + showIncidentHistoryOption: + type: boolean + pageTitle: + type: string + pageDescription: + type: string + pageLayout: + type: string + enum: + - SINGLE_COLUMN + - RESPONSIVE + logoRedirectUrl: + type: string + activated: + type: boolean + status: + $ref: '#/components/schemas/ServiceStatus' + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + services: + type: array + items: + $ref: '#/components/schemas/ServiceNoIncludes' + metrics: + type: array + items: + $ref: '#/components/schemas/MetricNoIncludes' + ipWhitelist: + type: array + description: >- + ipv4 or ipv6 addresses to give access to. Can only be set on + 'PRIVATE' status pages + items: + type: string + structure: + $ref: '#/components/schemas/StatusPageStructure' + appearance: + type: string + enum: + - LIGHT + - DARK + StatusPageElement: + type: object + required: + - id + - type + properties: + id: + type: integer + format: int64 + description: The id of the service or group that this element references + type: + type: string + enum: + - SERVICE + - GROUP + options: + type: string + enum: + - expand + - no-graph + description: >- + Note: 'expand' can only be set when type is 'SERVICE', 'no-graph' + can only be set when type is 'GROUP' + children: + type: array + items: + $ref: '#/components/schemas/StatusPageElement' + description: >- + Optional children of this element. Note: children may only be added + to elements of type 'GROUP' + StatusPageStructure: + type: object + properties: + elements: + type: array + items: + $ref: '#/components/schemas/StatusPageElement' + description: >- + This field is not available in the list resource. Describes the + structure of a status page. Allows for nesting children. It is not + required unless groups are used. + StatusPage: + type: object + properties: + id: + type: number + name: + type: string + domain: + type: string + subdomain: + type: string + timezone: + $ref: '#/components/schemas/TimeZone' + faviconUrl: + type: string + logoUrl: + type: string + visibility: + type: string + enum: + - PRIVATE + - PUBLIC + hiddenFromSearch: + type: boolean + showSubscribeAction: + type: boolean + showIncidentHistoryOption: + type: boolean + pageTitle: + type: string + pageDescription: + type: string + pageLayout: + type: string + enum: + - SINGLE_COLUMN + - RESPONSIVE + logoRedirectUrl: + type: string + activated: + type: boolean + status: + $ref: '#/components/schemas/ServiceStatus' + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + services: + type: array + items: + $ref: '#/components/schemas/ServiceUptimeOnly' + metrics: + type: array + items: + $ref: '#/components/schemas/MetricNoIncludes' + ipWhitelist: + type: array + description: >- + ipv4 or ipv6 addresses to give access to. Can only be set on + 'PRIVATE' status pages + items: + type: string + structure: + $ref: '#/components/schemas/StatusPageStructure' + subscribed: + type: boolean + readOnly: true + description: This is an include field, it is not available in the list resource + groups: + type: array + items: + $ref: '#/components/schemas/StatusPageGroup' + readOnly: true + description: >- + This is an include field, it is not available in the list resource. + Read-only, use the sub resource to manipulate groups. + appearance: + type: string + enum: + - LIGHT + - DARK + StatusPageList: + type: object + properties: + id: + type: number + name: + type: string + domain: + type: string + subdomain: + type: string + timezone: + $ref: '#/components/schemas/TimeZone' + faviconUrl: + type: string + logoUrl: + type: string + visibility: + type: string + enum: + - PRIVATE + - PUBLIC + hiddenFromSearch: + type: boolean + showSubscribeAction: + type: boolean + showIncidentHistoryOption: + type: boolean + pageTitle: + type: string + pageDescription: + type: string + logoRedirectUrl: + type: string + activated: + type: boolean + status: + $ref: '#/components/schemas/ServiceStatus' + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + services: + type: array + items: + $ref: '#/components/schemas/ServiceUptimeOnly' + metrics: + type: array + items: + $ref: '#/components/schemas/MetricNoIncludes' + ipWhitelist: + type: array + description: >- + ipv4 or ipv6 addresses to give access to. Can only be set on + 'PRIVATE' status pages + items: + type: string + subscribed: + type: boolean + readOnly: true + description: This is an include field, it is not available in the list resource + MParamsDatadog: + type: object + required: + - region + - apiKey + - applicationKey + properties: + region: + type: string + apiKey: + type: string + applicationKey: + type: string + MParamsPrometheus: + type: object + required: + - url + - authType + properties: + url: + type: string + authType: + type: string + enum: + - NONE + - BASIC + - HEADER + basicUser: + type: string + description: Optional, required for 'BASIC' + basicPass: + type: string + description: Optional, required for 'BASIC' + headerKey: + type: string + description: Optional, required for 'HEADER' + headerValue: + type: string + description: Optional, required for 'HEADER' + MetricDataSourceMetadata: + oneOf: + - $ref: '#/components/schemas/MParamsDatadog' + - $ref: '#/components/schemas/MParamsPrometheus' + MetricDataSource: + type: object + properties: + id: + type: number + name: + type: string + type: + $ref: '#/components/schemas/MetricDataSourceType' + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + metadata: + $ref: '#/components/schemas/MetricDataSourceMetadata' + MetricDataSourcePost: + type: object + required: + - name + - type + - metadata + properties: + name: + type: string + type: + $ref: '#/components/schemas/MetricDataSourceType' + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + metadata: + $ref: '#/components/schemas/MetricDataSourceMetadata' + MetricDataSourceNoIncludes: + type: object + properties: + id: + type: number + name: + type: string + type: + $ref: '#/components/schemas/MetricDataSourceType' + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + MDataDogMetadata: + type: object + required: + - query + properties: + query: + type: string + MPrometheusMetadata: + type: object + required: + - query + properties: + query: + type: string + MetricMetadata: + oneOf: + - $ref: '#/components/schemas/MDataDogMetadata' + - $ref: '#/components/schemas/MPrometheusMetadata' + description: >- + Only required if the metric has a dataSource. You may not change this + after creation. + default: null + MetricList: + type: object + properties: + id: + type: number + name: + type: string + description: + type: string + aggregationType: + $ref: '#/components/schemas/MetricAggregationType' + displayType: + $ref: '#/components/schemas/MetricDisplayType' + interpolateGaps: + type: boolean + default: false + lockYAxisMax: + type: number + format: double + default: null + lockYAxisMin: + type: number + format: double + default: null + mouseOverDecimal: + type: number + format: int32 + default: 0 + minimum: 0 + maximum: 6 + showValuesOnMouseOver: + type: boolean + default: false + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + unitLabel: + type: string + integrationKey: + type: string + dataSource: + $ref: '#/components/schemas/MetricDataSourceNoIncludes' + Metric: + type: object + properties: + id: + type: number + name: + type: string + description: + type: string + aggregationType: + $ref: '#/components/schemas/MetricAggregationType' + displayType: + $ref: '#/components/schemas/MetricDisplayType' + interpolateGaps: + type: boolean + default: false + lockYAxisMax: + type: number + format: double + default: null + lockYAxisMin: + type: number + format: double + default: null + mouseOverDecimal: + type: number + format: int32 + default: 0 + minimum: 0 + maximum: 6 + showValuesOnMouseOver: + type: boolean + default: false + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + unitLabel: + type: string + integrationKey: + type: string + metadata: + $ref: '#/components/schemas/MetricMetadata' + dataSource: + $ref: '#/components/schemas/MetricDataSource' + MetricNoIncludes: + type: object + properties: + id: + type: number + name: + type: string + description: + type: string + aggregationType: + $ref: '#/components/schemas/MetricAggregationType' + displayType: + $ref: '#/components/schemas/MetricDisplayType' + interpolateGaps: + type: boolean + default: false + lockYAxisMax: + type: number + format: double + default: null + lockYAxisMin: + type: number + format: double + default: null + mouseOverDecimal: + type: number + format: int32 + default: 0 + minimum: 0 + maximum: 6 + showValuesOnMouseOver: + type: boolean + default: false + unitLabel: + type: string + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + MetricPost: + type: object + required: + - name + - displayType + - aggregationType + properties: + name: + type: string + description: + type: string + aggregationType: + $ref: '#/components/schemas/MetricAggregationType' + displayType: + $ref: '#/components/schemas/MetricDisplayType' + interpolateGaps: + type: boolean + default: 'false' + lockYAxisMax: + type: number + format: double + default: null + lockYAxisMin: + type: number + format: double + default: null + mouseOverDecimal: + type: number + format: int32 + default: 0 + minimum: 0 + maximum: 6 + showValuesOnMouseOver: + type: boolean + default: false + teams: + type: array + items: + $ref: '#/components/schemas/TeamRel' + unitLabel: + type: string + metadata: + $ref: '#/components/schemas/MetricMetadata' + dataSource: + type: object + properties: + id: + type: number + description: dataSource is required when providing metadata diff --git a/sdks/db/intermediate-fixed-specs/inmobile/openapi.yaml b/sdks/db/intermediate-fixed-specs/inmobile/openapi.yaml new file mode 100644 index 0000000000..9e28fd81c4 --- /dev/null +++ b/sdks/db/intermediate-fixed-specs/inmobile/openapi.yaml @@ -0,0 +1,3459 @@ +x-generator: NSwag v13.20.0.0 (NJsonSchema v10.9.0.0 (Newtonsoft.Json v13.0.0.0)) +openapi: 3.0.0 +info: + title: inMobile REST API + description: "\r\n# Introduction\r\n\r\nThis document is a technical description of our REST API used for external systems to send sms messages and to retrieve a status for each sms message sent and to maintain lists and blacklists.\r\n\r\nIn order to call our API, you need an api key. Log in to your account at https://mm.inmobile.dk, go to the \"API\" menu section and your api key will be available here.\r\n\r\nNOTE: It is required for clients to support tls 1.2 or higher.\r\n\r\n\r\n# Firewall openings\r\n\r\nThis is relevant for status callbacks and incoming SMS messages.\r\n\r\nYou can expect callbacks from one of the following IP ranges:\r\n\r\n* 46.36.205.80/28\r\n* 185.221.37.96/28\r\n\r\nThese are also the ip addresses which will be used for api.inmobile.com and mm.inmobile.dk - ensure access to these 2 ranges are opened in your firewall." + version: version 4 +servers: + - url: https://api.inmobile.com +paths: + /v4/blacklist: + get: + tags: + - Blacklist + summary: Returns all blacklists (Paged result. Follow _links.next to fetch all) + operationId: Blacklist_GetAll + parameters: + - name: pageLimit + in: query + description: How many records to return (must be between 1 and 250) + schema: + type: integer + format: int32 + x-position: 1 + responses: + '200': + description: A list of all blacklists + content: + application/json: + schema: + $ref: '#/components/schemas/ApiPageModelOfBlacklistOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + post: + tags: + - Blacklist + summary: Create an entry in blacklist + operationId: Blacklist_Create + requestBody: + x-name: blacklist + content: + application/json: + schema: + $ref: '#/components/schemas/BlacklistCreateApiModel' + required: true + x-position: 1 + responses: + '200': + description: The created blacklist + content: + application/json: + schema: + $ref: '#/components/schemas/BlacklistOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '409': + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/blacklist/{blackListId}: + get: + tags: + - Blacklist + summary: Get entry by id + operationId: Blacklist_Get + parameters: + - name: blackListId + in: path + required: true + description: Id of the blacklist + schema: + type: string + format: guid + x-position: 1 + responses: + '200': + description: A blacklist + content: + application/json: + schema: + $ref: '#/components/schemas/BlacklistOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + delete: + tags: + - Blacklist + summary: Delete entry by id + operationId: Blacklist_Delete + parameters: + - name: blackListId + in: path + required: true + description: Id of the blacklist + schema: + type: string + format: guid + x-position: 1 + responses: + '204': + description: '' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/blacklist/ByNumber: + get: + tags: + - Blacklist + summary: Get entry by number + operationId: Blacklist_GetByNumber + parameters: + - name: countryCode + in: query + schema: + type: string + x-position: 1 + - name: phoneNumber + in: query + schema: + type: string + x-position: 2 + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/BlacklistOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + delete: + tags: + - Blacklist + summary: Delete entry by number + operationId: Blacklist_DeleteByNumber + parameters: + - name: countryCode + in: query + schema: + type: string + x-position: 1 + - name: phoneNumber + in: query + schema: + type: string + x-position: 2 + responses: + '204': + description: '' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/email/outgoing/sendusingtemplate: + post: + tags: + - Email + summary: Send an email using a template + operationId: EmailOutgoing_SendUsingTemplate + requestBody: + x-name: request + content: + application/json: + schema: + $ref: '#/components/schemas/EmailOutgoingTemplatePostRequest' + required: true + x-position: 1 + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/EmailOutgoingTemplatePostReply' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/email/outgoing: + post: + tags: + - Email + summary: Send an email + operationId: EmailOutgoing_Send + requestBody: + x-name: request + content: + application/json: + schema: + $ref: '#/components/schemas/EmailOutgoingPostRequest' + required: true + x-position: 1 + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/EmailOutgoingBasePostReply' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/email/outgoing/events: + get: + tags: + - Email + summary: Get email events + description: >- + Each event will only be returned once. Once called, the event has been + removed from our side and cannot be retrieved again using this method. + operationId: EmailOutgoing_GetEvents + parameters: + - name: limit + in: query + description: How many events to return (must be between 1 and 250) + schema: + type: integer + format: int32 + x-position: 1 + responses: + '200': + description: A list of email events + content: + application/json: + schema: + $ref: '#/components/schemas/EmailEventListModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/email/templates: + get: + tags: + - Email Templates + summary: Get all email templates + description: >- + This response is a paged result and will contain the property + '_links.next'. + + If there are more pages, the next page in the paged result will be + provided here. + operationId: EmailTemplates_GetAllEmailTemplates + parameters: + - name: pageLimit + in: query + description: How many records to return (must be between 1 and 250) + schema: + type: integer + format: int32 + x-position: 1 + responses: + '200': + description: A list of email templates + content: + application/json: + schema: + $ref: '#/components/schemas/ApiPageModelOfEmailTemplateOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/email/templates/{id}: + get: + tags: + - Email Templates + summary: Get email template by id + operationId: EmailTemplates_GetEmailTemplate + parameters: + - name: id + in: path + required: true + schema: + type: string + x-position: 1 + responses: + '200': + description: An email template + content: + application/json: + schema: + $ref: '#/components/schemas/EmailTemplateOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/sms/gdpr/deletionrequests: + post: + tags: + - Gdpr + summary: Create information Deletion Request + operationId: Gdpr_DeletionRequests + requestBody: + x-name: deletionRequest + content: + application/json: + schema: + $ref: '#/components/schemas/DeletionRequestCreateInfo' + required: true + x-position: 1 + responses: + '200': + description: The created information Deletion Request + content: + application/json: + schema: + $ref: '#/components/schemas/RequestDeletionOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/lists: + get: + tags: + - Lists + summary: Get all lists + description: >- + This response is a paged result and will contain the property + '_links.next'. + + If there are more pages, the next page in the paged result will be + provided here. + operationId: Lists_GetAllLists + parameters: + - name: pageLimit + in: query + description: How many records to return (must be between 1 and 250) + schema: + type: integer + format: int32 + x-position: 1 + responses: + '200': + description: A list of lists + content: + application/json: + schema: + $ref: '#/components/schemas/ApiPageModelOfGroupOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + post: + tags: + - Lists + summary: Create list + operationId: Lists_CreateList + requestBody: + x-name: list + content: + application/json: + schema: + $ref: '#/components/schemas/GroupInputApiModel' + required: true + x-position: 1 + responses: + '200': + description: The created list + content: + application/json: + schema: + $ref: '#/components/schemas/GroupOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/lists/{listId}: + get: + tags: + - Lists + summary: Get list + operationId: Lists_GetList + parameters: + - name: listId + in: path + required: true + description: Id of the list + schema: + type: string + format: guid + x-position: 1 + responses: + '200': + description: A list + content: + application/json: + schema: + $ref: '#/components/schemas/GroupOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + delete: + tags: + - Lists + summary: Delete list + operationId: Lists_DeleteList + parameters: + - name: listId + in: path + required: true + description: Id of the list + schema: + type: string + format: guid + x-position: 1 + responses: + '204': + description: '' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + put: + tags: + - Lists + summary: Update list + operationId: Lists_UpdateList + parameters: + - name: listId + in: path + required: true + description: The id of the list + schema: + type: string + format: guid + x-position: 1 + requestBody: + x-name: list + description: The list object + content: + application/json: + schema: + $ref: '#/components/schemas/GroupInputApiModel' + required: true + x-position: 2 + responses: + '200': + description: The updated list + content: + application/json: + schema: + $ref: '#/components/schemas/GroupOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/lists/{listId}/recipients: + get: + tags: + - Lists + summary: Get all recipients in a list + description: >- + This response is a paged result and will contain the property + '_links.next'. + + If there are more pages, the next page in the paged result will be + provided here. + operationId: Lists_GetAllRecipient + parameters: + - name: listId + in: path + required: true + description: Id of the list + schema: + type: string + format: guid + x-position: 1 + - name: pageLimit + in: query + description: How many records to return (must be between 1 and 250) + schema: + type: integer + format: int32 + x-position: 2 + responses: + '200': + description: A list of recipients + content: + application/json: + schema: + $ref: '#/components/schemas/ApiPageModelOfRecipientOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + post: + tags: + - Lists + summary: Create recipient + operationId: Lists_CreateRecipient + parameters: + - name: listId + in: path + required: true + description: Id of the list + schema: + type: string + format: guid + x-position: 1 + requestBody: + x-name: recipient + content: + application/json: + schema: + $ref: '#/components/schemas/RecipientCreateApiModel' + required: true + x-position: 2 + responses: + '200': + description: The created recipient + content: + application/json: + schema: + $ref: '#/components/schemas/RecipientOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '409': + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/lists/{listId}/recipients/all: + delete: + tags: + - Lists + summary: Deletes all recipients from a list + operationId: Lists_DeleteAllRecipients + parameters: + - name: listId + in: path + required: true + description: Id of the list + schema: + type: string + format: guid + x-position: 1 + responses: + '204': + description: The affected count + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/lists/{listId}/recipients/{recipientId}: + get: + tags: + - Lists + summary: Get recipient by id + operationId: Lists_GetRecipient + parameters: + - name: listId + in: path + required: true + description: Id of the list + schema: + type: string + format: guid + x-position: 1 + - name: recipientId + in: path + required: true + description: Id of the recipient + schema: + type: string + format: guid + x-position: 2 + responses: + '200': + description: A recipient + content: + application/json: + schema: + $ref: '#/components/schemas/RecipientOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + delete: + tags: + - Lists + summary: Delete recipient by id + operationId: Lists_DeleteRecipient + parameters: + - name: listId + in: path + required: true + description: Id of the list + schema: + type: string + format: guid + x-position: 1 + - name: recipientId + in: path + required: true + description: Id of the recipient + schema: + type: string + format: guid + x-position: 2 + responses: + '204': + description: '' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + put: + tags: + - Lists + summary: Update recipient + description: >- + Only mentioned fields are updated, e.g. leave out fields["email"] if you + do not want to update this field. On the other hand, set fields["email"] + = null in case you want to erase the existing value. + operationId: Lists_UpdateRecipient + parameters: + - name: listId + in: path + required: true + description: Id of the list + schema: + type: string + format: guid + x-position: 1 + - name: recipientId + in: path + required: true + schema: + type: string + format: guid + x-position: 2 + requestBody: + x-name: recipient + content: + application/json: + schema: + $ref: '#/components/schemas/RecipientUpdateApiModel' + required: true + x-position: 3 + responses: + '200': + description: The updated recipient + content: + application/json: + schema: + $ref: '#/components/schemas/RecipientOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '409': + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/lists/{listId}/recipients/ByNumber: + get: + tags: + - Lists + summary: Get recipient by number + operationId: Lists_GetRecipientByNumber + parameters: + - name: listId + in: path + required: true + description: Id of the list + schema: + type: string + format: guid + x-position: 1 + - name: countryCode + in: query + description: Target countryCode + schema: + type: string + x-position: 2 + - name: phoneNumber + in: query + description: Target phoneNumber + schema: + type: string + x-position: 3 + responses: + '200': + description: A recipient + content: + application/json: + schema: + $ref: '#/components/schemas/RecipientOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + delete: + tags: + - Lists + summary: Delete recipient by number + operationId: Lists_DeleteRecipientByNumber + parameters: + - name: listId + in: path + required: true + description: Id of the list + schema: + type: string + format: guid + x-position: 1 + - name: countryCode + in: query + description: Target countryCode + schema: + type: string + x-position: 2 + - name: phoneNumber + in: query + description: Target phoneNumber + schema: + type: string + x-position: 3 + responses: + '204': + description: '' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + post: + tags: + - Lists + summary: Create or update recipient by number + operationId: Lists_CreateOrUpdateRecipientByNumber + parameters: + - name: listId + in: path + required: true + description: Id of the list + schema: + type: string + format: guid + x-position: 1 + - name: countryCode + in: query + description: Target countryCode + schema: + type: string + x-position: 2 + - name: phoneNumber + in: query + description: Target phoneNumber + schema: + type: string + x-position: 3 + requestBody: + x-name: recipient + content: + application/json: + schema: + $ref: '#/components/schemas/RecipientCreateOrUpdateApiModel' + required: true + x-position: 4 + responses: + '200': + description: The created or updated recipient + content: + application/json: + schema: + $ref: '#/components/schemas/RecipientOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/sms/incoming/messages: + get: + tags: + - Sms - Incoming + summary: Get incoming sms messages. + description: >- + Each message will only be returned once. Once called, the message has + been marked as read from our side and cannot be retrieved again using + this method. + + Using api callbacks in combination with this call does not conflict. + operationId: SmsIncoming_GetMessages + parameters: + - name: limit + in: query + description: How many records to return (must be between 1 and 250) + schema: + type: integer + format: int32 + x-position: 1 + responses: + '200': + description: A list of messages + content: + application/json: + schema: + $ref: '#/components/schemas/IncomingMessageListModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/sms/outgoing: + post: + tags: + - Sms - Outgoing + summary: Send sms messages. + operationId: SmsOutgoing_Create + requestBody: + x-name: request + content: + application/json: + schema: + $ref: '#/components/schemas/SmsOutgoingPostRequest' + required: true + x-position: 1 + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/SmsOutgoingPostReply' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + callbacks: + status: + https://[your_domain]/your/desired/path: + post: + summary: Status callback url (Webhook) + description: >- + The status callback url to receive status information on when + sms messages are delivered (or if they fail). + + This is a call done by us to you and the url to be called, is + the one specified when sending the messages. + + Only messages with 100% identical message callbacks will be + grouped together into the same call. Messages with different + callback urls will never be grouped together in a single + callback. + requestBody: + x-name: payload + content: + application/json: + schema: + $ref: '#/components/schemas/StatusReportListModel' + required: true + x-position: 1 + responses: + '200': + description: '' + /v4/sms/outgoing/sendusingquery: + get: + tags: + - Sms - Outgoing + summary: Send sms messages using query parameters. + description: >- + It is strongly recommended to use the POST version instead of this + version to send text messages. This endpoint is only a emergency + fallback option for systems that are not capable of doing an HTTP post. + operationId: SmsOutgoing_SendUsingQueryGET + parameters: + - name: Text + in: query + description: >- + The text message. + + If the max length is exceeded, the message text is truncated and + sent. + schema: + type: string + maxLength: 10000 + minLength: 1 + example: This is a message text to be sent + x-position: 1 + - name: From + in: query + description: >- + The sender. This can either be a 3-11 chars text sender or an up to + 14 digit long sender number. + + If the max length is exceeded, the string is truncated. + schema: + type: string + example: PetShop + x-position: 2 + - name: Flash + in: query + description: >- + If true, the message will be shown as a flash message (also known as + a class0 message) on the target phone. If false, it will be received + as a standard text message. + + Default: false + schema: + type: boolean + nullable: true + example: false + x-position: 3 + - name: Encoding + in: query + description: >- + The encoding of the message. Can be either "gsm7", "ucs2" or "auto". + + "gsm7" is the default alfabet for text messages and when using gsm7, + a single sms message can contain 160 characters. If the length + exceeeds 160 characters, the message is actually split up into parts + of 153 characters and charged according to this. Please note, that a + few, specific characters fill up 2 bytes and count for 2 letters. + Ref: https://en.wikipedia.org/wiki/GSM_03.38 + + "ucs2"" allows for more non-roman characters to be used along with + smileys. When using this encoding, a single message can consist of + 70 characters. If the message exceeds 70 characters, the final + message is actually split into parts of 67 characters. + + "auto" can be used in case the sender wishes to support non-roman + characters but wants to save the expenses on all the trafic that + only contains gsm characters anyway. + + Default: "gsm7" + schema: + type: string + example: gsm7 + x-position: 4 + - name: To + in: query + description: >- + The msisdn (country code and number) to send to. (Remember to + include countrycode in all numbers, e.g. 4512345678). + + If max length is exceeded, the entire api call will fail. + schema: + type: string + maxLength: 20 + minLength: 0 + example: '4512345678' + x-position: 5 + - name: CountryHint + in: query + description: >- + For optimal phone number validation, we encourage you to provide us + with a country code. This can be the numeric country code (like 44) + or the two-letter suffix (like GB). If this field is empty it is + important that you add the country code (e.g 44) in front of the + phone number in “to”. + schema: + type: string + maxLength: 50 + minLength: 0 + example: '45' + x-position: 6 + - name: MessageId + in: query + description: >- + An optional message id used to identify the message. + + If no message id is provided, a new message id is generated and + assigned to the message. This id must be unique across all messages + created on the same account. + + (In case a previous message has been deleted according to GDPR + deletion rules setup on the specific account, the messageId is + allowed to be reused) + + If max length is exceeded, the entire api call will fail. + schema: + type: string + maxLength: 50 + minLength: 1 + example: PetShop + x-position: 7 + - name: RespectBlacklist + in: query + description: >- + If true, this message will be blocked from sending if the target + number is on the account's blacklist. If false, the message will be + sent no matter blacklist settings. + + Default: true + schema: + type: boolean + nullable: true + example: true + x-position: 8 + - name: ValidityPeriodInSeconds + in: query + description: >- + The validity period in seconds. Minimum is 60 seconds and maximum is + 172800 (48 hours). + + If not specified, the messages is attempted to be delivered in 48 + hours. A typical use of validityPeriod is for messages that makes no + sense to delivery efter er certain time frame, in the case the phone + is turned of, e.g. two factor codes. + + Please note, that messages are still charged even though the + operator is cancelling the delivery attempt due to an exceeded + validity period. + schema: + type: integer + format: int32 + maximum: 172800 + minimum: 60 + nullable: true + example: 90 + x-position: 9 + - name: StatusCallbackUrl + in: query + description: >- + In case you would like a callback from us when the message is + delivered, you can specify it here and we will call it when we have + new message statuses. + + The callback payload will be an array of status objects. + + Api calls sending messages with the same apikey will be subject to + being bulked together. + schema: + type: string + maxLength: 500 + minLength: 0 + example: https://[your_domain]/your/desired/path + x-position: 10 + - name: SendTime.UtcTime + in: query + schema: + type: string + format: date-time + x-position: 11 + - name: SendTime.LocalServerTime + in: query + schema: + type: string + format: date-time + x-position: 12 + - name: MsisdnCooldownInMinutes + in: query + description: >- + If set, the message will be cancelled if the same mobile number + already have received a SMS within this specified time period. + + Fx. used to prevent spamming a mobile number. + + Minimum 60 minutes (1 hour) and maximum is 43200 minutes (30 days). + schema: + type: integer + format: int32 + maximum: 43200 + minimum: 60 + nullable: true + example: 1440 + x-position: 13 + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/SmsOutgoingPostReply' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + callbacks: + status: + https://[your_domain]/your/desired/path: + post: + summary: Status callback url (Webhook) + description: >- + The status callback url to receive status information on when + sms messages are delivered (or if they fail). + + This is a call done by us to you and the url to be called, is + the one specified when sending the messages. + + Only messages with 100% identical message callbacks will be + grouped together into the same call. Messages with different + callback urls will never be grouped together in a single + callback. + requestBody: + x-name: payload + content: + application/json: + schema: + $ref: '#/components/schemas/StatusReportListModel' + required: true + x-position: 1 + responses: + '200': + description: '' + post: + tags: + - Sms - Outgoing + summary: Send sms messages using query parameters. + description: >- + It is strongly recommended to use the POST version instead of this + version to send text messages. This endpoint is only a emergency + fallback option for systems that are not capable of doing an HTTP post. + operationId: SmsOutgoing_SendUsingQueryPOST + parameters: + - name: Text + in: query + description: >- + The text message. + + If the max length is exceeded, the message text is truncated and + sent. + schema: + type: string + maxLength: 10000 + minLength: 1 + example: This is a message text to be sent + x-position: 1 + - name: From + in: query + description: >- + The sender. This can either be a 3-11 chars text sender or an up to + 14 digit long sender number. + + If the max length is exceeded, the string is truncated. + schema: + type: string + example: PetShop + x-position: 2 + - name: Flash + in: query + description: >- + If true, the message will be shown as a flash message (also known as + a class0 message) on the target phone. If false, it will be received + as a standard text message. + + Default: false + schema: + type: boolean + nullable: true + example: false + x-position: 3 + - name: Encoding + in: query + description: >- + The encoding of the message. Can be either "gsm7", "ucs2" or "auto". + + "gsm7" is the default alfabet for text messages and when using gsm7, + a single sms message can contain 160 characters. If the length + exceeeds 160 characters, the message is actually split up into parts + of 153 characters and charged according to this. Please note, that a + few, specific characters fill up 2 bytes and count for 2 letters. + Ref: https://en.wikipedia.org/wiki/GSM_03.38 + + "ucs2"" allows for more non-roman characters to be used along with + smileys. When using this encoding, a single message can consist of + 70 characters. If the message exceeds 70 characters, the final + message is actually split into parts of 67 characters. + + "auto" can be used in case the sender wishes to support non-roman + characters but wants to save the expenses on all the trafic that + only contains gsm characters anyway. + + Default: "gsm7" + schema: + type: string + example: gsm7 + x-position: 4 + - name: To + in: query + description: >- + The msisdn (country code and number) to send to. (Remember to + include countrycode in all numbers, e.g. 4512345678). + + If max length is exceeded, the entire api call will fail. + schema: + type: string + maxLength: 20 + minLength: 0 + example: '4512345678' + x-position: 5 + - name: CountryHint + in: query + description: >- + For optimal phone number validation, we encourage you to provide us + with a country code. This can be the numeric country code (like 44) + or the two-letter suffix (like GB). If this field is empty it is + important that you add the country code (e.g 44) in front of the + phone number in “to”. + schema: + type: string + maxLength: 50 + minLength: 0 + example: '45' + x-position: 6 + - name: MessageId + in: query + description: >- + An optional message id used to identify the message. + + If no message id is provided, a new message id is generated and + assigned to the message. This id must be unique across all messages + created on the same account. + + (In case a previous message has been deleted according to GDPR + deletion rules setup on the specific account, the messageId is + allowed to be reused) + + If max length is exceeded, the entire api call will fail. + schema: + type: string + maxLength: 50 + minLength: 1 + example: PetShop + x-position: 7 + - name: RespectBlacklist + in: query + description: >- + If true, this message will be blocked from sending if the target + number is on the account's blacklist. If false, the message will be + sent no matter blacklist settings. + + Default: true + schema: + type: boolean + nullable: true + example: true + x-position: 8 + - name: ValidityPeriodInSeconds + in: query + description: >- + The validity period in seconds. Minimum is 60 seconds and maximum is + 172800 (48 hours). + + If not specified, the messages is attempted to be delivered in 48 + hours. A typical use of validityPeriod is for messages that makes no + sense to delivery efter er certain time frame, in the case the phone + is turned of, e.g. two factor codes. + + Please note, that messages are still charged even though the + operator is cancelling the delivery attempt due to an exceeded + validity period. + schema: + type: integer + format: int32 + maximum: 172800 + minimum: 60 + nullable: true + example: 90 + x-position: 9 + - name: StatusCallbackUrl + in: query + description: >- + In case you would like a callback from us when the message is + delivered, you can specify it here and we will call it when we have + new message statuses. + + The callback payload will be an array of status objects. + + Api calls sending messages with the same apikey will be subject to + being bulked together. + schema: + type: string + maxLength: 500 + minLength: 0 + example: https://[your_domain]/your/desired/path + x-position: 10 + - name: SendTime.UtcTime + in: query + schema: + type: string + format: date-time + x-position: 11 + - name: SendTime.LocalServerTime + in: query + schema: + type: string + format: date-time + x-position: 12 + - name: MsisdnCooldownInMinutes + in: query + description: >- + If set, the message will be cancelled if the same mobile number + already have received a SMS within this specified time period. + + Fx. used to prevent spamming a mobile number. + + Minimum 60 minutes (1 hour) and maximum is 43200 minutes (30 days). + schema: + type: integer + format: int32 + maximum: 43200 + minimum: 60 + nullable: true + example: 1440 + x-position: 13 + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/SmsOutgoingPostReply' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + callbacks: + status: + https://[your_domain]/your/desired/path: + post: + summary: Status callback url (Webhook) + description: >- + The status callback url to receive status information on when + sms messages are delivered (or if they fail). + + This is a call done by us to you and the url to be called, is + the one specified when sending the messages. + + Only messages with 100% identical message callbacks will be + grouped together into the same call. Messages with different + callback urls will never be grouped together in a single + callback. + requestBody: + x-name: payload + content: + application/json: + schema: + $ref: '#/components/schemas/StatusReportListModel' + required: true + x-position: 1 + responses: + '200': + description: '' + /v4/sms/outgoing/sendusingtemplate: + post: + tags: + - Sms - Outgoing + summary: Send sms messages using a template. + operationId: SmsOutgoing_SendUsingTemplate + requestBody: + x-name: request + content: + application/json: + schema: + $ref: '#/components/schemas/SmsOutgoingTemplatePostRequest' + required: true + x-position: 1 + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/SmsOutgoingTemplatePostReply' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + callbacks: + status: + https://[your_domain]/your/desired/path: + post: + summary: Status callback url (Webhook) + description: >- + The status callback url to receive status information on when + sms messages are delivered (or if they fail). + + This is a call done by us to you and the url to be called, is + the one specified when sending the messages. + + Only messages with 100% identical message callbacks will be + grouped together into the same call. Messages with different + callback urls will never be grouped together in a single + callback. + requestBody: + x-name: payload + content: + application/json: + schema: + $ref: '#/components/schemas/StatusReportListModel' + required: true + x-position: 1 + responses: + '200': + description: '' + /v4/sms/outgoing/cancel: + post: + tags: + - Sms - Outgoing + summary: Cancel sms messages + operationId: SmsOutgoing_Cancel + requestBody: + x-name: request + content: + application/json: + schema: + $ref: '#/components/schemas/SmsOutgoingCancelPostRequest' + required: true + x-position: 1 + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/SmsOutgoingCancelPostReply' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/sms/outgoing/reports: + get: + tags: + - Sms - Outgoing + summary: Get sms status reports. + description: >- + Each report will only be returned once. Once called, the status has been + removed from our side and cannot be retrieved again using this method. + + Using api callbacks in combination with this call does not conflict. + operationId: SmsOutgoing_GetReports + parameters: + - name: limit + in: query + description: How many records to return (must be between 1 and 250) + schema: + type: integer + format: int32 + x-position: 1 + responses: + '200': + description: A list of status reports + content: + application/json: + schema: + $ref: '#/components/schemas/StatusReportListModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/sms/templates: + get: + tags: + - Templates + summary: Get all templates + description: >- + This response is a paged result and will contain the property + '_links.next'. + + If there are more pages, the next page in the paged result will be + provided here. + operationId: Templates_GetAllTemplates + parameters: + - name: pageLimit + in: query + description: How many records to return (must be between 1 and 250) + schema: + type: integer + format: int32 + x-position: 1 + responses: + '200': + description: A list of templates + content: + application/json: + schema: + $ref: '#/components/schemas/ApiPageModelOfStandardTextOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/sms/templates/{id}: + get: + tags: + - Templates + summary: Get template by id + operationId: Templates_GetTemplate + parameters: + - name: id + in: path + required: true + schema: + type: string + x-position: 1 + responses: + '200': + description: A template + content: + application/json: + schema: + $ref: '#/components/schemas/StandardTextOutputApiModel' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + /v4/tools/parsephonenumbers: + post: + tags: + - Tools + summary: Parse phone numbers + operationId: Tools_ParsePhoneNumbers + requestBody: + x-name: request + content: + application/json: + schema: + $ref: '#/components/schemas/ParsePhoneNumberPostRequest' + required: true + x-position: 1 + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ParsePhoneNumberPostReply' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ApiErrorMessage' +components: + schemas: + ApiPageModelOfBlacklistOutputApiModel: + allOf: + - $ref: '#/components/schemas/OutputListApiModelOfBlacklistOutputApiModel' + - type: object + additionalProperties: false + properties: + _links: + $ref: '#/components/schemas/ApiPageLinks' + ApiPageLinks: + type: object + additionalProperties: false + properties: + next: + type: string + description: The link to the next page, e.g. /Feature/Something/cAw2WeS3rdf + example: /Feature/Something/cAw2WeS3rdf + isLastPage: + type: boolean + description: >- + true if this is the last page, false if there are more pages. + NextPageUrl is always defined when this is false and never defined + when it is true. + OutputListApiModelOfBlacklistOutputApiModel: + type: object + additionalProperties: false + properties: + entries: + type: array + items: + $ref: '#/components/schemas/BlacklistOutputApiModel' + BlacklistOutputApiModel: + allOf: + - $ref: '#/components/schemas/BlacklistApiModelbase' + - type: object + additionalProperties: false + properties: + id: + type: string + description: The id of the blacklist entry + format: guid + example: 683862c7-c814-40cc-a74d-048d9f2f8cb7 + created: + type: string + description: >- + When the blacklist entry was created e.g. 2001-02-30T14:50:23Z + (UTC time) + example: '2001-02-30T14:50:23Z' + reasonCode: + description: Why the blacklist was created + example: 5 + oneOf: + - $ref: '#/components/schemas/BlacklistReason' + reasonCodeDescription: + type: string + description: Text version of the ReasonCode + example: AddFromApi + BlacklistReason: + type: integer + description: |- + 1 = CustomerSpecificUnsubscription + 2 = SharedUnsubscription + 3 = CountryBanLaw + 4 = AddWithUserInterface + 5 = AddFromApi + 6 = Custom + 7 = AddFromCrm + 8 = RecipientSyncRemoval + 9 = Autoblacklist + 10 = SpamLimit + 11 = UnsubscribeForm + 12 = CustomDomain + x-enumNames: + - CustomerSpecificUnsubscription + - SharedUnsubscription + - CountryBanLaw + - AddWithUserInterface + - AddFromApi + - Custom + - AddFromCrm + - RecipientSyncRemoval + - Autoblacklist + - SpamLimit + - UnsubscribeForm + - CustomDomain + enum: + - 1 + - 2 + - 3 + - 4 + - 5 + - 6 + - 7 + - 8 + - 9 + - 10 + - 11 + - 12 + BlacklistApiModelbase: + type: object + x-abstract: true + additionalProperties: false + required: + - numberInfo + properties: + numberInfo: + $ref: '#/components/schemas/NumberInfo' + comment: + type: string + description: A comment describing the specific blacklisting (optional). + maxLength: 200 + minLength: 0 + example: Some text provided when created + NumberInfo: + type: object + additionalProperties: false + required: + - countryCode + - phoneNumber + properties: + countryCode: + type: string + description: The country code part of the number + minLength: 1 + example: '45' + phoneNumber: + type: string + description: The local phonenumber part of the number + minLength: 1 + example: '12345678' + ApiErrorMessage: + type: object + additionalProperties: false + properties: + errorMessage: + type: string + description: An overall description of the error. + details: + type: array + description: If available, more details will be provided here. + items: + type: string + BlacklistCreateApiModel: + allOf: + - $ref: '#/components/schemas/BlacklistApiModelbase' + - type: object + additionalProperties: false + properties: + removeFromAllLists: + type: boolean + description: >- + If true, the number will also be removed from all lists. + Default: false + nullable: true + example: false + EmailOutgoingTemplatePostReply: + allOf: + - $ref: '#/components/schemas/EmailOutgoingBasePostReply' + - type: object + additionalProperties: false + properties: + usedPlaceholderKeys: + type: array + description: A list of used placeholder keys + example: + - '{name}' + - '{lastname}' + items: + type: string + notUsedPlaceholderKeys: + type: array + description: A list of not used placeholder keys + example: + - '{name}' + - '{lastname}' + items: + type: string + EmailOutgoingBasePostReply: + type: object + additionalProperties: false + properties: + messageId: + type: string + description: >- + An optional message id used to identify the message. + + If no message id is provided, a new message id is generated and + assigned to the message. This id must be unique across all messages + created on the same account. + + (In case a previous message has been deleted according to GDPR + deletion rules setup on the specific account, the messageId is + allowed to be reused) + + If max length is exceeded, the entire api call will fail. + example: 8fe266b2-56e9-4b5f-938f-cc5e22530721 + to: + type: array + description: The list of created Receivers + items: + $ref: '#/components/schemas/EmailRecipient' + EmailRecipient: + type: object + additionalProperties: false + required: + - emailAddress + - displayName + properties: + emailAddress: + type: string + description: The email address of the recipient + minLength: 1 + example: roy@tomlinson.com + displayName: + type: string + description: The display name to use for the recipient + minLength: 1 + example: Roy Tomlinson + EmailOutgoingTemplatePostRequest: + allOf: + - $ref: '#/components/schemas/EmailOutgoingApiBaseCreateModel' + - type: object + additionalProperties: false + required: + - templateId + properties: + templateId: + type: string + description: The id of the template to use. + minLength: 1 + example: ecdcb257-c1e9-4b44-8a4e-f05822372d82 + placeholders: + description: >- + A key-value list of placeholders to replace in the template + html, text and subject. Keys must be encapsulated with {}. E.g. + {NAME}. + example: + '{name}': Ray + '{lastname}': Tomlinson + oneOf: + - $ref: '#/components/schemas/ApiPlaceholderValueCollection' + ApiPlaceholderValueCollection: + type: object + additionalProperties: + type: string + EmailOutgoingApiBaseCreateModel: + type: object + additionalProperties: false + required: + - from + - to + properties: + from: + description: The from info of the message. + oneOf: + - $ref: '#/components/schemas/EmailRecipient' + to: + type: array + description: >- + A list of receiver objects. Allowed to contain between 1 and 100 + elements. + maxItems: 100 + minItems: 1 + items: + $ref: '#/components/schemas/EmailRecipient' + replyTo: + type: array + description: A list of optional Reply To objects. + maxItems: 100 + minItems: 1 + items: + $ref: '#/components/schemas/EmailRecipient' + messageId: + type: string + description: >- + An optional message id used to identify the message. + + If no message id is provided, a new message id is generated and + assigned to the message. This id must be unique across all messages + created on the same account. + + (In case a previous message has been deleted according to GDPR + deletion rules setup on the specific account, the messageId is + allowed to be reused) + + If max length is exceeded, the entire api call will fail. + maxLength: 50 + minLength: 1 + example: 8fe266b2-56e9-4b5f-938f-cc5e22530721 + sendTime: + type: string + description: >- + If set, this defines to time in the future for the message to be + sent. e.g. 2001-02-30T14:50:23Z (UTC time). + example: '2001-02-30T14:50:23Z' + tracking: + type: boolean + description: >- + If true, this will add Open and Click tracking to your email. + Default: true. + example: false + EmailOutgoingPostRequest: + allOf: + - $ref: '#/components/schemas/EmailOutgoingApiBaseCreateModel' + - type: object + additionalProperties: false + required: + - subject + - html + properties: + subject: + type: string + description: |- + The subject of the email. + If max length is exceeded, the entire api call will fail. + maxLength: 255 + minLength: 0 + example: This is the subject of the email + html: + type: string + description: |- + The HTML body of the email. Max size of 2 MB. + If max size is exceeded, the entire api call will fail. + minLength: 1 + example: >- +

This is an email to + be sent

+ text: + type: string + description: >- + The text body of the email. If none is provided this will be + generated from the HTML. Max size of 2 MB. + + If max size is exceeded, the entire api call will fail. + example: This is the text version of the email + EmailEventListModel: + type: object + additionalProperties: false + properties: + events: + type: array + items: + $ref: '#/components/schemas/EmailEvent' + EmailEvent: + type: object + additionalProperties: false + properties: + messageId: + type: string + description: The id of the message. + example: id1 + eventType: + description: Contains a code for what event type the event is. + example: 3 + oneOf: + - $ref: '#/components/schemas/EmailEventType' + eventTypeDescription: + type: string + description: A text description of the event type + example: Delivered + eventTimestamp: + type: string + description: When the event happened e.g. 2001-02-30T14:50:23Z (UTC time) + example: '2001-02-30T14:50:23Z' + EmailEventType: + type: integer + description: |- + 0 = Undefined + 1 = Clicked + 2 = Complained + 3 = Delivered + 4 = Opened + 5 = PermanentFail + 6 = TemporaryFail + 7 = Unsubscribed + 8 = Queued + 9 = Attempt + x-enumNames: + - Undefined + - Clicked + - Complained + - Delivered + - Opened + - PermanentFail + - TemporaryFail + - Unsubscribed + - Queued + - Attempt + enum: + - 0 + - 1 + - 2 + - 3 + - 4 + - 5 + - 6 + - 7 + - 8 + - 9 + ApiPageModelOfEmailTemplateOutputApiModel: + allOf: + - $ref: '#/components/schemas/OutputListApiModelOfEmailTemplateOutputApiModel' + - type: object + additionalProperties: false + properties: + _links: + $ref: '#/components/schemas/ApiPageLinks' + OutputListApiModelOfEmailTemplateOutputApiModel: + type: object + additionalProperties: false + properties: + entries: + type: array + items: + $ref: '#/components/schemas/EmailTemplateOutputApiModel' + EmailTemplateOutputApiModel: + type: object + additionalProperties: false + properties: + id: + type: string + description: The id of the email template + example: c9b6c7a8-aa22-4a59-b6d5-fdbbeced27bc + name: + type: string + description: The name of the email template + example: My email template + html: + type: string + description: The Html of the email template + example: >- +

Hello {name} {lastname}. + This is an email to be sent

+ text: + type: string + description: The text version of the Html + example: Hello {name} This is the text version of the email + subject: + type: string + description: The subject of the email template + example: Hello {lastname} This is the subject of the email + preheader: + type: string + description: The preheader of the email + example: This is the preheader of the email + placeholders: + type: array + description: >- + A list of the placeholders found in the template html, text and + subject. + example: + - '{name}' + - '{lastname}' + items: + type: string + created: + type: string + description: >- + When the email template was created e.g. 2001-02-30T14:50:23Z (UTC + time) + example: '2001-02-30T14:50:23Z' + lastUpdated: + type: string + description: >- + When the email template was last updated e.g. 2001-02-30T14:50:23Z + (UTC time) + example: '2001-02-30T14:50:23Z' + RequestDeletionOutputApiModel: + type: object + additionalProperties: false + properties: + id: + type: string + description: The Id of the Deletion request + example: cf97f715-63d4-41df-92a1-34eb87b866b5 + DeletionRequestCreateInfo: + type: object + additionalProperties: false + properties: + numberInfo: + $ref: '#/components/schemas/NumberInfo' + ApiPageModelOfGroupOutputApiModel: + allOf: + - $ref: '#/components/schemas/OutputListApiModelOfGroupOutputApiModel' + - type: object + additionalProperties: false + properties: + _links: + $ref: '#/components/schemas/ApiPageLinks' + OutputListApiModelOfGroupOutputApiModel: + type: object + additionalProperties: false + properties: + entries: + type: array + items: + $ref: '#/components/schemas/GroupOutputApiModel' + GroupOutputApiModel: + type: object + additionalProperties: false + properties: + id: + type: string + description: The id of the list + format: guid + example: a80e5daa-1bf9-48ca-b67e-ff79eeab1c39 + name: + type: string + description: The name of the list + example: My list + created: + type: string + description: When the list was created e.g. 2001-02-30T14:50:23Z (UTC time) + example: '2001-02-30T14:50:23Z' + GroupInputApiModel: + type: object + additionalProperties: false + properties: + name: + type: string + ApiPageModelOfRecipientOutputApiModel: + allOf: + - $ref: '#/components/schemas/OutputListApiModelOfRecipientOutputApiModel' + - type: object + additionalProperties: false + properties: + _links: + $ref: '#/components/schemas/ApiPageLinks' + OutputListApiModelOfRecipientOutputApiModel: + type: object + additionalProperties: false + properties: + entries: + type: array + items: + $ref: '#/components/schemas/RecipientOutputApiModel' + RecipientOutputApiModel: + allOf: + - $ref: '#/components/schemas/RecipientBaseApiModel' + - type: object + additionalProperties: false + properties: + id: + type: string + description: The id of the recipient + format: guid + example: 99e0543f-b059-4127-9b50-c42112f19cc9 + listId: + type: string + description: The id of the list that the recipient belongs to + format: guid + example: 4a5f91d5-3aa4-4419-890e-f7b103406dbf + created: + type: string + description: >- + When the recipient was created e.g. 2001-02-30T14:50:23Z (UTC + time) + example: '2001-02-30T14:50:23Z' + RecipientBaseApiModel: + type: object + x-abstract: true + additionalProperties: false + properties: + externalCreated: + type: string + description: >- + When the recipient was created in an external system e.g. + 2001-02-30T14:50:23Z (UTC time) + example: '2001-02-30T14:50:23Z' + numberInfo: + $ref: '#/components/schemas/NumberInfo' + fields: + description: The fields to update in the given recipient. + example: + firstname: Friedhelm + lastname: Hillebrand + birthday: '1945-04-30' + custom1: Custom1 + custom2: Custom2 + custom3: Custom3 + custom4: Custom4 + custom5: Custom5 + custom6: Custom6 + email: test@test.dk + zipCode: '8000' + address: testroad 12 + companyName: test company + oneOf: + - $ref: '#/components/schemas/RecipientFieldsCollection' + RecipientFieldsCollection: + type: object + additionalProperties: + type: string + RecipientCreateOrUpdateApiModel: + allOf: + - $ref: '#/components/schemas/RecipientBaseApiModel' + - type: object + additionalProperties: false + RecipientUpdateApiModel: + allOf: + - $ref: '#/components/schemas/RecipientBaseApiModel' + - type: object + additionalProperties: false + RecipientCreateApiModel: + allOf: + - $ref: '#/components/schemas/RecipientBaseApiModel' + - type: object + additionalProperties: false + IncomingMessageListModel: + type: object + additionalProperties: false + properties: + messages: + type: array + items: + $ref: '#/components/schemas/IncomingMessage' + IncomingMessage: + type: object + additionalProperties: false + properties: + from: + $ref: '#/components/schemas/IncomingMessageSender' + to: + $ref: '#/components/schemas/IncomingMessageTarget' + text: + type: string + receivedAt: + type: string + example: '2001-02-30T14:50:23Z' + IncomingMessageSender: + type: object + additionalProperties: false + properties: + countryCode: + type: string + phoneNumber: + type: string + rawSource: + type: string + isValidMsisdn: + type: boolean + IncomingMessageTarget: + type: object + additionalProperties: false + properties: + countryCode: + type: string + phoneNumber: + type: string + msisdn: + type: string + SmsOutgoingPostReply: + type: object + additionalProperties: false + properties: + results: + type: array + items: + $ref: '#/components/schemas/SmsOutgoingApiCreateResultModel' + SmsOutgoingApiCreateResultModel: + type: object + additionalProperties: false + properties: + numberDetails: + description: >- + The parsed details about the msisdn provided in the to-field of the + request (msisdn is a number with a countrycode e.g. 4512345678) + oneOf: + - $ref: '#/components/schemas/NumberDetails' + text: + type: string + description: The text message + example: This is a message text to be sent + from: + type: string + description: The sender. + example: PetShop + smsCount: + type: integer + description: >- + The number of sms messages this message will be split into when sent + to the operator. Charging will also be done according to this + number. + format: int32 + example: 1 + messageId: + type: string + description: >- + An optional message id used to identify the message. + + If no message id is provided, a new message id is generated and + assigned to the message. This id must be unique across all messages + created on the same account. + + (In case a previous message has been deleted according to GDPR + deletion rules setup on the specific account, the messageId is + allowed to be reused) + example: PetShop + encoding: + type: string + description: >- + The encoding of the message. Can be either "gsm7" or "ucs2". In case + the message was submitted with encoding "auto", this report will + reveal the final encoding based on the characters in the message + text. + + "gsm7" is the default alfabet for text messages and when using gsm7, + a single sms message can contain 160 characters. If the length + exceeeds 160 characters, the message is actually split up into parts + of 153 characters and charged according to this. Please note, that a + few, specific characters fill up 2 bytes and count for 2 letters. + Ref: https://en.wikipedia.org/wiki/GSM_03.38 + + "ucs2"" allows for more non-roman characters to be used along with + smileys. When using this encoding, a single message can consist of + 70 characters. If the message exceeds 70 characters, the final + message is actually split into parts of 67 characters. + example: gsm7 + NumberDetails: + type: object + additionalProperties: false + properties: + countryCode: + type: string + description: The country code part of the msisdn, e.g. 45. + example: '45' + phoneNumber: + type: string + description: The phone number part of the msisdn, e.g. 12345678. + example: '12345678' + rawMsisdn: + type: string + description: >- + The input msisdn in its unaltered format. This is the value provided + when sending the text message. + example: 45 12 34 56 78 + msisdn: + type: string + description: The final cleaned msisdn + example: '4512345678' + isValidMsisdn: + type: boolean + description: True if the input msisdn was valid. + example: true + countryHint: + type: string + description: The country code hint if provided in the request + SmsOutgoingPostRequest: + type: object + additionalProperties: false + required: + - messages + properties: + messages: + type: array + description: >- + A list of the sms messages to be sent. Allowed to contain between 1 + and 250 elements. + maxItems: 250 + minItems: 1 + items: + $ref: '#/components/schemas/SmsOutgoingApiCreateModel' + SmsOutgoingApiCreateModel: + allOf: + - $ref: '#/components/schemas/SmsOutgoingBaseApiModel' + - type: object + additionalProperties: false + required: + - text + - from + properties: + text: + type: string + description: >- + The text message. + + If the max length is exceeded, the message text is truncated and + sent. + maxLength: 10000 + minLength: 1 + example: This is a message text to be sent + from: + type: string + description: >- + The sender. This can either be a 3-11 chars text sender or an up + to 14 digit long sender number. + + If the max length is exceeded, the string is truncated. + minLength: 1 + example: PetShop + flash: + type: boolean + description: >- + If true, the message will be shown as a flash message (also + known as a class0 message) on the target phone. If false, it + will be received as a standard text message. + + Default: false + nullable: true + example: false + encoding: + type: string + description: >- + The encoding of the message. Can be either "gsm7", "ucs2" or + "auto". + + "gsm7" is the default alfabet for text messages and when using + gsm7, a single sms message can contain 160 characters. If the + length exceeeds 160 characters, the message is actually split up + into parts of 153 characters and charged according to this. + Please note, that a few, specific characters fill up 2 bytes and + count for 2 letters. Ref: + https://en.wikipedia.org/wiki/GSM_03.38 + + "ucs2"" allows for more non-roman characters to be used along + with smileys. When using this encoding, a single message can + consist of 70 characters. If the message exceeds 70 characters, + the final message is actually split into parts of 67 characters. + + "auto" can be used in case the sender wishes to support + non-roman characters but wants to save the expenses on all the + trafic that only contains gsm characters anyway. + + Default: "gsm7" + example: gsm7 + SmsOutgoingBaseApiModel: + type: object + additionalProperties: false + required: + - to + properties: + to: + type: string + description: >- + The msisdn (country code and number) to send to. (Remember to + include countrycode in all numbers, e.g. 4512345678). + + If max length is exceeded, the entire api call will fail. + maxLength: 20 + minLength: 0 + example: '4512345678' + countryHint: + type: string + description: >- + For optimal phone number validation, we encourage you to provide us + with a country code. This can be the numeric country code (like 44) + or the two-letter suffix (like GB). If this field is empty it is + important that you add the country code (e.g 44) in front of the + phone number in “to”. + maxLength: 50 + minLength: 0 + example: '45' + messageId: + type: string + description: >- + An optional message id used to identify the message. + + If no message id is provided, a new message id is generated and + assigned to the message. This id must be unique across all messages + created on the same account. + + (In case a previous message has been deleted according to GDPR + deletion rules setup on the specific account, the messageId is + allowed to be reused) + + If max length is exceeded, the entire api call will fail. + maxLength: 50 + minLength: 1 + example: PetShop + respectBlacklist: + type: boolean + description: >- + If true, this message will be blocked from sending if the target + number is on the account's blacklist. If false, the message will be + sent no matter blacklist settings. + + Default: true + nullable: true + example: true + validityPeriodInSeconds: + type: integer + description: >- + The validity period in seconds. Minimum is 60 seconds and maximum is + 172800 (48 hours). + + If not specified, the messages is attempted to be delivered in 48 + hours. A typical use of validityPeriod is for messages that makes no + sense to delivery efter er certain time frame, in the case the phone + is turned of, e.g. two factor codes. + + Please note, that messages are still charged even though the + operator is cancelling the delivery attempt due to an exceeded + validity period. + format: int32 + maximum: 172800 + minimum: 60 + nullable: true + example: 90 + statusCallbackUrl: + type: string + description: >- + In case you would like a callback from us when the message is + delivered, you can specify it here and we will call it when we have + new message statuses. + + The callback payload will be an array of status objects. + + Api calls sending messages with the same apikey will be subject to + being bulked together. + maxLength: 500 + minLength: 0 + example: https://[your_domain]/your/desired/path + sendTime: + type: string + description: >- + If set, this defines to time in the future for the message to be + sent. e.g. 2001-02-30T14:50:23Z (UTC time). + example: '2001-02-30T14:50:23Z' + msisdnCooldownInMinutes: + type: integer + description: >- + If set, the message will be cancelled if the same mobile number + already have received a SMS within this specified time period. + + Fx. used to prevent spamming a mobile number. + + Minimum 60 minutes (1 hour) and maximum is 43200 minutes (30 days). + format: int32 + maximum: 43200 + minimum: 60 + nullable: true + example: 1440 + StatusReportListModel: + type: object + additionalProperties: false + properties: + reports: + type: array + items: + $ref: '#/components/schemas/StatusReport' + StatusReport: + type: object + additionalProperties: false + properties: + messageId: + type: string + description: The id of the message. + example: id1 + numberDetails: + $ref: '#/components/schemas/StatusReportNumberDetails' + deliveryInfo: + $ref: '#/components/schemas/DeliveryInfo' + chargeInfo: + $ref: '#/components/schemas/ChargeInfo' + StatusReportNumberDetails: + allOf: + - $ref: '#/components/schemas/NumberDetails' + - type: object + additionalProperties: false + properties: + isAnonymized: + type: boolean + description: Specifies whether the message has been anonymized or not. + example: false + DeliveryInfo: + type: object + additionalProperties: false + properties: + stateCode: + description: >- + Contains a code indicating whether a message is delivered, failed or + cancelled. + example: -1 + oneOf: + - $ref: '#/components/schemas/MessageStateCode' + stateDescription: + type: string + description: A text description of the state code + example: Failed + sendTime: + type: string + description: When the message was sent e.g. 2001-02-30T14:50:23Z (UTC time) + example: '2001-02-30T14:50:23Z' + doneTime: + type: string + description: >- + When the delivery of the message fails, is cancelled, or is + delivered. If the operator does not support reporting the actual + delivery time, this will be the time when the delivery report is + received from the operator. + + In some cases where the message is not sent, this value can be null. + example: '2001-02-30T14:50:23Z' + errorCode: + $ref: '#/components/schemas/ErrorCode' + errorDescription: + type: string + description: A text description of the error code + example: Undeliverable message + MessageStateCode: + type: integer + description: |- + 0 = Unknown + 1 = Delivered + -2 = Cancelled + -1 = Failed + x-enumNames: + - Unknown + - Delivered + - Cancelled + - Failed + enum: + - 0 + - 1 + - -2 + - -1 + ErrorCode: + type: integer + description: "A code describing the error if the state is not Delivered. This property will be absent in case the state is Delivered.\n\r-1 = Undeliverable message\n\r-2 = Msisdn blacklisted by operator\n\r-3 = Invalid mobile number\n\r-4 = Country not available\n\r-5 = Delivery timeout\n\r-6 = Not delivered removed from gateway\n\r-8 = Insufficient funds\n\r-9 = Authorize failed\n\r-10 = Capture failed\n\r-11 = Overcharge donation limit exceeded\n\r-12 = Overcharge type not activated\n\r-13 = Overcharge settings not valid\n\r-14 = Sender name blocked\n\r-15 = Route not available\n\r-16 = Refund not available\n\r-17 = Refund not possible for message\n\r-18 = Refund failed\n\r-19 = Refund not possible for pending message\n\r-20 = Refund not possible for failed message\n\r-21 = Refund failed already refunded\n\r-22 = Delivery timeout before sent\n\r-23 = Message queue full at operator\n\r-80 = Imported from other system\n\r-99 = Submit failed\n\r-100 = Communication error\n\r-101 = Unknown id\n\r-102 = Cancelled\n\r-103 = Unknown error processing message\n\r-104 = Unknown id at operator\n\r-105 = Msisdn blacklisted on account\n\r-106 = Mobile number cooldown\n\r-201 = Suspicious sms content\n\r-202 = Account deactivated\n\r-300 = Pdu sequence incomplete\n\r-301 = Pdu sequence invalid\n\r" + format: integer + example: -1 + ChargeInfo: + type: object + additionalProperties: false + properties: + isCharged: + type: boolean + description: True if the message will be charged. + example: true + smsCount: + type: integer + description: >- + The total sms count in the message. If IsCharged is true, this is + the number of sms'es that will be charged. + format: int32 + example: 2 + encoding: + type: string + description: >- + The encoding of the message. Can be either "gsm7" or "ucs2". In case + the message was submitted with encoding "auto", this report will + reveal the final encoding based on the characters in the message + text. + + "gsm7" is the default alfabet for text messages and when using gsm7, + a single sms message can contain 160 characters. If the length + exceeeds 160 characters, the message is actually split up into parts + of 153 characters and charged according to this. Please note, that a + few, specific characters fill up 2 bytes and count for 2 letters. + Ref: https://en.wikipedia.org/wiki/GSM_03.38 + + "ucs2"" allows for more non-roman characters to be used along with + smileys. When using this encoding, a single message can consist of + 70 characters. If the message exceeds 70 characters, the final + message is actually split into parts of 67 characters. + example: gsm7 + SmsOutgoingTemplatePostReply: + type: object + additionalProperties: false + properties: + usedPlaceholderKeys: + type: array + description: A list of used used placeholder keys + example: + - '{name}' + - '{lastname}' + items: + type: string + notUsedPlaceholderKeys: + type: array + description: A list of not used placeholder keys + example: + - '{name}' + - '{lastname}' + items: + type: string + results: + type: array + items: + $ref: '#/components/schemas/SmsOutgoingApiCreateResultModel' + SmsOutgoingTemplatePostRequest: + type: object + additionalProperties: false + required: + - templateId + - messages + properties: + templateId: + type: string + description: The id of the template to use + minLength: 1 + example: ecdcb257-c1e9-4b44-8a4e-f05822372d82 + messages: + type: array + description: >- + A list of the sms messages to be sent. Allowed to contain between 1 + and 250 elements. + maxItems: 250 + minItems: 1 + items: + $ref: '#/components/schemas/SmsOutgoingTemplateApiCreateModel' + SmsOutgoingTemplateApiCreateModel: + allOf: + - $ref: '#/components/schemas/SmsOutgoingBaseApiModel' + - type: object + additionalProperties: false + properties: + placeholders: + description: >- + A key-value list of placeholders to replace in the template + text. Keys must be encapsulated with {}. E.g. {NAME}. + example: + '{name}': Friedhelm + '{lastname}': Hillebrand + oneOf: + - $ref: '#/components/schemas/ApiPlaceholderValueCollection' + SmsOutgoingCancelPostReply: + type: object + additionalProperties: false + properties: + results: + type: array + description: A list of results + items: + $ref: '#/components/schemas/SmsOutgoingCancelPostReplyResultModel' + SmsOutgoingCancelPostReplyResultModel: + type: object + additionalProperties: false + properties: + messageId: + type: string + description: The MessageId of the message that was attempted cancelled. + example: 8fe266b2-56e9-4b5f-938f-cc5e22530721 + resultCode: + description: A value indicating if the message was cancelled. + example: 1 + oneOf: + - $ref: '#/components/schemas/CancelResultCode' + resultDescription: + type: string + description: A description of the result. + example: Success + CancelResultCode: + type: integer + description: |- + 0 = Unknown + 1 = Success + -2 = MessageNotFound + -1 = NotCancelled + x-enumNames: + - Unknown + - Success + - MessageNotFound + - NotCancelled + enum: + - 0 + - 1 + - -2 + - -1 + SmsOutgoingCancelPostRequest: + type: object + additionalProperties: false + required: + - messageIds + properties: + messageIds: + type: array + description: >- + A list of the sms message ids to be cancelled. Allowed to contain + between 1 and 250 elements. + maxItems: 250 + minItems: 1 + example: + - id1 + - id2 + items: + type: string + ApiPageModelOfStandardTextOutputApiModel: + allOf: + - $ref: '#/components/schemas/OutputListApiModelOfStandardTextOutputApiModel' + - type: object + additionalProperties: false + properties: + _links: + $ref: '#/components/schemas/ApiPageLinks' + OutputListApiModelOfStandardTextOutputApiModel: + type: object + additionalProperties: false + properties: + entries: + type: array + items: + $ref: '#/components/schemas/StandardTextOutputApiModel' + StandardTextOutputApiModel: + type: object + additionalProperties: false + properties: + id: + type: string + description: The id of the template + example: c7114ec3-8f89-4e26-8048-686585c1da2a + name: + type: string + description: The name of the template + example: My template + text: + type: string + description: The template text + example: My template text {name} {lastname} + senderName: + type: string + description: The sendername to use with this template + example: My sendername + encoding: + type: string + description: >- + The encoding of the message. Can be either "gsm7" or "ucs2" + + "gsm7" is the default alfabet for text messages and when using gsm7, + a single sms message can contain 160 characters. If the length + exceeeds 160 characters, the message is actually split up into parts + of 153 characters and charged according to this. Please note, that a + few, specific characters fill up 2 bytes and count for 2 letters. + Ref: https://en.wikipedia.org/wiki/GSM_03.38 + + "ucs2"" allows for more non-roman characters to be used along with + smileys. When using this encoding, a single message can consist of + 70 characters. If the message exceeds 70 characters, the final + message is actually split into parts of 67 characters. + example: gsm7 + placeholders: + type: array + description: >- + A list of the placeholders found in the template html, text and + subject. + example: + - '{name}' + - '{lastname}' + items: + type: string + created: + type: string + description: When the template was created e.g. 2001-02-30T14:50:23Z (UTC time) + example: '2001-02-30T14:50:23Z' + lastUpdated: + type: string + description: >- + When the template was last updated e.g. 2001-02-30T14:50:23Z (UTC + time) + example: '2001-02-30T14:50:23Z' + ParsePhoneNumberPostReply: + type: object + additionalProperties: false + properties: + results: + type: array + items: + $ref: '#/components/schemas/NumberDetails' + ParsePhoneNumberPostRequest: + type: object + additionalProperties: false + required: + - numbersToParse + properties: + numbersToParse: + type: array + description: A list of the numbersToParse and country hints to be parsed + minItems: 1 + items: + $ref: '#/components/schemas/RawMsisdnAndCountryHint' + RawMsisdnAndCountryHint: + type: object + additionalProperties: false + properties: + countryHint: + type: string + description: The country part of the msisdn, e.g. 45 or DK. + example: '45' + rawMsisdn: + type: string + description: >- + The input msisdn in its unaltered format. This is the value provided + when sending the text message. + example: +45 12 34 56 78 + securitySchemes: + BasicAuth: + type: http + description: >- + Provide Basic Authentiation with an arbitrary username and your api key + as password, e.g. some_value_to_be_ignored:your_api_key_here + scheme: basic + QueryParameter: + type: apiKey + description: >- + Specify your apikey in the url as + https://api.inmobile.com/some/path?apikey=your_api_key_here. This method + is only recommended if basic authorization is not possible. + name: apikey + in: query +security: + - BasicAuth: [] + - QueryParameter: [] +tags: + - name: Sms - Outgoing + - name: Sms - Incoming + - name: Blacklist + - name: Lists + - name: Gdpr + - name: Email + - name: Email Templates + - name: Templates + - name: Tools diff --git a/sdks/db/intermediate-fixed-specs/innoship/openapi.yaml b/sdks/db/intermediate-fixed-specs/innoship/openapi.yaml new file mode 100644 index 0000000000..73c8ba47f8 --- /dev/null +++ b/sdks/db/intermediate-fixed-specs/innoship/openapi.yaml @@ -0,0 +1,8417 @@ +openapi: 3.0.1 +info: + title: Innoship API + description: Api service implementation (version:6.0.1.503) + termsOfService: https://example.com/terms + contact: + name: Andrei Paul + email: andrei@innoship.ro + license: + name: Use under LICX + url: https://example.com/license + version: v1 +paths: + /api/ClientLocation: + get: + tags: + - ClientLocation + parameters: + - name: countryCode + in: query + schema: + type: string + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + responses: + '200': + description: Success + post: + tags: + - ClientLocation + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/UpdateLocationDto' + application/json: + schema: + $ref: '#/components/schemas/UpdateLocationDto' + text/json: + schema: + $ref: '#/components/schemas/UpdateLocationDto' + application/*+json: + schema: + $ref: '#/components/schemas/UpdateLocationDto' + responses: + '200': + description: Success + /api/ClientLocation/{id}: + put: + tags: + - ClientLocation + parameters: + - name: id + in: path + required: true + schema: + type: integer + format: int32 + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/UpdateLocationDto' + application/json: + schema: + $ref: '#/components/schemas/UpdateLocationDto' + text/json: + schema: + $ref: '#/components/schemas/UpdateLocationDto' + application/*+json: + schema: + $ref: '#/components/schemas/UpdateLocationDto' + responses: + '200': + description: Success + delete: + tags: + - ClientLocation + parameters: + - name: id + in: path + required: true + schema: + type: integer + format: int32 + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + responses: + '200': + description: Success + get: + tags: + - ClientLocation + parameters: + - name: id + in: path + required: true + schema: + type: integer + format: int32 + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + responses: + '200': + description: Success + /api/ClientLocation/Summary: + post: + tags: + - ClientLocation + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/LocationFilter' + application/json: + schema: + $ref: '#/components/schemas/LocationFilter' + text/json: + schema: + $ref: '#/components/schemas/LocationFilter' + application/*+json: + schema: + $ref: '#/components/schemas/LocationFilter' + responses: + '200': + description: Success + /api/ClientLocation/Validate: + post: + tags: + - ClientLocation + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/LocationDto' + application/json: + schema: + $ref: '#/components/schemas/LocationDto' + text/json: + schema: + $ref: '#/components/schemas/LocationDto' + application/*+json: + schema: + $ref: '#/components/schemas/LocationDto' + responses: + '200': + description: Success + /api/ClientLocation/{locationId}/Courier: + post: + tags: + - ClientLocation + parameters: + - name: locationId + in: path + required: true + schema: + type: integer + format: int32 + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/CreateLocationCourierServicesDto' + application/json: + schema: + $ref: '#/components/schemas/CreateLocationCourierServicesDto' + text/json: + schema: + $ref: '#/components/schemas/CreateLocationCourierServicesDto' + application/*+json: + schema: + $ref: '#/components/schemas/CreateLocationCourierServicesDto' + responses: + '200': + description: Success + /api/ClientLocation/{locationId}/Courier/{courierId}: + delete: + tags: + - ClientLocation + parameters: + - name: locationId + in: path + required: true + schema: + type: integer + format: int32 + - name: courierId + in: path + required: true + schema: + type: integer + format: int32 + - name: force + in: query + schema: + type: boolean + - name: isEmagMarketPlace + in: query + schema: + type: boolean + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + responses: + '200': + description: Success + /api/ClientLocation/{locationId}/CourierServices: + put: + tags: + - ClientLocation + parameters: + - name: locationId + in: path + required: true + schema: + type: integer + format: int32 + - name: applyToAllLocations + in: query + schema: + type: boolean + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: '#/components/schemas/UpdateLocationCourierServiceDto' + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UpdateLocationCourierServiceDto' + text/json: + schema: + type: array + items: + $ref: '#/components/schemas/UpdateLocationCourierServiceDto' + application/*+json: + schema: + type: array + items: + $ref: '#/components/schemas/UpdateLocationCourierServiceDto' + responses: + '200': + description: Success + patch: + tags: + - ClientLocation + parameters: + - name: locationId + in: path + required: true + schema: + type: integer + format: int32 + - name: applyToAllLocations + in: query + schema: + type: boolean + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: '#/components/schemas/UpdateLocationCourierServiceDto' + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UpdateLocationCourierServiceDto' + text/json: + schema: + type: array + items: + $ref: '#/components/schemas/UpdateLocationCourierServiceDto' + application/*+json: + schema: + type: array + items: + $ref: '#/components/schemas/UpdateLocationCourierServiceDto' + responses: + '200': + description: Success + /api/Courier/RequestPickup: + post: + tags: + - Courier + summary: Request pickup to courier + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + description: '' + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/PickupRequest' + application/json: + schema: + $ref: '#/components/schemas/PickupRequest' + text/json: + schema: + $ref: '#/components/schemas/PickupRequest' + application/*+json: + schema: + $ref: '#/components/schemas/PickupRequest' + responses: + '200': + description: Pickup requested to courier + content: + application/json: + schema: + $ref: '#/components/schemas/PickupResponse' + '400': + description: Unable to request pickup due to errors + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + /api/Courier/All: + get: + tags: + - Courier + summary: Get all couriers + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + responses: + '200': + description: List of couriers + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/AllCouriersResponse' + '401': + description: Unable to authorize request + /api/Feedback/{from}/{to}: + get: + tags: + - Feedback + parameters: + - name: from + in: path + required: true + schema: + type: string + format: date-time + - name: to + in: path + required: true + schema: + type: string + format: date-time + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + responses: + '200': + description: Success + /api/Label/by-courier/{courierId}/awb/{awb}: + get: + tags: + - Label + summary: Gets the label for the specified courier awb number + parameters: + - name: courierId + in: path + description: '' + required: true + schema: + type: integer + format: int32 + - name: awb + in: path + description: '' + required: true + schema: + type: string + - name: type + in: query + description: '' + schema: + type: string + default: PDF + - name: format + in: query + description: '' + schema: + type: string + default: A6 + - name: includeVoucher + in: query + description: '' + schema: + type: boolean + default: false + - name: useFile + in: query + description: '' + schema: + type: boolean + default: true + - name: skipCache + in: query + description: '' + schema: + type: boolean + default: false + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + responses: + '200': + description: Returns the label + content: + application/pdf: + schema: + $ref: '#/components/schemas/LabelResponse' + application/json: + schema: + $ref: '#/components/schemas/LabelResponse' + text/html: + schema: + $ref: '#/components/schemas/LabelResponse' + '400': + description: Unable to get the label due to validation errors + content: + application/pdf: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/html: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + /api/Label/by-courier/{courierId}/voucher/{awb}: + get: + tags: + - Label + summary: Gets the voucher label for the specified courier awb number + parameters: + - name: courierId + in: path + description: '' + required: true + schema: + type: integer + format: int32 + - name: awb + in: path + description: '' + required: true + schema: + type: string + - name: type + in: query + description: '' + schema: + type: string + default: PDF + - name: format + in: query + description: '' + schema: + type: string + default: A6 + - name: useFile + in: query + description: '' + schema: + type: boolean + default: true + - name: skipCache + in: query + description: '' + schema: + type: boolean + default: false + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + responses: + '200': + description: Returns the label + content: + application/pdf: + schema: + $ref: '#/components/schemas/LabelResponse' + application/json: + schema: + $ref: '#/components/schemas/LabelResponse' + text/html: + schema: + $ref: '#/components/schemas/LabelResponse' + '400': + description: Unable to get the label due to validation errors + content: + application/pdf: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/html: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + /api/Label/by-courier/{courierId}/awb/{awb}/parcel/{barcodes}: + get: + tags: + - Label + summary: Gets the label for the specified courier parcel barcode and order awb + parameters: + - name: courierId + in: path + description: '' + required: true + schema: + type: integer + format: int32 + - name: awb + in: path + description: '' + required: true + schema: + type: string + - name: barcodes + in: path + description: '' + required: true + schema: + type: string + - name: type + in: query + description: '' + schema: + type: string + default: PDF + - name: format + in: query + description: '' + schema: + type: string + default: A6 + - name: useFile + in: query + description: '' + schema: + type: boolean + default: true + - name: skipCache + in: query + description: '' + schema: + type: boolean + default: false + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + responses: + '200': + description: Returns the label + content: + application/pdf: + schema: + $ref: '#/components/schemas/LabelResponse' + application/json: + schema: + $ref: '#/components/schemas/LabelResponse' + text/html: + schema: + $ref: '#/components/schemas/LabelResponse' + '400': + description: Unable to get the label due to validation errors + content: + application/pdf: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/html: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + /api/Label/bulk: + post: + tags: + - Label + summary: Create bulk labels operation + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + description: '' + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/BulkLabelApiRequest' + application/json: + schema: + $ref: '#/components/schemas/BulkLabelApiRequest' + text/json: + schema: + $ref: '#/components/schemas/BulkLabelApiRequest' + application/*+json: + schema: + $ref: '#/components/schemas/BulkLabelApiRequest' + responses: + '200': + description: Returns OperationId + '400': + description: Unable to create bulk labels operation due to validation errors + content: + application/pdf: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/html: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + /api/Label/bulk/{operationId}: + get: + tags: + - Label + summary: Get bulk labels by operationId + parameters: + - name: operationId + in: path + description: '' + required: true + schema: + type: string + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + responses: + '200': + description: Returns the label + content: + application/pdf: + schema: + $ref: '#/components/schemas/LabelResponse' + application/json: + schema: + $ref: '#/components/schemas/LabelResponse' + text/html: + schema: + $ref: '#/components/schemas/LabelResponse' + '400': + description: Unable to get the label due to validation errors + content: + application/pdf: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/html: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + /api/Location/ClientLocations: + get: + tags: + - Location + responses: + '200': + description: Success + /api/Location/FixedLocation/{id}: + get: + tags: + - Location + parameters: + - name: id + in: path + required: true + schema: + type: integer + format: int32 + responses: + '200': + description: Success + /api/Location/FixedLocations: + get: + tags: + - Location + parameters: + - name: Courier + in: query + schema: + $ref: '#/components/schemas/Courier' + - name: CountryCode + in: query + schema: + type: string + - name: CountyName + in: query + schema: + type: string + - name: LocalityName + in: query + schema: + type: string + - name: FixedLocationType + in: query + schema: + $ref: '#/components/schemas/FixedLocationType' + - name: ShowInactive + in: query + schema: + type: boolean + - name: RestrictionParcelsCount + in: query + schema: + type: integer + format: int32 + - name: RestrictionSizeHeight + in: query + schema: + type: integer + format: int32 + - name: RestrictionSizeWidth + in: query + schema: + type: integer + format: int32 + - name: RestrictionSizeLength + in: query + schema: + type: integer + format: int32 + - name: ExternalLocationId + in: query + schema: + type: string + - name: Latitude + in: query + schema: + type: number + format: double + - name: Longitude + in: query + schema: + type: number + format: double + - name: Radius + in: query + schema: + type: number + format: double + responses: + '200': + description: Success + /api/Location/Countries: + get: + tags: + - Location + responses: + '200': + description: Success + /api/Location/Counties/{countryCode}: + get: + tags: + - Location + parameters: + - name: countryCode + in: path + required: true + schema: + type: string + responses: + '200': + description: Success + /api/Location/Localities/{countyId}: + get: + tags: + - Location + parameters: + - name: countyId + in: path + required: true + schema: + type: integer + format: int32 + responses: + '200': + description: Success + /api/Location/Postalcodes/{CountryCode}/{PostalCode}: + get: + tags: + - Location + parameters: + - name: CountryCode + in: path + required: true + schema: + maxLength: 2 + minLength: 2 + pattern: ^[a-z]*$ + type: string + - name: PostalCode + in: path + required: true + schema: + type: string + - name: CourierId + in: query + schema: + type: integer + format: int32 + responses: + '200': + description: Success + content: + text/plain: + schema: + $ref: '#/components/schemas/PostalCodeInfo' + application/json: + schema: + $ref: '#/components/schemas/PostalCodeInfo' + text/json: + schema: + $ref: '#/components/schemas/PostalCodeInfo' + /api/Location/Postalcodes/{LocalityId}: + get: + tags: + - Location + parameters: + - name: LocalityId + in: path + required: true + schema: + type: integer + format: int32 + - name: CourierId + in: query + schema: + type: integer + format: int32 + - name: filter + in: query + schema: + type: string + responses: + '200': + description: Success + content: + text/plain: + schema: + type: array + items: + $ref: '#/components/schemas/LocalityPostalCodeInfo' + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/LocalityPostalCodeInfo' + text/json: + schema: + type: array + items: + $ref: '#/components/schemas/LocalityPostalCodeInfo' + /api/Location/Postalcodes/Country/{CountryCode}: + get: + tags: + - Location + parameters: + - name: CountryCode + in: path + required: true + schema: + maxLength: 2 + minLength: 2 + pattern: ^[a-z]*$ + type: string + - name: CourierId + in: query + schema: + type: integer + format: int32 + responses: + '200': + description: Success + content: + text/plain: + schema: + $ref: '#/components/schemas/PostalCodeStructured' + application/json: + schema: + $ref: '#/components/schemas/PostalCodeStructured' + text/json: + schema: + $ref: '#/components/schemas/PostalCodeStructured' + /api/Manifest: + post: + tags: + - Manifest + summary: Requests pickup and get manifest id + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + description: '' + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/ManifestRequest' + application/json: + schema: + $ref: '#/components/schemas/ManifestRequest' + text/json: + schema: + $ref: '#/components/schemas/ManifestRequest' + application/*+json: + schema: + $ref: '#/components/schemas/ManifestRequest' + responses: + '200': + description: Returns ManifestId + '400': + description: Unable to process due to validation errors + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + get: + tags: + - Manifest + summary: Requests manifest report by id + parameters: + - name: manifestId + in: query + description: '' + schema: + type: integer + format: int64 + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + responses: + '200': + description: Returns PDF + '400': + description: Unable to process due to validation errors + content: + application/pdf: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + /api/Notifications/sendsms: + post: + tags: + - Notifications + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/SendSmsRequest' + application/json: + schema: + $ref: '#/components/schemas/SendSmsRequest' + text/json: + schema: + $ref: '#/components/schemas/SendSmsRequest' + application/*+json: + schema: + $ref: '#/components/schemas/SendSmsRequest' + responses: + '200': + description: Success + /api/OfflineOrder/Activate: + put: + tags: + - OfflineOrder + summary: Activate Offline Orders + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + description: '' + content: + application/json-patch+json: + schema: + type: array + items: + $ref: '#/components/schemas/ActivateOrderApiRequest' + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ActivateOrderApiRequest' + text/json: + schema: + type: array + items: + $ref: '#/components/schemas/ActivateOrderApiRequest' + application/*+json: + schema: + type: array + items: + $ref: '#/components/schemas/ActivateOrderApiRequest' + responses: + '200': + description: Activated successfully + '400': + description: Unable to process due to validation errors + '401': + description: Unable to authorize request + /api/OfflineOrder/Edit: + put: + tags: + - OfflineOrder + summary: Edit Offline Orders + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + description: '' + content: + application/json-patch+json: + schema: + type: array + items: + $ref: '#/components/schemas/EditOrderApiRequest' + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/EditOrderApiRequest' + text/json: + schema: + type: array + items: + $ref: '#/components/schemas/EditOrderApiRequest' + application/*+json: + schema: + type: array + items: + $ref: '#/components/schemas/EditOrderApiRequest' + responses: + '200': + description: Activated successfully + '400': + description: Unable to process due to validation errors + '401': + description: Unable to authorize request + /api/OfflineOrder/Add: + post: + tags: + - OfflineOrder + summary: Add Offline Orders + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + description: '' + content: + application/json-patch+json: + schema: + type: array + items: + $ref: '#/components/schemas/OfflineOrderAddRequest' + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/OfflineOrderAddRequest' + text/json: + schema: + type: array + items: + $ref: '#/components/schemas/OfflineOrderAddRequest' + application/*+json: + schema: + type: array + items: + $ref: '#/components/schemas/OfflineOrderAddRequest' + responses: + '200': + description: Added successfully + '400': + description: Unable to process due to validation errors + '401': + description: Unable to authorize request + /api/Order: + post: + tags: + - Order + summary: Creates a new order + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + description: '' + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/OrderRequest' + example: + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3785363+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + application/json: + schema: + $ref: '#/components/schemas/OrderRequest' + example: + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3785363+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + text/json: + schema: + $ref: '#/components/schemas/OrderRequest' + example: + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3785363+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + application/*+json: + schema: + $ref: '#/components/schemas/OrderRequest' + example: + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3785363+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + responses: + '201': + description: Creates an new order in the system + content: + application/json: + schema: + $ref: '#/components/schemas/OrderResponse' + example: + clientOrderId: 662 + courierShipmentId: '877551879' + courierShipmentVoucher: null + courier: 1 + courierParcelsBarcodes: null + price: + amount: 13.36 + vat: 2.54 + totalAmount: 15.9 + currency: RON + priceComponents: null + calculatedDeliveryDate: '2019-10-03T00:00:00Z' + trackPageUrl: null + courierTrackPageUrl: null + courierResponse: null + extra: null + address: null + '400': + description: Unable to create the order due to validation error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /api/Order/simulate: + post: + tags: + - Order + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/OrderRequest' + example: + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3809049+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + application/json: + schema: + $ref: '#/components/schemas/OrderRequest' + example: + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3809049+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + text/json: + schema: + $ref: '#/components/schemas/OrderRequest' + example: + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3809049+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + application/*+json: + schema: + $ref: '#/components/schemas/OrderRequest' + example: + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3809049+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/OrderResponse' + example: + clientOrderId: 662 + courierShipmentId: '877551879' + courierShipmentVoucher: null + courier: 1 + courierParcelsBarcodes: null + price: + amount: 13.36 + vat: 2.54 + totalAmount: 15.9 + currency: RON + priceComponents: null + calculatedDeliveryDate: '2019-10-03T00:00:00Z' + trackPageUrl: null + courierTrackPageUrl: null + courierResponse: null + extra: null + address: null + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /api/Order/validate: + post: + tags: + - Order + summary: Validates a new order request + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + description: '' + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/OrderRequest' + example: + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3824063+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + application/json: + schema: + $ref: '#/components/schemas/OrderRequest' + example: + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3824063+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + text/json: + schema: + $ref: '#/components/schemas/OrderRequest' + example: + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3824063+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + application/*+json: + schema: + $ref: '#/components/schemas/OrderRequest' + example: + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3824063+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/OrderResponse' + example: + clientOrderId: 662 + courierShipmentId: '877551879' + courierShipmentVoucher: null + courier: 1 + courierParcelsBarcodes: null + price: + amount: 13.36 + vat: 2.54 + totalAmount: 15.9 + currency: RON + priceComponents: null + calculatedDeliveryDate: '2019-10-03T00:00:00Z' + trackPageUrl: null + courierTrackPageUrl: null + courierResponse: null + extra: null + address: null + '201': + description: Creates an new order in the system + '400': + description: Unable to create the order due to validation error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /api/Order/multiple/simulate: + post: + tags: + - Order + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: '#/components/schemas/OrderRequest' + example: + - serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3895363+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + - serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3895452+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/OrderRequest' + example: + - serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3895363+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + - serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3895452+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + text/json: + schema: + type: array + items: + $ref: '#/components/schemas/OrderRequest' + example: + - serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3895363+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + - serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3895452+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + application/*+json: + schema: + type: array + items: + $ref: '#/components/schemas/OrderRequest' + example: + - serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3895363+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + - serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.3895452+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + responses: + '201': + description: Created + content: + application/json: + schema: + type: object + additionalProperties: + $ref: '#/components/schemas/OrderResponseResponseWithErrors' + example: + '1': + response: + clientOrderId: 662 + courierShipmentId: '877551879' + courierShipmentVoucher: null + courier: 1 + courierParcelsBarcodes: null + price: + amount: 13.36 + vat: 2.54 + totalAmount: 15.9 + currency: RON + priceComponents: null + calculatedDeliveryDate: '2019-10-03T00:00:00Z' + trackPageUrl: null + courierTrackPageUrl: null + courierResponse: null + extra: null + address: null + errors: null + correlationId: null + '2': + response: + clientOrderId: 662 + courierShipmentId: '877551879' + courierShipmentVoucher: null + courier: 1 + courierParcelsBarcodes: null + price: + amount: 13.36 + vat: 2.54 + totalAmount: 15.9 + currency: RON + priceComponents: null + calculatedDeliveryDate: '2019-10-03T00:00:00Z' + trackPageUrl: null + courierTrackPageUrl: null + courierResponse: null + extra: null + address: null + errors: null + correlationId: null + '400': + description: Bad Request + content: + application/json: + schema: + type: object + additionalProperties: + $ref: '#/components/schemas/OrderResponseResponseWithErrors' + example: + '1': + response: + clientOrderId: 662 + courierShipmentId: '877551879' + courierShipmentVoucher: null + courier: 1 + courierParcelsBarcodes: null + price: + amount: 13.36 + vat: 2.54 + totalAmount: 15.9 + currency: RON + priceComponents: null + calculatedDeliveryDate: '2019-10-03T00:00:00Z' + trackPageUrl: null + courierTrackPageUrl: null + courierResponse: null + extra: null + address: null + errors: null + correlationId: null + '2': + response: + clientOrderId: 662 + courierShipmentId: '877551879' + courierShipmentVoucher: null + courier: 1 + courierParcelsBarcodes: null + price: + amount: 13.36 + vat: 2.54 + totalAmount: 15.9 + currency: RON + priceComponents: null + calculatedDeliveryDate: '2019-10-03T00:00:00Z' + trackPageUrl: null + courierTrackPageUrl: null + courierResponse: null + extra: null + address: null + errors: null + correlationId: null + '401': + description: Unauthorized + content: + application/json: + schema: + type: object + additionalProperties: + $ref: '#/components/schemas/OrderResponseResponseWithErrors' + example: + '1': + response: + clientOrderId: 662 + courierShipmentId: '877551879' + courierShipmentVoucher: null + courier: 1 + courierParcelsBarcodes: null + price: + amount: 13.36 + vat: 2.54 + totalAmount: 15.9 + currency: RON + priceComponents: null + calculatedDeliveryDate: '2019-10-03T00:00:00Z' + trackPageUrl: null + courierTrackPageUrl: null + courierResponse: null + extra: null + address: null + errors: null + correlationId: null + '2': + response: + clientOrderId: 662 + courierShipmentId: '877551879' + courierShipmentVoucher: null + courier: 1 + courierParcelsBarcodes: null + price: + amount: 13.36 + vat: 2.54 + totalAmount: 15.9 + currency: RON + priceComponents: null + calculatedDeliveryDate: '2019-10-03T00:00:00Z' + trackPageUrl: null + courierTrackPageUrl: null + courierResponse: null + extra: null + address: null + errors: null + correlationId: null + /api/Order/file: + post: + tags: + - Order + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + responses: + '201': + description: Created + content: + application/json: + schema: + type: object + additionalProperties: + $ref: '#/components/schemas/OrderResponseResponseWithErrors' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /api/Order/{courierId}/awb/{awbNo}: + delete: + tags: + - Order + summary: Deletes an existing order + parameters: + - name: courierId + in: path + description: Courier id + required: true + schema: + type: integer + format: int32 + - name: awbNo + in: path + description: AWB number + required: true + schema: + type: string + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + responses: + '201': + description: Deletes an existing order from the system + content: + application/json: + schema: + $ref: '#/components/schemas/OrderResponse' + example: + clientOrderId: 662 + courierShipmentId: '877551879' + courierShipmentVoucher: null + courier: 1 + courierParcelsBarcodes: null + price: + amount: 13.36 + vat: 2.54 + totalAmount: 15.9 + currency: RON + priceComponents: null + calculatedDeliveryDate: '2019-10-03T00:00:00Z' + trackPageUrl: null + courierTrackPageUrl: null + courierResponse: null + extra: null + address: null + '400': + description: Unable to delete the order due to validation error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /api/Order/UpdateStatus: + post: + tags: + - Order + summary: Updates orders statuses + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + description: '' + content: + application/json-patch+json: + schema: + type: array + items: + $ref: '#/components/schemas/UpdateStatusRequest' + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UpdateStatusRequest' + text/json: + schema: + type: array + items: + $ref: '#/components/schemas/UpdateStatusRequest' + application/*+json: + schema: + type: array + items: + $ref: '#/components/schemas/UpdateStatusRequest' + responses: + '200': + description: Request was processed successfully + '400': + description: Unable to process due to validation errors + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /api/Order/UpdateParcels: + post: + tags: + - Order + summary: Create a new order based on the existing one and cancel the original + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + description: '' + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/UpdateParcelsRequest' + application/json: + schema: + $ref: '#/components/schemas/UpdateParcelsRequest' + text/json: + schema: + $ref: '#/components/schemas/UpdateParcelsRequest' + application/*+json: + schema: + $ref: '#/components/schemas/UpdateParcelsRequest' + responses: + '200': + description: Creates an new order in the system + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/OrderResponse' + example: + clientOrderId: 662 + courierShipmentId: '877551879' + courierShipmentVoucher: null + courier: 1 + courierParcelsBarcodes: null + price: + amount: 13.36 + vat: 2.54 + totalAmount: 15.9 + currency: RON + priceComponents: null + calculatedDeliveryDate: '2019-10-03T00:00:00Z' + trackPageUrl: null + courierTrackPageUrl: null + courierResponse: null + extra: null + address: null + '400': + description: Unable to create the order due to validation error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /api/Order/UpdateCustomAttributes/{courierId}/awb/{awb}: + post: + tags: + - Order + summary: Updates custom attributes + parameters: + - name: courierId + in: path + description: Courier id + required: true + schema: + type: integer + format: int32 + - name: awb + in: path + description: AWB number + required: true + schema: + type: string + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + description: '' + content: + application/json-patch+json: + schema: + type: object + additionalProperties: + type: string + application/json: + schema: + type: object + additionalProperties: + type: string + text/json: + schema: + type: object + additionalProperties: + type: string + application/*+json: + schema: + type: object + additionalProperties: + type: string + responses: + '200': + description: Request was processed successfully + '400': + description: Unable to process due to validation errors + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /api/Order/by-location/{externalLocationId}/{from}/{to}: + get: + tags: + - Order + summary: Retrieve orders by externalLocationId with dates filter + parameters: + - name: externalLocationId + in: path + description: External Location Id + required: true + schema: + type: string + - name: from + in: path + description: From date + required: true + schema: + type: string + format: date-time + - name: to + in: path + description: To date + required: true + schema: + type: string + format: date-time + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + responses: + '200': + description: Request was processed successfully + '400': + description: Unable to process due to validation errors + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /api/Order/ReturnAwbInfo/{courierId}/{returnAwb}: + get: + tags: + - Order + parameters: + - name: courierId + in: path + required: true + schema: + type: integer + format: int32 + - name: returnAwb + in: path + required: true + schema: + type: string + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + responses: + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /api/Order/UploadDocuments: + post: + tags: + - Order + summary: UploadDocuments + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/UploadDocumentsApiRequest' + application/json: + schema: + $ref: '#/components/schemas/UploadDocumentsApiRequest' + text/json: + schema: + $ref: '#/components/schemas/UploadDocumentsApiRequest' + application/*+json: + schema: + $ref: '#/components/schemas/UploadDocumentsApiRequest' + responses: + '200': + description: Document uploaded + content: + application/json: + schema: + $ref: '#/components/schemas/UploadDocumentsApiResponse' + '400': + description: Unable to upload documents + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /api/Price: + post: + tags: + - Price + summary: Gets the prices for the specified request + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + description: '' + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/OrderRequest' + example: + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.4002507+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + application/json: + schema: + $ref: '#/components/schemas/OrderRequest' + example: + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.4002507+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + text/json: + schema: + $ref: '#/components/schemas/OrderRequest' + example: + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.4002507+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + application/*+json: + schema: + $ref: '#/components/schemas/OrderRequest' + example: + serviceId: 1 + courierId: null + shipmentDate: '2024-03-29T22:08:02.4002507+00:00' + shipmentDateEnd: '0001-01-01T00:00:00+00:00' + addressFrom: null + addressTo: + name: Name of recipient + contactPerson: Contact for recipient + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Adress text 10 + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + addressReturn: null + payment: Sender + content: + envelopeCount: 0 + parcelsCount: 1 + palettesCount: 0 + totalWeight: 1 + contents: t-shirt + package: box + oversizedPackage: false + parcels: + - sequenceNo: 1 + size: + width: 20 + height: 50 + length: 20 + weight: 1 + type: Parcel + reference1: invoice for order 222 + reference2: null + reference3: null + customerBarcode: null + dangerousGood: null + invoiceNumber: invoice 0001 + invoiceDate: '0001-01-01T00:00:00Z' + invoiceValue: 13 + invoiceValueCurrency: EUR + articles: + - quantity: 1 + description: article description + countryOfOrigin: BG + tariff: tariff + weightNet: 1 + weightGross: 1 + pricePerPieceAmount: 13 + pricePerPieceAmountCurrency: EUR + sku: '1' + extra: + bankRepaymentAmount: 32.12 + bankRepaymentCurrency: null + cashOnDeliveryAmount: null + cashOnDeliveryAmountCurrency: null + cashOnDeliveryPayoutToLocation: null + declaredValueAmount: null + declaredValueAmountCurrency: null + openPackage: true + saturdayDelivery: null + insuranceAmount: null + insuranceAmountCurrency: null + reference1: null + reference2: null + reference3: null + reference4: null + returnOfDocuments: null + returnOfDocumentsComment: null + returnPackage: null + returnVoucher: null + bank: null + bankIBAN: null + bankAccountHolder: null + customsDeclaration: + exporter: + name: Name of Exporter + contactPerson: Contact for Exporter + country: BG + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Varna + localityName: Varna + addressText: Exporter Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '1234' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + importer: + name: Name of Importer + contactPerson: Contact for Importer + country: RO + countryName: null + countyId: null + localityId: null + countryId: null + countyName: Bucuresti + localityName: Bucuresti + addressText: Importer Adress + streetType: null + streetName: null + streetNumber: null + postalCode: '123456' + phone: '+40734123456' + email: email@emailserver.com + fixedLocationId: null + fixedLocationName: null + courierFixedLocationId: null + exporterTaxId: exporter taxId + exporterEORI: eori 12345 + exporterBN: BN + importerTaxId: importer taxId + importerEORI: eori 54321 + reason: NonCommercialShipment + incoterm: incoterm + attachments: + - name: file + content: text + marketPlace: null + uitCode: null + parameters: + async: true + getParcelsBarcodes: false + includeCourierResponse: false + includePriceBreakdown: false + includeAddressInResponse: false + consolidateOrder: false + overwriteLocationAddressWithSenderDetails: false + externalClientLocation: RO + externalOrderId: null + metadata: extra data information + sourceChannel: Swagger + observation: Call one hour before + customAttributes: null + clientSettings: null + responses: + '201': + description: List of prices for eligible couriers + content: + application/json: + schema: + $ref: '#/components/schemas/PriceResponse' + '400': + description: Unable to get prices due to validation error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: Unable to authorize request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /api/Track/by-awb/with-return: + post: + tags: + - Track + summary: Track by Order Courier AWB with return info + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/TrackRequest' + application/json: + schema: + $ref: '#/components/schemas/TrackRequest' + text/json: + schema: + $ref: '#/components/schemas/TrackRequest' + application/*+json: + schema: + $ref: '#/components/schemas/TrackRequest' + responses: + '200': + description: Success + content: + text/plain: + schema: + type: array + items: + $ref: '#/components/schemas/TrackResponseWithReturnInfo' + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TrackResponseWithReturnInfo' + text/json: + schema: + type: array + items: + $ref: '#/components/schemas/TrackResponseWithReturnInfo' + '400': + description: Bad Request + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /api/Track/return/by-awb: + post: + tags: + - Track + summary: Track Retrun by Courier AWB + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/TrackRequest' + application/json: + schema: + $ref: '#/components/schemas/TrackRequest' + text/json: + schema: + $ref: '#/components/schemas/TrackRequest' + application/*+json: + schema: + $ref: '#/components/schemas/TrackRequest' + responses: + '200': + description: Success + content: + text/plain: + schema: + type: array + items: + $ref: '#/components/schemas/TrackResponseWithReturnInfo' + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TrackResponseWithReturnInfo' + text/json: + schema: + type: array + items: + $ref: '#/components/schemas/TrackResponseWithReturnInfo' + '400': + description: Bad Request + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /api/Voucher/Create: + post: + tags: + - Voucher + summary: Create Voucher + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + description: '' + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/CreateVoucherApiRequest' + application/json: + schema: + $ref: '#/components/schemas/CreateVoucherApiRequest' + text/json: + schema: + $ref: '#/components/schemas/CreateVoucherApiRequest' + application/*+json: + schema: + $ref: '#/components/schemas/CreateVoucherApiRequest' + responses: + '200': + description: Activated successfully + '400': + description: Unable to process due to validation errors + '401': + description: Unable to authorize request + /api/Voucher/Activate: + post: + tags: + - Voucher + summary: Activate Voucher + parameters: + - name: api-version + in: query + description: The requested API version + required: true + schema: + type: string + default: '1.0' + - name: api-version + in: header + description: The requested API version + schema: + type: string + default: '1.0' + requestBody: + description: '' + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/ActivateVoucherApiRequest' + application/json: + schema: + $ref: '#/components/schemas/ActivateVoucherApiRequest' + text/json: + schema: + $ref: '#/components/schemas/ActivateVoucherApiRequest' + application/*+json: + schema: + $ref: '#/components/schemas/ActivateVoucherApiRequest' + responses: + '200': + description: Activated successfully + '400': + description: Unable to process due to validation errors + '401': + description: Unable to authorize request +components: + schemas: + ActivateAddress: + type: object + properties: + name: + type: string + nullable: true + contactPerson: + type: string + nullable: true + country: + type: string + nullable: true + countryName: + type: string + nullable: true + countyId: + type: integer + format: int32 + nullable: true + localityId: + type: integer + format: int32 + nullable: true + countryId: + type: integer + format: int32 + nullable: true + countyName: + type: string + nullable: true + localityName: + type: string + nullable: true + addressText: + type: string + nullable: true + postalCode: + type: string + nullable: true + phone: + type: string + nullable: true + email: + type: string + nullable: true + fixedLocationId: + type: string + nullable: true + fixedLocationName: + type: string + nullable: true + courierFixedLocationId: + type: string + nullable: true + additionalProperties: false + ActivateOrderApiRequest: + type: object + properties: + courier: + $ref: '#/components/schemas/Courier' + courierShipmentId: + type: string + nullable: true + shipmentDate: + type: string + format: date-time + nullable: true + shipmentDateEnd: + type: string + format: date-time + nullable: true + parcels: + type: array + items: + $ref: '#/components/schemas/ActivateOrderParcel' + nullable: true + addressFrom: + $ref: '#/components/schemas/ActivateAddress' + addressTo: + $ref: '#/components/schemas/ActivateAddress' + additionalProperties: false + ActivateOrderParcel: + type: object + properties: + sequenceNo: + type: integer + format: int32 + size: + $ref: '#/components/schemas/ActivateOrderParcelSize' + weight: + type: number + format: double + additionalProperties: false + ActivateOrderParcelSize: + type: object + properties: + width: + type: number + format: double + height: + type: number + format: double + length: + type: number + format: double + additionalProperties: false + ActivateVoucherApiRequest: + type: object + properties: + courier: + $ref: '#/components/schemas/Courier' + courierShipmentId: + type: string + nullable: true + courierShipmentVoucher: + type: string + nullable: true + additionalProperties: false + AllCouriersResponse: + type: object + properties: + courierId: + type: integer + format: int32 + courier: + type: string + nullable: true + courierDisplayName: + type: string + nullable: true + additionalProperties: false + BulkLabelApiRequest: + type: object + properties: + labelType: + $ref: '#/components/schemas/LabelType' + labelFormat: + $ref: '#/components/schemas/LabelFormat' + useFile: + type: boolean + includeVoucher: + type: boolean + awBs: + type: array + items: + $ref: '#/components/schemas/BulkLabelApiRequestItem' + nullable: true + additionalProperties: false + BulkLabelApiRequestItem: + type: object + properties: + courierId: + $ref: '#/components/schemas/Courier' + typeId: + type: integer + format: int32 + courierShipmentId: + type: string + nullable: true + additionalProperties: false + ClientPreferences: + type: object + properties: + preferredLabel: + $ref: '#/components/schemas/LabelFormat' + preferredLocationId: + type: integer + format: int32 + nullable: true + orderColumns: + type: array + items: + type: string + nullable: true + pickupColumns: + type: array + items: + type: string + nullable: true + returnColumns: + type: array + items: + type: string + nullable: true + additionalProperties: false + Courier: + enum: + - Cargus + - DPD + - FanCourier + - GLS + - Nemo + - Sameday + - ExpressOne + - ECont + - TeamCourier + - DHL + - PostaRomana + - PostaPanduri + - GLS_HU + - DragonStar + - Coletaria + - Bookurier + - Asendia + - TNT + - DPD_BG + - GLS_HR + - GLS_CZ + - GLS_SI + - GLS_SK + - InOut + - StackCurier + - GebruderWeiss + - Pallex + - GT + - CourierManager + - GLS_IT + - ECourier + - Unimasters + - TCE + - TransilvaniaPost + - BGPost + - Evropat + - SMPCourier + - DHL_DE + - Raben + - Memex + - PTTExpress + - XDCourier + - IL + - NovaPosta + - PinkPost + - Strongo + - DHL_Paket + - DHL_Parcel + - BeeFast + - InPost + - KLG + - Schenker + - Packageez + - Kargo + - SundayCourier + - PocztaPolska + - Sinapseria + - UPS + - DPD_HR + - DPD_SI + - NovaPoshtaGlobal + - ALD + - ProNatur + - DPD_HU + - GLS_PL + - Futar24h + - SlovakParcelService + - DPD_DE + - VanOnGo + - CeskaPosta + - DPD_SK + - SolAir + - PostaSlovenije + - DPD_PL + - Agil24 + - OrlenPackza + - Speedex + - FedEx + - DPD_UK + - PPL + - EColet + - ACS + - Helpship + - DPD_CZ + - MagyarPosta + - EVRI + - FedEx_PL + - KuehneNagel + - Sameday_BG + - Sameday_HU + - FanDelivery + - Seur + - Correos + - Couriera + - ChopChop + - InPost_ES + - FanCourierMoldova + - GLS_DE + - Kurier123 + - Dachser + - CTT_PT + - DPD_AT + - PostNord + - Pharmalink + - MRW + - Eurolog + - IDLogistics + - GLS_DK + - RoyalMail + - FanInternational + - Go4 + - InPost_IT + - AmazonShipping_IT + - TNT_IT + - Posta_SK + - Posta_AT + - GLS_ES + - LithuanianPost + - DHL_Parcel_DE + - DPD_LT + - ExpressOne_BG + - FoxPost + - Posta_NL + - InnoshipMocked + type: string + CourierServiceRestrictionsDto: + type: object + properties: + piecesCountMin: + type: integer + format: int32 + nullable: true + piecesCountMax: + type: integer + format: int32 + nullable: true + weightMin: + type: integer + format: int32 + nullable: true + weightMax: + type: integer + format: int32 + nullable: true + parcelWeightMin: + type: integer + format: int32 + nullable: true + parcelWeightMax: + type: integer + format: int32 + nullable: true + widthMin: + type: integer + format: int32 + nullable: true + widthMax: + type: integer + format: int32 + nullable: true + heightMin: + type: integer + format: int32 + nullable: true + heightMax: + type: integer + format: int32 + nullable: true + lengthMin: + type: integer + format: int32 + nullable: true + lengthMax: + type: integer + format: int32 + nullable: true + orderCountMax: + type: integer + format: int32 + nullable: true + orderPiecesCountMax: + type: integer + format: int32 + nullable: true + orderLocationCountMax: + type: array + items: + $ref: '#/components/schemas/RestrictionCountryCountyDto' + nullable: true + orderLocationPiecesCountMax: + type: array + items: + $ref: '#/components/schemas/RestrictionCountryCountyDto' + nullable: true + allowsCOD: + type: boolean + nullable: true + allowsBankCOD: + type: boolean + nullable: true + allowsNoSizeForParcels: + type: boolean + nullable: true + allowsPickUp: + type: boolean + nullable: true + allowsOrder: + type: boolean + nullable: true + allowsEmptyPostalCode: + type: boolean + nullable: true + allowsReturnDocument: + type: boolean + nullable: true + allowsReturnPackage: + type: boolean + nullable: true + allowsOversized: + type: boolean + nullable: true + allowsInsurance: + type: boolean + nullable: true + allowsSaturdayDelivery: + type: boolean + nullable: true + allowsOpenPackage: + type: boolean + nullable: true + courierCutOffTime: + type: string + format: date-span + nullable: true + additionalProperties: false + CreateLocationCourierServicesDto: + type: object + properties: + courierId: + type: integer + format: int32 + isEmagMarketPlace: + type: boolean + additionalProperties: false + CreateVoucherApiRequest: + type: object + properties: + courier: + $ref: '#/components/schemas/Courier' + courierShipmentId: + type: string + nullable: true + voucherCourier: + $ref: '#/components/schemas/Courier' + insuranceAmount: + type: number + format: double + insuranceCurrency: + type: string + nullable: true + additionalProperties: false + EditOrderApiRequest: + type: object + properties: + offlineStatusId: + $ref: '#/components/schemas/OrderOfflineStatus' + courier: + $ref: '#/components/schemas/Courier' + courierShipmentId: + type: string + nullable: true + shipmentDate: + type: string + format: date-time + nullable: true + shipmentDateEnd: + type: string + format: date-time + nullable: true + parcels: + type: array + items: + $ref: '#/components/schemas/ActivateOrderParcel' + nullable: true + addressFrom: + $ref: '#/components/schemas/ActivateAddress' + addressTo: + $ref: '#/components/schemas/ActivateAddress' + additionalProperties: false + Error: + type: object + properties: + context: + type: string + nullable: true + message: + type: string + nullable: true + details: + type: array + items: + $ref: '#/components/schemas/Error' + nullable: true + additionalProperties: false + ErrorResponse: + type: object + properties: + errors: + type: array + items: + $ref: '#/components/schemas/ErrorResponseItem' + nullable: true + correlationId: + type: string + nullable: true + additionalProperties: false + ErrorResponseItem: + type: object + properties: + message: + type: string + nullable: true + details: + type: array + items: + type: string + nullable: true + additionalProperties: false + FixedLocationType: + enum: + - Locker + - PickupPoint + type: string + LabelFormat: + enum: + - A4 + - A6 + - T_85x85 + - A6_300dpi + - A4_4xA6 + - A6_10x9 + type: string + LabelResponse: + type: object + properties: + courier: + type: integer + format: int32 + contents: + type: string + nullable: true + labels: + type: array + items: + type: string + nullable: true + additionalProperties: false + LabelType: + enum: + - Pdf + - Html + - Zpl + type: string + LimitedAddress: + type: object + properties: + country: + type: string + nullable: true + countyName: + type: string + nullable: true + localityName: + type: string + nullable: true + postalCode: + type: string + nullable: true + additionalProperties: false + LocalityPostalCodeInfo: + type: object + properties: + localityId: + type: integer + format: int32 + postalCode: + type: string + nullable: true + streetName: + type: string + nullable: true + streetNameLocalized: + type: string + nullable: true + neighbourhoodName: + type: string + nullable: true + neighbourhoodNameLocalized: + type: string + nullable: true + streetPrefix: + type: string + nullable: true + streetPrefixLocalized: + type: string + nullable: true + additionalProperties: false + LocationAddressDto: + type: object + properties: + name: + type: string + nullable: true + contactPerson: + type: string + nullable: true + phone: + type: string + nullable: true + email: + type: string + nullable: true + localityId: + type: integer + format: int32 + localityName: + type: string + nullable: true + addressText: + type: string + nullable: true + postalCode: + type: string + nullable: true + countyId: + type: integer + format: int32 + countyName: + type: string + nullable: true + countryCode: + type: string + nullable: true + countryName: + type: string + nullable: true + ignoreLocalityId: + type: boolean + latitude: + type: number + format: double + nullable: true + longitude: + type: number + format: double + nullable: true + additionalProperties: false + LocationCourierServiceDto: + type: object + properties: + courierId: + type: integer + format: int32 + courier: + type: string + nullable: true + courierDisplayName: + type: string + nullable: true + serviceId: + type: integer + format: int32 + service: + type: string + nullable: true + serviceGroupId: + type: integer + format: int32 + serviceGroupName: + type: string + nullable: true + hasValidationError: + type: boolean + nullable: true + courierServiceRestrictions: + $ref: '#/components/schemas/CourierServiceRestrictionsDto' + useCourierPrices: + type: boolean + nullable: true + mappingTemplateOptionId: + type: string + nullable: true + voucherTemplateOptionId: + type: string + nullable: true + extraServices: + type: object + additionalProperties: + type: boolean + nullable: true + nullable: true + mappingReferences: + type: object + additionalProperties: + type: integer + format: int32 + nullable: true + nullable: true + countryDeliveryDays: + type: object + additionalProperties: + type: integer + format: int32 + nullable: true + nullable: true + enabled: + type: boolean + nullable: true + localityKm: + type: integer + format: int32 + nullable: true + priceLocalityId: + type: integer + format: int32 + nullable: true + additionalProperties: false + LocationDto: + type: object + properties: + address: + $ref: '#/components/schemas/LocationAddressDto' + courierCutOffTimes: + type: string + nullable: true + courierAutomaticCallTimes: + type: string + nullable: true + useSameCourierForSameAddress: + type: boolean + courierFailPolicy: + type: integer + format: int32 + timeZoneId: + type: string + nullable: true + priceGroupId: + type: integer + format: int32 + nullable: true + notificationEmail: + type: string + nullable: true + notificationPhone: + type: string + nullable: true + courierVoucherService: + type: object + additionalProperties: + type: integer + format: int32 + nullable: true + nullable: true + marketPlaceCallBackSettings: + type: object + additionalProperties: + type: object + additionalProperties: + type: string + nullable: true + nullable: true + importIsActive: + type: boolean + nullable: true + setHandoverOnManifest: + type: boolean + nullable: true + courierServices: + type: array + items: + $ref: '#/components/schemas/LocationCourierServiceDto' + nullable: true + id: + type: integer + format: int32 + name: + type: string + nullable: true + externalLocationId: + type: string + nullable: true + additionalProperties: false + LocationFilter: + type: object + properties: + name: + type: array + items: + type: string + nullable: true + countryId: + type: array + items: + type: integer + format: int32 + nullable: true + countyId: + type: array + items: + type: integer + format: int32 + nullable: true + localityId: + type: array + items: + type: integer + format: int32 + nullable: true + addressText: + type: string + nullable: true + courierId: + type: array + items: + type: integer + format: int32 + nullable: true + ids: + type: array + items: + type: integer + format: int32 + nullable: true + createdAtLe: + type: string + format: date-time + nullable: true + createdAtGe: + type: string + format: date-time + nullable: true + userId: + type: array + items: + type: string + format: uuid + nullable: true + skip: + type: integer + format: int32 + nullable: true + take: + type: integer + format: int32 + nullable: true + orderBy: + type: string + nullable: true + orderByAsc: + type: boolean + additionalProperties: false + ManifestRequest: + type: object + properties: + courierId: + $ref: '#/components/schemas/Courier' + externalLocationId: + type: string + nullable: true + lastPickHour: + type: integer + format: int32 + nullable: true + additionalProperties: false + MarketplaceIntegration: + enum: + - Vivre + type: string + OfflineOrderAddParcel: + type: object + properties: + sequenceNo: + type: integer + format: int32 + size: + $ref: '#/components/schemas/OfflineOrderAddParcelSize' + weight: + type: number + format: double + type: + $ref: '#/components/schemas/ParcelType' + reference1: + type: string + nullable: true + reference2: + type: string + nullable: true + reference3: + type: string + nullable: true + customerBarcode: + type: string + nullable: true + additionalProperties: false + OfflineOrderAddParcelSize: + type: object + properties: + width: + type: number + format: double + height: + type: number + format: double + length: + type: number + format: double + additionalProperties: false + OfflineOrderAddRequest: + type: object + properties: + courier: + $ref: '#/components/schemas/Courier' + courierShipmentId: + type: string + nullable: true + parcels: + type: array + items: + $ref: '#/components/schemas/OfflineOrderAddParcel' + nullable: true + additionalProperties: false + OrderBarcodes: + type: object + properties: + sequenceNo: + type: integer + format: int32 + barcode: + type: string + nullable: true + customerBarcode: + type: string + nullable: true + additionalProperties: false + OrderOfflineStatus: + enum: + - New + - Success + - Error + - InProgress + - Consolidate + type: string + OrderRequest: + type: object + properties: + serviceId: + type: integer + format: int32 + courierId: + $ref: '#/components/schemas/Courier' + shipmentDate: + type: string + format: date-time + shipmentDateEnd: + type: string + format: date-time + addressFrom: + $ref: '#/components/schemas/OrderRequestAddress' + addressTo: + $ref: '#/components/schemas/OrderRequestAddress' + addressReturn: + $ref: '#/components/schemas/OrderRequestAddress' + payment: + $ref: '#/components/schemas/PaymentType' + content: + $ref: '#/components/schemas/OrderRequestContent' + extra: + $ref: '#/components/schemas/OrderRequestExtra' + parameters: + $ref: '#/components/schemas/OrderRequestParameters' + externalClientLocation: + type: string + nullable: true + externalOrderId: + type: string + nullable: true + metadata: + type: string + nullable: true + sourceChannel: + type: string + nullable: true + observation: + type: string + nullable: true + customAttributes: + type: object + additionalProperties: + type: string + nullable: true + nullable: true + clientSettings: + $ref: '#/components/schemas/OrderRequestClientSettings' + additionalProperties: false + OrderRequestAddress: + type: object + properties: + name: + type: string + nullable: true + contactPerson: + type: string + nullable: true + country: + type: string + nullable: true + countryName: + type: string + nullable: true + countyId: + type: integer + format: int32 + nullable: true + localityId: + type: integer + format: int32 + nullable: true + countryId: + type: integer + format: int32 + nullable: true + countyName: + type: string + nullable: true + localityName: + type: string + nullable: true + addressText: + type: string + nullable: true + streetType: + type: string + nullable: true + streetName: + type: string + nullable: true + streetNumber: + type: string + nullable: true + postalCode: + type: string + nullable: true + phone: + type: string + nullable: true + email: + type: string + nullable: true + fixedLocationId: + type: string + nullable: true + fixedLocationName: + type: string + nullable: true + courierFixedLocationId: + type: string + nullable: true + additionalProperties: false + OrderRequestClientSettings: + type: object + properties: + trackPageDomainName: + type: string + nullable: true + priceWeight: + type: number + format: double + nullable: true + performanceWeight: + type: number + format: double + nullable: true + performanceMaximumPriceDeviation: + type: number + format: double + nullable: true + performanceMaximumFlatPriceDeviation: + type: number + format: double + nullable: true + performancePreferredMinimumPriceThreshold: + type: number + format: double + nullable: true + clientPreferences: + $ref: '#/components/schemas/ClientPreferences' + senderLocationTimeZoneId: + type: string + nullable: true + doNoSaveGDPRData: + type: boolean + nullable: true + openPackageIsOptional: + type: boolean + nullable: true + saturdayDeliveryIsOptional: + type: boolean + nullable: true + uniqueOrderReferenceId: + type: integer + format: int32 + nullable: true + useInnoshipInsurance: + type: boolean + nullable: true + performanceClientRates: + type: object + additionalProperties: + type: number + format: double + nullable: true + additionalProperties: false + OrderRequestContent: + type: object + properties: + envelopeCount: + type: integer + format: int32 + parcelsCount: + type: integer + format: int32 + palettesCount: + type: integer + format: int32 + totalWeight: + type: number + format: double + contents: + type: string + nullable: true + package: + type: string + nullable: true + oversizedPackage: + type: boolean + parcels: + type: array + items: + $ref: '#/components/schemas/OrderRequestContentParcel' + nullable: true + invoiceNumber: + type: string + nullable: true + invoiceDate: + type: string + format: date-time + nullable: true + invoiceValue: + type: number + format: double + nullable: true + invoiceValueCurrency: + type: string + nullable: true + articles: + type: array + items: + $ref: '#/components/schemas/OrderRequestContentArticle' + nullable: true + additionalProperties: false + OrderRequestContentArticle: + type: object + properties: + quantity: + type: integer + format: int32 + description: + type: string + nullable: true + countryOfOrigin: + type: string + nullable: true + tariff: + type: string + nullable: true + weightNet: + type: number + format: double + weightGross: + type: number + format: double + pricePerPieceAmount: + type: number + format: double + pricePerPieceAmountCurrency: + type: string + nullable: true + sku: + type: string + nullable: true + additionalProperties: false + OrderRequestContentParcel: + type: object + properties: + sequenceNo: + type: integer + format: int32 + size: + $ref: '#/components/schemas/OrderRequestContentParcelSize' + weight: + type: number + format: double + type: + $ref: '#/components/schemas/ParcelType' + reference1: + type: string + nullable: true + reference2: + type: string + nullable: true + reference3: + type: string + nullable: true + customerBarcode: + type: string + nullable: true + dangerousGood: + $ref: '#/components/schemas/OrderRequestContentParcelDangerousGood' + additionalProperties: false + OrderRequestContentParcelDangerousGood: + type: object + properties: + productId: + type: string + nullable: true + productDescription: + type: string + nullable: true + productClass: + type: integer + format: int32 + quantityClassification: + type: string + nullable: true + packagingGroupType: + type: string + nullable: true + packagingInstructions: + type: string + nullable: true + chemicalRecordIdentifier: + type: string + nullable: true + additionalProperties: false + OrderRequestContentParcelSize: + type: object + properties: + width: + type: number + format: double + height: + type: number + format: double + length: + type: number + format: double + additionalProperties: false + OrderRequestExtra: + type: object + properties: + bankRepaymentAmount: + type: number + format: double + nullable: true + bankRepaymentCurrency: + type: string + nullable: true + cashOnDeliveryAmount: + type: number + format: double + nullable: true + cashOnDeliveryAmountCurrency: + type: string + nullable: true + cashOnDeliveryPayoutToLocation: + type: boolean + nullable: true + declaredValueAmount: + type: number + format: double + nullable: true + declaredValueAmountCurrency: + type: string + nullable: true + openPackage: + type: boolean + nullable: true + saturdayDelivery: + type: boolean + nullable: true + insuranceAmount: + type: number + format: double + nullable: true + insuranceAmountCurrency: + type: string + nullable: true + reference1: + type: string + nullable: true + reference2: + type: string + nullable: true + reference3: + type: string + nullable: true + reference4: + type: string + nullable: true + returnOfDocuments: + type: boolean + nullable: true + returnOfDocumentsComment: + type: string + nullable: true + returnPackage: + type: boolean + nullable: true + returnVoucher: + type: boolean + nullable: true + bank: + type: string + nullable: true + bankIBAN: + type: string + nullable: true + bankAccountHolder: + type: string + nullable: true + customsDeclaration: + $ref: '#/components/schemas/OrderRequestExtraCustomsDeclaration' + marketPlace: + $ref: '#/components/schemas/MarketplaceIntegration' + uitCode: + type: string + nullable: true + additionalProperties: false + OrderRequestExtraCustomsDeclaration: + type: object + properties: + exporter: + $ref: '#/components/schemas/OrderRequestAddress' + importer: + $ref: '#/components/schemas/OrderRequestAddress' + exporterTaxId: + type: string + nullable: true + exporterEORI: + type: string + nullable: true + exporterBN: + type: string + nullable: true + importerTaxId: + type: string + nullable: true + importerEORI: + type: string + nullable: true + reason: + $ref: '#/components/schemas/PurposeOfShipment' + incoterm: + type: string + nullable: true + attachments: + type: array + items: + $ref: '#/components/schemas/OrderRequestExtraCustomsDeclarationAttachment' + nullable: true + additionalProperties: false + OrderRequestExtraCustomsDeclarationAttachment: + type: object + properties: + name: + type: string + nullable: true + content: + type: string + nullable: true + additionalProperties: false + OrderRequestParameters: + type: object + properties: + async: + type: boolean + getParcelsBarcodes: + type: boolean + includeCourierResponse: + type: boolean + includePriceBreakdown: + type: boolean + includeAddressInResponse: + type: boolean + consolidateOrder: + type: boolean + overwriteLocationAddressWithSenderDetails: + type: boolean + additionalProperties: false + OrderResponse: + type: object + properties: + clientOrderId: + type: integer + format: int32 + nullable: true + courierShipmentId: + type: string + nullable: true + courierShipmentVoucher: + type: string + nullable: true + courier: + type: integer + format: int32 + courierParcelsBarcodes: + type: array + items: + $ref: '#/components/schemas/OrderBarcodes' + nullable: true + price: + $ref: '#/components/schemas/OrderResponsePrice' + calculatedDeliveryDate: + type: string + format: date-time + nullable: true + trackPageUrl: + type: string + nullable: true + courierTrackPageUrl: + type: string + nullable: true + courierResponse: + type: object + additionalProperties: {} + nullable: true + extra: + $ref: '#/components/schemas/OrderRequestExtra' + address: + $ref: '#/components/schemas/OrderResponseAddress' + additionalProperties: false + OrderResponseAddress: + type: object + properties: + from: + $ref: '#/components/schemas/LimitedAddress' + to: + $ref: '#/components/schemas/LimitedAddress' + additionalProperties: false + OrderResponsePrice: + type: object + properties: + amount: + type: number + format: double + vat: + type: number + format: double + totalAmount: + type: number + format: double + currency: + type: string + nullable: true + priceComponents: + type: object + properties: + Km: + type: number + format: double + KmFixed: + type: number + format: double + Envelopes: + type: number + format: double + ContentWeight: + type: number + format: double + Insurance: + type: number + format: double + CashOnDelivery: + type: number + format: double + BankRepayment: + type: number + format: double + FixedExtras: + type: number + format: double + Returns: + type: number + format: double + FuelSurcharge: + type: number + format: double + CourierPrice: + type: number + format: double + OpenPackage: + type: number + format: double + SaturdayDelivery: + type: number + format: double + PriceForExtraParcel: + type: number + format: double + ContentWeightZones: + type: number + format: double + ContentWeightPiecesZones: + type: number + format: double + PickupThirdParty: + type: number + format: double + InnoshipInsurance: + type: number + format: double + ReturnDocument: + type: number + format: double + ReturnPackage: + type: number + format: double + PalletType: + type: number + format: double + FuelSurchargeFlat: + type: number + format: double + ParcelsCount: + type: number + format: double + ExtraCharges: + type: number + format: double + HeaviestParcelWeight: + type: number + format: double + WeightAndLDM: + type: number + format: double + ZonePalletType: + type: number + format: double + CountryPalletType: + type: number + format: double + additionalProperties: false + nullable: true + additionalProperties: false + OrderResponseResponseWithErrors: + type: object + properties: + response: + $ref: '#/components/schemas/OrderResponse' + errors: + type: array + items: + $ref: '#/components/schemas/Error' + nullable: true + correlationId: + type: string + nullable: true + additionalProperties: false + ParcelType: + enum: + - Envelope + - Parcel + - Pallet + type: string + PaymentType: + enum: + - Sender + - Recipient + - ThirdParty + type: string + PickupRequest: + type: object + properties: + courierId: + type: integer + format: int32 + locationId: + type: integer + format: int32 + lastPickupHour: + type: integer + format: int32 + lastPickMinute: + type: integer + format: int32 + additionalProperties: false + PickupResponse: + type: object + properties: + success: + type: boolean + message: + type: string + nullable: true + additionalProperties: false + PostalCodeInfo: + type: object + properties: + countryCode: + type: string + nullable: true + countryName: + type: string + nullable: true + postalCode: + type: string + nullable: true + streets: + type: array + items: + $ref: '#/components/schemas/PostalCodeInfoStreet' + nullable: true + additionalProperties: false + PostalCodeInfoStreet: + type: object + properties: + localityId: + type: integer + format: int32 + localityName: + type: string + nullable: true + countyId: + type: integer + format: int32 + countyName: + type: string + nullable: true + countryId: + type: integer + format: int32 + countryName: + type: string + nullable: true + streetName: + type: string + nullable: true + group: + type: string + nullable: true + additionalProperties: false + PostalCodeStructured: + type: object + properties: + countryCode: + type: string + nullable: true + countryId: + type: integer + format: int32 + countryName: + type: string + nullable: true + countryNameLocalized: + type: string + nullable: true + counties: + type: array + items: + $ref: '#/components/schemas/PostalCodeStructuredCounty' + nullable: true + additionalProperties: false + PostalCodeStructuredCounty: + type: object + properties: + countyId: + type: integer + format: int32 + countyName: + type: string + nullable: true + countyNameLocalized: + type: string + nullable: true + localities: + type: array + items: + $ref: '#/components/schemas/PostalCodeStructuredLocality' + nullable: true + additionalProperties: false + PostalCodeStructuredLocality: + type: object + properties: + localityId: + type: integer + format: int32 + localityName: + type: string + nullable: true + localityNameLocalized: + type: string + nullable: true + streets: + type: array + items: + $ref: '#/components/schemas/PostalCodeStructuredStreet' + nullable: true + additionalProperties: false + PostalCodeStructuredStreet: + type: object + properties: + postalCode: + type: string + nullable: true + streetName: + type: string + nullable: true + streetNameLocalized: + type: string + nullable: true + neighbourhood: + type: string + nullable: true + neighbourhoodLocalized: + type: string + nullable: true + group: + type: string + nullable: true + streetPrefix: + type: string + nullable: true + streetPrefixLocalized: + type: string + nullable: true + additionalProperties: false + PriceRate: + type: object + properties: + carrierId: + type: integer + format: int32 + carrier: + type: string + nullable: true + rateAmount: + type: number + format: double + rateVatAmount: + type: number + format: double + rateTotalAmount: + type: number + format: double + readOnly: true + rateCurrency: + type: string + nullable: true + score: + type: number + format: double + performance: + type: number + format: double + calculatedDeliveryDate: + type: string + format: date-time + nullable: true + deliveryDays: + type: integer + format: int32 + serviceId: + type: integer + format: int32 + service: + type: string + nullable: true + priority: + type: integer + format: int32 + priceComponents: + type: object + properties: + Km: + type: number + format: double + KmFixed: + type: number + format: double + Envelopes: + type: number + format: double + ContentWeight: + type: number + format: double + Insurance: + type: number + format: double + CashOnDelivery: + type: number + format: double + BankRepayment: + type: number + format: double + FixedExtras: + type: number + format: double + Returns: + type: number + format: double + FuelSurcharge: + type: number + format: double + CourierPrice: + type: number + format: double + OpenPackage: + type: number + format: double + SaturdayDelivery: + type: number + format: double + PriceForExtraParcel: + type: number + format: double + ContentWeightZones: + type: number + format: double + ContentWeightPiecesZones: + type: number + format: double + PickupThirdParty: + type: number + format: double + InnoshipInsurance: + type: number + format: double + ReturnDocument: + type: number + format: double + ReturnPackage: + type: number + format: double + PalletType: + type: number + format: double + FuelSurchargeFlat: + type: number + format: double + ParcelsCount: + type: number + format: double + ExtraCharges: + type: number + format: double + HeaviestParcelWeight: + type: number + format: double + WeightAndLDM: + type: number + format: double + ZonePalletType: + type: number + format: double + CountryPalletType: + type: number + format: double + additionalProperties: false + nullable: true + additionalProperties: false + PriceResponse: + type: object + properties: + rates: + type: array + items: + $ref: '#/components/schemas/PriceRate' + nullable: true + correlationId: + type: string + nullable: true + additionalProperties: false + PurposeOfShipment: + enum: + - CommercialShipment + - NonCommercialShipment + type: string + RestrictionCountryCountyDto: + type: object + properties: + countryId: + type: integer + format: int32 + countyId: + type: integer + format: int32 + nullable: true + value: + type: integer + format: int32 + additionalProperties: false + SendSmsRequest: + type: object + properties: + campaignName: + type: string + nullable: true + data: + type: array + items: + $ref: '#/components/schemas/SendSmsRequestItem' + nullable: true + additionalProperties: false + SendSmsRequestItem: + type: object + properties: + phone: + type: array + items: + type: string + nullable: true + message: + type: string + nullable: true + additionalProperties: false + TrackRequest: + type: object + properties: + courier: + $ref: '#/components/schemas/Courier' + awbList: + type: array + items: + type: string + nullable: true + additionalProperties: false + TrackResponseHistory: + type: object + properties: + clientStatusId: + type: integer + format: int32 + clientStatusDescription: + type: string + nullable: true + eventDate: + type: string + format: date-time + isFinalStatus: + type: boolean + localityName: + type: string + nullable: true + additionalProperties: false + TrackResponseWithReturnInfo: + type: object + properties: + returnAwb: + type: string + nullable: true + returnAwbHistory: + type: array + items: + $ref: '#/components/schemas/TrackResponseHistory' + nullable: true + orderId: + type: integer + format: int32 + externalOrderId: + type: string + nullable: true + correlationId: + type: string + nullable: true + courier: + type: integer + format: int32 + shipmentAwb: + type: string + nullable: true + carrierMeasuredWeight: + type: number + format: double + nullable: true + recipientContactName: + type: string + nullable: true + recipientLocality: + type: string + nullable: true + recipientCountryCode: + type: string + nullable: true + trackUrl: + type: string + nullable: true + currentStatus: + type: string + nullable: true + currentStatusId: + type: integer + format: int32 + dispatchId: + type: string + nullable: true + history: + type: array + items: + $ref: '#/components/schemas/TrackResponseHistory' + nullable: true + cashOnDeliveryHistory: + type: array + items: + $ref: '#/components/schemas/TrackResponseHistory' + nullable: true + additionalProperties: false + UpdateLocationCourierServiceDto: + type: object + properties: + courierId: + type: integer + format: int32 + serviceId: + type: integer + format: int32 + courierServiceRestrictions: + $ref: '#/components/schemas/CourierServiceRestrictionsDto' + useCourierPrices: + type: boolean + nullable: true + mappingTemplateOptionId: + type: string + nullable: true + voucherTemplateOptionId: + type: string + nullable: true + extraServices: + type: object + additionalProperties: + type: boolean + nullable: true + nullable: true + mappingReferences: + type: object + additionalProperties: + type: integer + format: int32 + nullable: true + nullable: true + countryDeliveryDays: + type: object + additionalProperties: + type: integer + format: int32 + nullable: true + nullable: true + enabled: + type: boolean + nullable: true + localityKm: + type: integer + format: int32 + nullable: true + priceLocalityId: + type: integer + format: int32 + nullable: true + additionalProperties: false + UpdateLocationDto: + type: object + properties: + address: + $ref: '#/components/schemas/LocationAddressDto' + courierCutOffTimes: + type: string + nullable: true + courierAutomaticCallTimes: + type: string + nullable: true + useSameCourierForSameAddress: + type: boolean + courierFailPolicy: + type: integer + format: int32 + timeZoneId: + type: string + nullable: true + priceGroupId: + type: integer + format: int32 + nullable: true + notificationEmail: + type: string + nullable: true + notificationPhone: + type: string + nullable: true + courierVoucherService: + type: object + additionalProperties: + type: integer + format: int32 + nullable: true + nullable: true + marketPlaceCallBackSettings: + type: object + additionalProperties: + type: object + additionalProperties: + type: string + nullable: true + nullable: true + importIsActive: + type: boolean + nullable: true + setHandoverOnManifest: + type: boolean + nullable: true + id: + type: integer + format: int32 + name: + type: string + nullable: true + externalLocationId: + type: string + nullable: true + additionalProperties: false + UpdateParcelsRequest: + type: object + properties: + courierId: + $ref: '#/components/schemas/Courier' + courierShipmentId: + type: string + nullable: true + envelopeCount: + type: integer + format: int32 + parcelsCount: + type: integer + format: int32 + palettesCount: + type: integer + format: int32 + oversizedPackage: + type: boolean + totalWeight: + type: number + format: double + parcels: + type: array + items: + $ref: '#/components/schemas/OrderRequestContentParcel' + nullable: true + parameters: + $ref: '#/components/schemas/OrderRequestParameters' + additionalProperties: false + UpdateStatusRequest: + type: object + properties: + courierId: + $ref: '#/components/schemas/Courier' + courierShipmentId: + type: string + nullable: true + typeId: + type: integer + format: int32 + nullable: true + statusId: + type: integer + format: int32 + actionDateTime: + type: string + format: date-time + additionalProperties: false + UploadDocumentsApiRequest: + type: object + properties: + courierId: + $ref: '#/components/schemas/Courier' + courierShipmentId: + type: string + nullable: true + attachments: + type: array + items: + $ref: '#/components/schemas/OrderRequestExtraCustomsDeclarationAttachment' + nullable: true + additionalProperties: false + UploadDocumentsApiResponse: + type: object + properties: + success: + type: boolean + message: + type: string + nullable: true + additionalProperties: false + securitySchemes: + ApiKeyAuth: + type: apiKey + name: X-Api-Key + in: header +security: + - ApiKeyAuth: + - readAccess + - writeAccess +servers: + - url: https://api.innoship.com diff --git a/sdks/db/processed-custom-request-cache/ilert.com.yaml b/sdks/db/processed-custom-request-cache/ilert.com.yaml new file mode 100644 index 0000000000..41440786d4 --- /dev/null +++ b/sdks/db/processed-custom-request-cache/ilert.com.yaml @@ -0,0 +1,67 @@ +processed: + securitySchemes: + apiKey: + type: apiKey + in: header + name: Authorization + description: >- + The Bearer API key of your user more info. + apiBaseUrl: /api + apiVersion: '' + apiDescription: >- + + The ilert API is a + [RESTful](https://en.wikipedia.org/wiki/Representational_state_transfer) API + and provides programmatic access to entities in ilert and lets you easily + integrate ilert with 3rd party tools. If you are looking to develop an + inbound integration (e.g. for a monitoring tool), please use our [Events + API](https://api.ilert.com). + + + The API supports the JSON content type for requests and responses. The + response content type is requested via the HTTP Accept header + (`application/json`). All resources are accessible via https and are located + at `api.ilert.com/api`. + + ## Authentication + + The REST API accepts bearer API tokens. Each user may create API keys using + the ilert web application. Note: Make sure to send the `Bearer ` prefix e.g. + `Bearer APIKEY` when sending api key requests. By default, access to all + resources (using any method) requires the client to be authenticated. + + + ## Team Context + When using API tokens, the currently selected team context of the user will not be taken into account, i.e. list results will always return all entities to which the user has a view permission. When using basic auth credentials the currently selected team context of the user will be used to filter resource results. The context may be overwritten for API key calls using the `team-context` HTTP header. Specifying `0` for ALL teams, `-1` for MY teams or a specific team id e.g. `team-context=901` to fetch results for a certain team. + + ## Errors + + ilert uses HTTP response codes to indicate success or failure of an API + request. Codes in the 2xx range indicate success, codes in the 4xx range + indicate a client error (e.g. a missing required parameter) and codes in the + 5xx range indicate an error with ilert's servers. In case of an error, the + response body contains the following information: + + Attribute | Description + ------------- | ------------- + status | the corresponsing HTTP status code + message | a human readable description of the error + code | error code, used to identify error type + + ## API Versioning + + Changes to our API are always backwards-compatible. To get more information + about our API versioning and historical changes, please take a look here. + apiTitle: ilert REST API + endpoints: 80 + sdkMethods: 162 + schemas: 164 + parameters: 713 + originalCustomRequest: + type: GET + url: https://api.ilert.com/api-docs/swagger.json + customRequestSpecFilename: ilert.com.yaml + difficultyScore: 422.25 diff --git a/sdks/db/processed-custom-request-cache/inmobile.com.yaml b/sdks/db/processed-custom-request-cache/inmobile.com.yaml new file mode 100644 index 0000000000..5e8443c71b --- /dev/null +++ b/sdks/db/processed-custom-request-cache/inmobile.com.yaml @@ -0,0 +1,29 @@ +processed: + securitySchemes: + BasicAuth: + type: http + description: >- + Provide Basic Authentiation with an arbitrary username and your api key + as password, e.g. some_value_to_be_ignored:your_api_key_here + scheme: basic + QueryParameter: + type: apiKey + description: >- + Specify your apikey in the url as + https://api.inmobile.com/some/path?apikey=your_api_key_here. This method + is only recommended if basic authorization is not possible. + name: apikey + in: query + apiBaseUrl: https://api.inmobile.com + apiVersion: version 4 + apiDescription: "\r\n# Introduction\r\n\r\nThis document is a technical description of our REST API used for external systems to send sms messages and to retrieve a status for each sms message sent and to maintain lists and blacklists.\r\n\r\nIn order to call our API, you need an api key. Log in to your account at https://mm.inmobile.dk, go to the \"API\" menu section and your api key will be available here.\r\n\r\nNOTE: It is required for clients to support tls 1.2 or higher.\r\n\r\n\r\n# Firewall openings\r\n\r\nThis is relevant for status callbacks and incoming SMS messages.\r\n\r\nYou can expect callbacks from one of the following IP ranges:\r\n\r\n* 46.36.205.80/28\r\n* 185.221.37.96/28\r\n\r\nThese are also the ip addresses which will be used for api.inmobile.com and mm.inmobile.dk - ensure access to these 2 ranges are opened in your firewall." + apiTitle: inMobile REST API + endpoints: 24 + sdkMethods: 36 + schemas: 66 + parameters: 71 + originalCustomRequest: + type: GET + url: https://api.inmobile.com/swagger/v1/swagger.json + customRequestSpecFilename: inmobile.com.yaml + difficultyScore: 86.75 diff --git a/sdks/db/processed-custom-request-cache/innoship.io.yaml b/sdks/db/processed-custom-request-cache/innoship.io.yaml new file mode 100644 index 0000000000..e566463a3f --- /dev/null +++ b/sdks/db/processed-custom-request-cache/innoship.io.yaml @@ -0,0 +1,21 @@ +processed: + securitySchemes: + ApiKeyAuth: + type: apiKey + name: X-Api-Key + in: header + apiBaseUrl: https://api.innoship.com + apiVersion: v1 + apiDescription: Api service implementation (version:6.0.1.503) + apiTitle: Innoship API + endpoints: 46 + sdkMethods: 51 + schemas: 75 + parameters: 330 + contactEmail: andrei@innoship.ro + originalCustomRequest: + type: GET + url: https://api.innoship.io/swagger/v1/swagger.json + apiBaseUrl: https://api.innoship.com + customRequestSpecFilename: innoship.io.yaml + difficultyScore: 171 diff --git a/sdks/db/progress/ilert-progress.yaml b/sdks/db/progress/ilert-progress.yaml new file mode 100644 index 0000000000..03cd14e076 --- /dev/null +++ b/sdks/db/progress/ilert-progress.yaml @@ -0,0 +1,494 @@ +examples: {} +examples_2: {} +examples_3: {} +ignoreObjectsWithNoProperties: true +operationIds: + /alert-actions: + get: AlertActions_getList + post: AlertActions_createNewAction + /alert-actions/{id}: + delete: AlertActions_removeSpecificAction + get: AlertActions_getSpecificAction + put: AlertActions_updateSpecificAlertAction + /alert-sources: + get: AlertSources_listSources + post: AlertSources_createNewSource + /alert-sources/{id}: + delete: AlertSources_deleteSpecifiedSource + get: AlertSources_getByIdOrApiKey + put: AlertSources_updateExistingSource + /alerts: + get: Alerts_listMatchingCriteria + post: Alerts_createCustomizedAlert + /alerts/count: + get: Alerts_getAlertCountMatchingCriteria + /alerts/{id}: + get: Alerts_getById + /alerts/{id}/accept: + put: Alerts_acceptAlert + /alerts/{id}/actions: + get: AlertActions_getAvailableActions + post: AlertActions_invokeSpecificAction + /alerts/{id}/assign: + put: Alerts_assignAlertTo + /alerts/{id}/log-entries: + get: Alerts_getLogEntries + /alerts/{id}/notifications: + get: Alerts_getNotifications + /alerts/{id}/resolve: + put: Alerts_resolveAlert + /alerts/{id}/responders: + post: Alerts_addResponder + /alerts/{id}/responders/{user-id}: + delete: Alerts_removeResponder + /alerts/{id}/suggested-responders: + get: Alerts_getAssignableResponders + /automation-rules: + get: AutomationRules_getDeprecatedRules + post: AutomationRules_createNewRule + /automation-rules/{id}: + delete: AutomationRules_removeSpecificRule + get: AutomationRules_getSpecificRule + put: AutomationRules_updateSpecificRule + /connectors: + get: Connectors_getAvailableConnectors + post: Connectors_createNewConnector + /connectors/{id}: + delete: Connectors_removeSpecificConnector + get: Connectors_getSpecificConnector + put: Connectors_updateSpecificConnector + /escalation-policies: + get: EscalationPolicies_listPolicies + post: EscalationPolicies_createNewPolicy + /escalation-policies/{id}: + delete: EscalationPolicies_deleteSpecificPolicy + get: EscalationPolicies_getById + put: EscalationPolicies_updateExistingPolicy + /events: + post: Events_postEventToIlert + /heartbeats/{key}: + get: Heartbeats_pingAlertSource + head: Heartbeats_pingAlertSource + post: Heartbeats_pingAlertSource + /incident-templates: + get: IncidentTemplates_getList + post: IncidentTemplates_createNewTemplate + /incident-templates/{id}: + delete: IncidentTemplates_removeSpecificTemplate + get: IncidentTemplates_getSpecificTemplate + put: IncidentTemplates_updateSpecificTemplate + /incidents: + get: Incidents_getIncidentList + post: Incidents_createNewIncident + /incidents/publish-info: + post: Incidents_forecastAffectedSubscribersAndStatusPages + /incidents/{id}: + get: Incidents_getSpecificIncident + put: Incidents_updateSpecificIncident + /incidents/{id}/private-subscribers: + get: Incidents_getPrivateSubscribers + post: Incidents_addSubscribers + /integrations: + get: Integrations_listAvailable + /maintenance-windows: + get: MaintenanceWindows_list + post: MaintenanceWindows_createNewWindow + /maintenance-windows/{id}: + delete: MaintenanceWindows_removeById + get: MaintenanceWindows_getById + put: MaintenanceWindows_updateExistingWindow + /metric-data-sources: + get: MetricDataSources_list + post: MetricDataSources_createNewMetricDataSource + /metric-data-sources/{id}: + delete: MetricDataSources_deleteSpecificDataSource + get: MetricDataSources_getSpecificDataSource + put: MetricDataSources_updateSpecificDataSource + /metric/{id}: + delete: Metrics_deleteSpecificMetric + get: Metrics_getSpecificMetric + put: Metrics_updateSpecificMetric + /metrics: + get: Metrics_getMetrics + post: Metrics_createNewMetric + /numbers: + get: Numbers_listAvailableNumbers + /on-calls: + get: OnCalls_listWithFilters + /reports/alerts: + get: Reports_listAlertMetrics + /reports/alerts/summary: + get: Reports_summarizeAlertMetrics + /reports/api-keys/usage: + get: Reports_listApiKeyUsageMetrics + /schedules: + get: Schedules_listOnCallSchedules + post: Schedules_createNewOnCallSchedule + /schedules/{id}: + delete: Schedules_deleteScheduleById + get: Schedules_getById + put: Schedules_updateOnCallSchedule + /schedules/{id}/overrides: + get: Schedules_getOverridesById + put: Schedules_addOverrideShift + /schedules/{id}/shifts: + get: Schedules_getShiftsByIdAndDateRange + /schedules/{id}/user-on-call: + get: Schedules_getUserOnCall + /series/{key}: + post: Series_ingestMetricSeries + /service-outages: + get: ServiceOutages_getServiceOutages + /service-outages/overrides: + get: ServiceOutages_getOverrides + post: ServiceOutages_overridePartHistory + /service-outages/overrides/{id}: + delete: ServiceOutages_removeOverride + get: ServiceOutages_getSpecificOverride + put: ServiceOutages_updateOverride + /services: + get: Services_listAvailableServices + post: Services_createService + /services/{id}: + delete: Services_removeSpecificService + get: Services_getSpecificService + put: Services_updateSpecificService + /services/{id}/private-subscribers: + get: Services_getSubscribers + put: Services_setPrivateSubscribers + /status-pages: + get: StatusPages_getStatusPages + post: StatusPages_createNewStatusPage + /status-pages/{id}: + delete: StatusPages_removeSpecificPage + get: StatusPages_getPageDetails + put: StatusPages_updateSpecificPage + /status-pages/{id}/groups: + get: StatusPages_getGroups + post: StatusPages_addGroupToPage + /status-pages/{id}/groups/{group-id}: + delete: StatusPages_removeGroup + get: StatusPages_getSpecificGroup + put: StatusPages_updateGroup + /status-pages/{id}/private-subscribers: + delete: StatusPages_removeSubscriber + get: StatusPages_getPrivateSubscribers + post: StatusPages_addSubscriber + put: StatusPages_setPrivateSubscribers + /support-hours: + get: SupportHours_list + post: SupportHours_createNewSupportHour + /support-hours/{id}: + delete: SupportHours_deleteSpecifiedSupportHour + get: SupportHours_getById + put: SupportHours_updateExistingHour + /teams: + get: Teams_getAll + post: Teams_createNewTeam + /teams/{id}: + delete: Teams_removeSpecificTeam + get: Teams_getDetails + put: Teams_updateSpecificTeam + /teams/{id}/members: + post: Teams_addNewMember + /teams/{id}/members/{id}: + delete: Teams_removeSpecificMember + /users: + get: Users_listExistingUsers + post: Users_createNewUser + /users/current: + get: Users_getCurrentUser + put: Users_updateCurrentUser + /users/{user-id}: + delete: Users_deleteUser + get: Users_getUserById + put: Users_updateExistingUser + /users/{user-id}/contacts/emails: + get: Contacts_getUserEmails + post: Contacts_addNewEmail + /users/{user-id}/contacts/emails/{id}: + delete: Contacts_deleteUserEmail + get: Contacts_getEmail + put: Contacts_updateUserEmail + /users/{user-id}/contacts/phone-numbers: + get: Contacts_getUserPhoneNumbers + post: Contacts_createPhoneNumber + /users/{user-id}/contacts/phone-numbers/{id}: + delete: Contacts_deletePhoneNumber + get: Contacts_getPhoneNumber + put: Contacts_updateUserPhoneNumber + /users/{user-id}/notification-preferences/alerts: + get: NotificationPreferences_getUserAlerts + post: NotificationPreferences_createAlertPreference + /users/{user-id}/notification-preferences/alerts/{id}: + delete: NotificationPreferences_deleteUserNotificationPreferencesAlert + get: NotificationPreferences_getSpecificAlert + put: NotificationPreferences_updateAlertPreference + /users/{user-id}/notification-preferences/duties: + get: NotificationPreferences_getUserDutyPreferences + post: NotificationPreferences_createDuty + /users/{user-id}/notification-preferences/duties/{id}: + delete: NotificationPreferences_deleteUserNotificationDuty + get: NotificationPreferences_getSpecificDuty + put: NotificationPreferences_updateDutyNotificationPreference + /users/{user-id}/notification-preferences/subscriptions: + get: NotificationPreferences_getUserSubscriptions + post: NotificationPreferences_createSubscriptionNotificationPreference + /users/{user-id}/notification-preferences/subscriptions/{id}: + delete: NotificationPreferences_deleteSubscription + get: NotificationPreferences_getSpecificSubscription + put: NotificationPreferences_updateSubscriptionPreference + /users/{user-id}/notification-preferences/updates: + get: NotificationPreferences_getUserUpdatePreferences + post: NotificationPreferences_createUpdatePreference + /users/{user-id}/notification-preferences/updates/{id}: + delete: NotificationPreferences_deleteUpdate + get: NotificationPreferences_getSpecificUpdate + put: NotificationPreferences_updateUserUpdateNotificationPreference +operationTags: {} +renameTags: {} +requestSchemaNames: + /incidents/{id}/private-subscribers: + post: + application/json: IncidentsAddSubscribersRequest + /services/{id}/private-subscribers: + put: + application/json: ServicesSetPrivateSubscribersRequest +responseDescriptions: {} +responseSchemaNames: + /alert-actions: + get: + '200': + application/json: AlertActionsGetListResponse + /alert-sources: + get: + '200': + application/json: AlertSourcesListSourcesResponse + /alerts: + get: + '200': + application/json: AlertsListMatchingCriteriaResponse + /alerts/{id}/log-entries: + get: + '200': + application/json: AlertsGetLogEntriesResponse + /alerts/{id}/notifications: + get: + '200': + application/json: AlertsGetNotificationsResponse + /alerts/{id}/suggested-responders: + get: + '200': + application/json: AlertsGetAssignableRespondersResponse + /automation-rules: + get: + '200': + application/json: AutomationRulesGetDeprecatedRulesResponse + /connectors: + get: + '200': + application/json: ConnectorsGetAvailableConnectorsResponse + /escalation-policies: + get: + '200': + application/json: EscalationPoliciesListPoliciesResponse + /incident-templates: + get: + '200': + application/json: IncidentTemplatesGetListResponse + /incidents: + get: + '200': + application/json: IncidentsGetIncidentListResponse + /incidents/publish-info: + post: + '200': + application/json: IncidentsForecastAffectedSubscribersAndStatusPagesResponse + /incidents/{id}/private-subscribers: + get: + '200': + application/json: IncidentsGetPrivateSubscribersResponse + /integrations: + get: + '200': + application/json: IntegrationsListAvailableResponse + /maintenance-windows: + get: + '200': + application/json: MaintenanceWindowsListResponse + /metric-data-sources: + get: + '200': + application/json: MetricDataSourcesListResponse + /metrics: + get: + '200': + application/json: MetricsGetMetricsResponse + /numbers: + get: + '200': + application/json: NumbersListAvailableNumbersResponse + /on-calls: + get: + '200': + application/json: OnCallsListWithFiltersResponse + /reports/alerts: + get: + '200': + application/json: ReportsListAlertMetricsResponse + /reports/alerts/summary: + get: + '200': + application/json: ReportsSummarizeAlertMetricsResponse + /reports/api-keys/usage: + get: + '200': + application/json: ReportsListApiKeyUsageMetricsResponse + /schedules: + get: + '200': + application/json: SchedulesListOnCallSchedulesResponse + /schedules/{id}/overrides: + get: + '200': + application/json: SchedulesGetOverridesByIdResponse + /schedules/{id}/shifts: + get: + '200': + application/json: SchedulesGetShiftsByIdAndDateRangeResponse + /service-outages: + get: + '200': + application/json: ServiceOutagesGetServiceOutagesResponse + /service-outages/overrides: + get: + '200': + application/json: ServiceOutagesGetOverridesResponse + /services: + get: + '200': + application/json: ServicesListAvailableServicesResponse + /services/{id}/private-subscribers: + get: + '200': + application/json: ServicesGetSubscribersResponse + /status-pages: + get: + '200': + application/json: StatusPagesGetStatusPagesResponse + /status-pages/{id}/groups: + get: + '200': + application/json: StatusPagesGetGroupsResponse + /status-pages/{id}/private-subscribers: + get: + '200': + application/json: StatusPagesGetPrivateSubscribersResponse + /support-hours: + get: + '200': + application/json: SupportHoursListResponse + /teams: + get: + '200': + application/json: TeamsGetAllResponse + /users: + get: + '200': + application/json: UsersListExistingUsersResponse + /users/{user-id}/contacts/emails: + get: + '200': + application/json: ContactsGetUserEmailsResponse + /users/{user-id}/contacts/phone-numbers: + get: + '200': + application/json: ContactsGetUserPhoneNumbersResponse + /users/{user-id}/notification-preferences/alerts: + get: + '200': + application/json: NotificationPreferencesGetUserAlertsResponse + /users/{user-id}/notification-preferences/duties: + get: + '200': + application/json: NotificationPreferencesGetUserDutyPreferencesResponse + /users/{user-id}/notification-preferences/subscriptions: + get: + '200': + application/json: NotificationPreferencesGetUserSubscriptionsResponse + /users/{user-id}/notification-preferences/updates: + get: + '200': + application/json: NotificationPreferencesGetUserUpdatePreferencesResponse +securityParameters: + If-Match: + header: false + abort-on-gaps: + query: false + connector: + query: false + exclude-overrides: + query: false + expand: + query: false + filter-types: + query: false + from: + query: false + group-by: + query: false + ignore-overrides: + query: false + include: + query: false + lang: + query: false + max-results: + query: false + members: + query: false + metric: + query: false + numbers: + query: false + policies: + query: false + policy: + query: false + policy-levels: + query: false + priority: + query: false + responders: + query: false + schedule: + query: false + schedules: + query: false + scopes: + query: false + service: + query: false + services: + query: false + source: + query: false + sources: + query: false + start-index: + query: false + states: + query: false + status-page: + query: false + timezone: + query: false + until: + query: false + user: + query: false + users: + query: false +validServerUrls: + /api: + url: /api diff --git a/sdks/db/progress/in-mobile-progress.yaml b/sdks/db/progress/in-mobile-progress.yaml new file mode 100644 index 0000000000..390f4112d4 --- /dev/null +++ b/sdks/db/progress/in-mobile-progress.yaml @@ -0,0 +1,46 @@ +examples: {} +examples_2: {} +examples_3: {} +ignorePotentialIncorrectType: true +operationIds: {} +operationTags: {} +renameTags: {} +requestSchemaNames: {} +responseDescriptions: {} +responseSchemaNames: {} +securityParameters: + CountryHint: + query: false + Encoding: + query: false + Flash: + query: false + From: + query: false + MessageId: + query: false + MsisdnCooldownInMinutes: + query: false + RespectBlacklist: + query: false + SendTime.LocalServerTime: + query: false + SendTime.UtcTime: + query: false + StatusCallbackUrl: + query: false + Text: + query: false + To: + query: false + ValidityPeriodInSeconds: + query: false + countryCode: + query: false + limit: + query: false + pageLimit: + query: false + phoneNumber: + query: false +validServerUrls: {} diff --git a/sdks/db/progress/innoship-progress.yaml b/sdks/db/progress/innoship-progress.yaml new file mode 100644 index 0000000000..25e5e8cbe3 --- /dev/null +++ b/sdks/db/progress/innoship-progress.yaml @@ -0,0 +1,244 @@ +examples: {} +examples_2: {} +examples_3: {} +operationIds: + /api/ClientLocation: + get: ClientLocation_getDetail + post: ClientLocation_createNew + /api/ClientLocation/Summary: + post: ClientLocation_createSummaryReport + /api/ClientLocation/Validate: + post: ClientLocation_validateLocationDetails + /api/ClientLocation/{id}: + delete: ClientLocation_removeById + get: ClientLocation_getById + put: ClientLocation_updateById + /api/ClientLocation/{locationId}/Courier: + post: ClientLocation_createCourier + /api/ClientLocation/{locationId}/Courier/{courierId}: + delete: ClientLocation_removeCourierById + /api/ClientLocation/{locationId}/CourierServices: + patch: ClientLocation_updateCourierServices + put: ClientLocation_updateCourierServices + /api/Courier/All: + get: Courier_getAll + /api/Courier/RequestPickup: + post: Courier_requestPickup + /api/Feedback/{from}/{to}: + get: Feedback_getBetweenDates + /api/Label/bulk: + post: Label_createBulk + /api/Label/bulk/{operationId}: + get: Label_getBulkByOperationId + /api/Label/by-courier/{courierId}/awb/{awb}: + get: Label_getByCourierAwb + /api/Label/by-courier/{courierId}/awb/{awb}/parcel/{barcodes}: + get: Label_getByAwbAndParcel + /api/Label/by-courier/{courierId}/voucher/{awb}: + get: Label_getVoucherByCourierAwb + /api/Location/ClientLocations: + get: Location_getClientLocations + /api/Location/Counties/{countryCode}: + get: Location_getCountiesByCountryCode + /api/Location/Countries: + get: Location_getCountryList + /api/Location/FixedLocation/{id}: + get: Location_getFixedLocationById + /api/Location/FixedLocations: + get: Location_getFixedLocations + /api/Location/Localities/{countyId}: + get: Location_getLocalitiesByCountyId + /api/Location/Postalcodes/Country/{CountryCode}: + get: Location_getPostalCodesByCountry + /api/Location/Postalcodes/{CountryCode}/{PostalCode}: + get: Location_getPostalCodeDetails + /api/Location/Postalcodes/{LocalityId}: + get: Location_getPostalcodesByLocalityId + /api/Manifest: + get: Manifest_reportById + post: Manifest_requestPickupAndManifestId + /api/Notifications/sendsms: + post: Notifications_sendSmsNotification + /api/OfflineOrder/Activate: + put: OfflineOrder_activateOrder + /api/OfflineOrder/Add: + post: OfflineOrder_addOrder + /api/OfflineOrder/Edit: + put: OfflineOrder_updateOrderDetails + /api/Order: + post: Order_createNewOrder + /api/Order/ReturnAwbInfo/{courierId}/{returnAwb}: + get: Order_getReturnAwbInfo + /api/Order/UpdateCustomAttributes/{courierId}/awb/{awb}: + post: Order_updateCustomAttributes + /api/Order/UpdateParcels: + post: Order_updateParcels + /api/Order/UpdateStatus: + post: Order_updateStatus + /api/Order/UploadDocuments: + post: Order_uploadDocuments + /api/Order/by-location/{externalLocationId}/{from}/{to}: + get: Order_getByLocationDates + /api/Order/file: + post: Order_uploadFile + /api/Order/multiple/simulate: + post: Order_simulateMultiple + /api/Order/simulate: + post: Order_simulateOrder + /api/Order/validate: + post: Order_validateNewOrder + /api/Order/{courierId}/awb/{awbNo}: + delete: Order_deleteExistingOrder + /api/Price: + post: Price_getPrices + /api/Track/by-awb/with-return: + post: Track_orderCourierAwbWithReturn + /api/Track/return/by-awb: + post: Track_byAwb + /api/Voucher/Activate: + post: Voucher_activateVoucher + /api/Voucher/Create: + post: Voucher_generateNewVoucher +operationTags: {} +renameTags: {} +requestSchemaNames: + /api/ClientLocation/{locationId}/CourierServices: + patch: + application/*+json: ClientLocationUpdateCourierServicesRequest3 + application/json: ClientLocationUpdateCourierServicesRequest1 + application/json-patch+json: ClientLocationUpdateCourierServicesRequest + text/json: ClientLocationUpdateCourierServicesRequest2 + put: + application/*+json: ClientLocationUpdateCourierServicesRequest7 + application/json: ClientLocationUpdateCourierServicesRequest5 + application/json-patch+json: ClientLocationUpdateCourierServicesRequest4 + text/json: ClientLocationUpdateCourierServicesRequest6 + /api/OfflineOrder/Activate: + put: + application/*+json: OfflineOrderActivateOrderRequest3 + application/json: OfflineOrderActivateOrderRequest1 + application/json-patch+json: OfflineOrderActivateOrderRequest + text/json: OfflineOrderActivateOrderRequest2 + /api/OfflineOrder/Add: + post: + application/*+json: OfflineOrderAddOrderRequest3 + application/json: OfflineOrderAddOrderRequest1 + application/json-patch+json: OfflineOrderAddOrderRequest + text/json: OfflineOrderAddOrderRequest2 + /api/OfflineOrder/Edit: + put: + application/*+json: OfflineOrderUpdateOrderDetailsRequest3 + application/json: OfflineOrderUpdateOrderDetailsRequest1 + application/json-patch+json: OfflineOrderUpdateOrderDetailsRequest + text/json: OfflineOrderUpdateOrderDetailsRequest2 + /api/Order/UpdateCustomAttributes/{courierId}/awb/{awb}: + post: + application/*+json: OrderUpdateCustomAttributesRequest3 + application/json: OrderUpdateCustomAttributesRequest1 + application/json-patch+json: OrderUpdateCustomAttributesRequest + text/json: OrderUpdateCustomAttributesRequest2 + /api/Order/UpdateStatus: + post: + application/*+json: OrderUpdateStatusRequest3 + application/json: OrderUpdateStatusRequest1 + application/json-patch+json: OrderUpdateStatusRequest + text/json: OrderUpdateStatusRequest2 + /api/Order/multiple/simulate: + post: + application/*+json: OrderSimulateMultipleRequest3 + application/json: OrderSimulateMultipleRequest1 + application/json-patch+json: OrderSimulateMultipleRequest + text/json: OrderSimulateMultipleRequest2 +responseDescriptions: {} +responseSchemaNames: + /api/Courier/All: + get: + '200': + application/json: CourierGetAllResponse + /api/Location/Postalcodes/{LocalityId}: + get: + '200': + application/json: LocationGetPostalcodesByLocalityId200Response + text/json: LocationGetPostalcodesByLocalityId200Response + text/plain: LocationGetPostalcodesByLocalityIdResponse + /api/Order/file: + post: + '201': + application/json: OrderUploadFileResponse + /api/Order/multiple/simulate: + post: + '201': + application/json: OrderSimulateMultipleResponse + '400': + application/json: OrderSimulateMultiple400Response + '401': + application/json: OrderSimulateMultiple401Response + /api/Track/by-awb/with-return: + post: + '200': + application/json: TrackOrderCourierAwbWithReturn200Response + text/json: TrackOrderCourierAwbWithReturn200Response + text/plain: TrackOrderCourierAwbWithReturnResponse + /api/Track/return/by-awb: + post: + '200': + application/json: TrackByAwb200Response + text/json: TrackByAwb200Response + text/plain: TrackByAwbResponse +securityParameters: + CountryCode: + query: false + CountyName: + query: false + Courier: + query: false + CourierId: + query: false + ExternalLocationId: + query: false + FixedLocationType: + query: false + Latitude: + query: false + LocalityName: + query: false + Longitude: + query: false + Radius: + query: false + RestrictionParcelsCount: + query: false + RestrictionSizeHeight: + query: false + RestrictionSizeLength: + query: false + RestrictionSizeWidth: + query: false + ShowInactive: + query: false + api-version: + header: false + query: false + applyToAllLocations: + query: false + countryCode: + query: false + filter: + query: false + force: + query: false + format: + query: false + includeVoucher: + query: false + isEmagMarketPlace: + query: false + manifestId: + query: false + skipCache: + query: false + type: + query: false + useFile: + query: false +validServerUrls: {} diff --git a/sdks/db/published/from-custom-request_fordefi.com.json b/sdks/db/published/from-custom-request_fordefi.com.json index 756bf4f807..832c6e9ee3 100644 --- a/sdks/db/published/from-custom-request_fordefi.com.json +++ b/sdks/db/published/from-custom-request_fordefi.com.json @@ -23,7 +23,7 @@ "company": "FORDEFI", "sdkName": "fordefi-{language}-sdk", "clientName": "Fordefi", - "metaDescription": "The future of institutional web3 wallets. \n\nFor builders, traders, and operators, Fordefi's comprehensive MPC wallet platform and web3 gateway enables you to securely self-custody your private keys, seamlessly connect to thousands of dApps across any blockchain, protect your workflows with granular policies, and manage your digital asset operations all-in-one place.", + "metaDescription": "The future of institutional web3 wallets.\n\nFor builders, traders, and operators, Fordefi's comprehensive MPC wallet platform and web3 gateway enables you to securely self-custody your private keys, seamlessly connect to thousands of dApps across any blockchain, protect your workflows with granular policies, and manage your digital asset operations all-in-one place.", "apiStatusUrls": "inherit", "homepage": "fordefi.com", "developerDocumentation": "docs.fordefi.com/reference/api-overview", @@ -33,7 +33,7 @@ "mpc_wallet" ], "category": "Finance", - "apiDescription": "The future of institutional web3 wallets. \n\nFor builders, traders, and operators, Fordefi's comprehensive MPC wallet platform and web3 gateway enables you to securely self-custody your private keys, seamlessly connect to thousands of dApps across any blockchain, protect your workflows with granular policies, and manage your digital asset operations all-in-one place.", + "apiDescription": "The future of institutional web3 wallets.\n\nFor builders, traders, and operators, Fordefi's comprehensive MPC wallet platform and web3 gateway enables you to securely self-custody your private keys, seamlessly connect to thousands of dApps across any blockchain, protect your workflows with granular policies, and manage your digital asset operations all-in-one place.", "methods": [ { "url": "/api/v1/blockchains", @@ -3040,14 +3040,14 @@ ] } ], - "repositoryDescription": "Institutional web3 wallets for builders, traders, and operators. Securely self-custody private keys, connect to dApps, protect workflows with policies, manage digital assets in one place. FORDEFI's {language} SDK generated by Konfig (https://konfigthis.com/).", + "repositoryDescription": "Fordefi: The ultimate MPC wallet for web3, enabling secure key custody, dApp connectivity, policy protection, and asset management in one platform. FORDEFI's {language} SDK generated by Konfig (https://konfigthis.com/).", "logo": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/fordefi/logo.png", "openApiRaw": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/fordefi/openapi.yaml", "openApiGitHubUi": "https://github.com/konfig-sdks/openapi-examples/tree/HEAD/fordefi/openapi.yaml", "previewLinkImage": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/fordefi/imagePreview.jpg", "faviconUrl": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/fordefi/favicon.png", "clientNameCamelCase": "fordefi", - "lastUpdated": "2024-03-29T21:57:13.775Z", + "lastUpdated": "2024-03-29T22:11:39.095Z", "typescriptSdkUsageCode": "import { Fordefi } from 'fordefi-typescript-sdk';\n\nconst fordefi = new Fordefi({\n bearerAuth: \"BEARER_AUTH\"\n})", "typescriptSdkFirstRequestCode": "// List Chains\nconst getListResponse = fordefi.blockchains.getList()", "fixedSpecFileName": "fordefi-fixed-spec.yaml" diff --git a/sdks/db/published/from-custom-request_griffin.com.json b/sdks/db/published/from-custom-request_griffin.com.json index 0c9b08af02..d3609e89e5 100644 --- a/sdks/db/published/from-custom-request_griffin.com.json +++ b/sdks/db/published/from-custom-request_griffin.com.json @@ -21,7 +21,7 @@ }, "customRequestSpecFilename": "griffin.com.yaml", "difficultyScore": 118.75, - "difficulty": "Medium", + "difficulty": "Easy", "company": "Griffin", "sdkName": "griffin-{language}-sdk", "clientName": "Griffin", @@ -3250,7 +3250,7 @@ "previewLinkImage": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/griffin/imagePreview.jpg", "faviconUrl": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/griffin/favicon.png", "clientNameCamelCase": "griffin", - "lastUpdated": "2024-03-25T20:47:15.965Z", + "lastUpdated": "2024-03-29T22:11:39.095Z", "typescriptSdkUsageCode": "import { Griffin } from 'griffin-typescript-sdk';\n\nconst griffin = new Griffin({\n /*\n * API token authentication.\n * It should follow the format: `GriffinAPIKey g-test-MyKey-XXXXXXX`\n */\n apiKeyAuth: \"AUTHORIZATION\"\n})", "typescriptSdkFirstRequestCode": "// Index\nconst globalPathsFetchResponse = griffin.navigation.globalPathsFetch()", "fixedSpecFileName": "griffin-fixed-spec.yaml" diff --git a/sdks/db/published/from-custom-request_ilert.com.json b/sdks/db/published/from-custom-request_ilert.com.json new file mode 100644 index 0000000000..38fda00b80 --- /dev/null +++ b/sdks/db/published/from-custom-request_ilert.com.json @@ -0,0 +1,6921 @@ +{ + "securitySchemes": { + "apiKey": { + "type": "apiKey", + "in": "header", + "name": "Authorization", + "description": "The Bearer API key of your user more info." + } + }, + "apiBaseUrl": "/api", + "apiVersion": "", + "apiDescription": "\nThe ilert API is a [RESTful](https://en.wikipedia.org/wiki/Representational_state_transfer) API and provides programmatic access to entities in ilert and lets you easily integrate ilert with 3rd party tools. If you are looking to develop an inbound integration (e.g. for a monitoring tool), please use our [Events API](https://api.ilert.com). \n\nThe API supports the JSON content type for requests and responses. The response content type is requested via the HTTP Accept header (`application/json`). All resources are accessible via https and are located at `api.ilert.com/api`. \n## Authentication\nThe REST API accepts bearer API tokens. Each user may create API keys using the ilert web application. Note: Make sure to send the `Bearer ` prefix e.g. `Bearer APIKEY` when sending api key requests. By default, access to all resources (using any method) requires the client to be authenticated.\n\n## Team Context\n When using API tokens, the currently selected team context of the user will not be taken into account, i.e. list results will always return all entities to which the user has a view permission. When using basic auth credentials the currently selected team context of the user will be used to filter resource results. The context may be overwritten for API key calls using the `team-context` HTTP header. Specifying `0` for ALL teams, `-1` for MY teams or a specific team id e.g. `team-context=901` to fetch results for a certain team. \n\n## Errors\nilert uses HTTP response codes to indicate success or failure of an API request. Codes in the 2xx range indicate success, codes in the 4xx range indicate a client error (e.g. a missing required parameter) and codes in the 5xx range indicate an error with ilert's servers. In case of an error, the response body contains the following information:\n\n Attribute | Description \n ------------- | ------------- \n status | the corresponsing HTTP status code \n message | a human readable description of the error \n code | error code, used to identify error type \n\n## API Versioning\nChanges to our API are always backwards-compatible. To get more information about our API versioning and historical changes, please take a look here.", + "apiTitle": "ilert REST API", + "endpoints": 80, + "sdkMethods": 162, + "schemas": 207, + "parameters": 713, + "originalCustomRequest": { + "type": "GET", + "url": "https://api.ilert.com/api-docs/swagger.json" + }, + "customRequestSpecFilename": "ilert.com.yaml", + "difficultyScore": 422.25, + "difficulty": "Hard", + "company": "ilert", + "sdkName": "ilert-{language}-sdk", + "clientName": "Ilert", + "metaDescription": "ilert is a SaaS company for alerting, on-call management and incident communication and helps companies to increase their digital uptime. B2C and B2B companies from across the globe, including well-known brands such as Bertelsmann, TeamViewer and REWE, trust ilert to empower their operations teams and ensure everything is running smoothly.", + "apiStatusUrls": "inherit", + "homepage": "ilert.com", + "developerDocumentation": "api.ilert.com/api-docs", + "categories": [ + "alerting", + "on_call_management", + "incident_communication" + ], + "category": "Compliance & Security", + "methods": [ + { + "url": "/users/{user-id}", + "method": "deleteUser", + "httpMethod": "delete", + "tag": "Users", + "typeScriptTag": "users", + "description": "Delete the specified user.", + "parameters": [ + { + "name": "userId", + "schema": "string", + "required": true, + "description": "numeric user id", + "example": "USER-ID" + } + ], + "responses": [ + { + "statusCode": "204", + "description": "if deletion was successful" + } + ] + }, + { + "url": "/users/{user-id}", + "method": "getUserById", + "httpMethod": "get", + "tag": "Users", + "typeScriptTag": "users", + "description": "Get the specified user.", + "parameters": [ + { + "name": "userId", + "schema": "string", + "required": true, + "description": "numeric user id", + "example": "USER-ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/users/{user-id}", + "method": "updateExistingUser", + "httpMethod": "put", + "tag": "Users", + "typeScriptTag": "users", + "description": "Update an existing user.", + "parameters": [ + { + "name": "userId", + "schema": "string", + "required": true, + "description": "numeric user id", + "example": "USER-ID" + }, + { + "name": "id", + "schema": "integer", + "required": false, + "description": "" + }, + { + "name": "firstName", + "schema": "string", + "required": true, + "description": "", + "example": "FIRSTNAME" + }, + { + "name": "lastName", + "schema": "string", + "required": true, + "description": "", + "example": "LASTNAME" + }, + { + "name": "email", + "schema": "string", + "required": true, + "description": "", + "example": "EMAIL" + }, + { + "name": "timezone", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "position", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "department", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "avatarUrl", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "language", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "role", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "shiftColor", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "mutedUntil", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "createdAt", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "updatedAt", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/users/{user-id}/contacts/emails", + "method": "getUserEmails", + "httpMethod": "get", + "tag": "Contacts", + "typeScriptTag": "contacts", + "description": "Get a user's emails", + "parameters": [ + { + "name": "userId", + "schema": "string", + "required": true, + "description": "numeric user id", + "example": "USER-ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/users/{user-id}/contacts/emails", + "method": "addNewEmail", + "httpMethod": "post", + "tag": "Contacts", + "typeScriptTag": "contacts", + "description": "Create a new email", + "parameters": [ + { + "name": "userId", + "schema": "string", + "required": true, + "description": "numeric user id", + "example": "USER-ID" + }, + { + "name": "target", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/users/{user-id}/contacts/emails/{id}", + "method": "deleteUserEmail", + "httpMethod": "delete", + "tag": "Contacts", + "typeScriptTag": "contacts", + "description": "Delete the user's specified email", + "parameters": [ + { + "name": "userId", + "schema": "string", + "required": true, + "description": "numeric user id", + "example": "USER-ID" + }, + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "204", + "description": "if deletion was successful" + } + ] + }, + { + "url": "/users/{user-id}/contacts/emails/{id}", + "method": "getEmail", + "httpMethod": "get", + "tag": "Contacts", + "typeScriptTag": "contacts", + "description": "Get a specific email", + "parameters": [ + { + "name": "userId", + "schema": "string", + "required": true, + "description": "numeric user id", + "example": "USER-ID" + }, + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/users/{user-id}/contacts/emails/{id}", + "method": "updateUserEmail", + "httpMethod": "put", + "tag": "Contacts", + "typeScriptTag": "contacts", + "description": "Update a user's email", + "parameters": [ + { + "name": "userId", + "schema": "string", + "required": true, + "description": "numeric user id", + "example": "USER-ID" + }, + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + }, + { + "name": "target", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/users/{user-id}/contacts/phone-numbers", + "method": "getUserPhoneNumbers", + "httpMethod": "get", + "tag": "Contacts", + "typeScriptTag": "contacts", + "description": "Get a user's phone numbers", + "parameters": [ + { + "name": "userId", + "schema": "string", + "required": true, + "description": "numeric user id", + "example": "USER-ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/users/{user-id}/contacts/phone-numbers", + "method": "createPhoneNumber", + "httpMethod": "post", + "tag": "Contacts", + "typeScriptTag": "contacts", + "description": "Create a phone number", + "parameters": [ + { + "name": "userId", + "schema": "string", + "required": true, + "description": "numeric user id", + "example": "USER-ID" + }, + { + "name": "regionCode", + "schema": "string", + "description": "" + }, + { + "name": "target", + "schema": "string", + "description": "" + }, + { + "name": "primary", + "schema": "boolean", + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/users/{user-id}/contacts/phone-numbers/{id}", + "method": "deletePhoneNumber", + "httpMethod": "delete", + "tag": "Contacts", + "typeScriptTag": "contacts", + "description": "Delete the user's specified phone number", + "parameters": [ + { + "name": "userId", + "schema": "string", + "required": true, + "description": "numeric user id", + "example": "USER-ID" + }, + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "204", + "description": "if deletion was successful" + } + ] + }, + { + "url": "/users/{user-id}/contacts/phone-numbers/{id}", + "method": "getPhoneNumber", + "httpMethod": "get", + "tag": "Contacts", + "typeScriptTag": "contacts", + "description": "Get specific phone number", + "parameters": [ + { + "name": "userId", + "schema": "string", + "required": true, + "description": "numeric user id", + "example": "USER-ID" + }, + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/users/{user-id}/contacts/phone-numbers/{id}", + "method": "updateUserPhoneNumber", + "httpMethod": "put", + "tag": "Contacts", + "typeScriptTag": "contacts", + "description": "Update a user's phone number", + "parameters": [ + { + "name": "userId", + "schema": "string", + "required": true, + "description": "numeric user id", + "example": "USER-ID" + }, + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + }, + { + "name": "regionCode", + "schema": "string", + "description": "" + }, + { + "name": "target", + "schema": "string", + "description": "" + }, + { + "name": "primary", + "schema": "boolean", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/users/{user-id}/notification-preferences/alerts", + "method": "getUserAlerts", + "httpMethod": "get", + "tag": "Notification Preferences", + "typeScriptTag": "notificationPreferences", + "description": "Get alert notification preferences of a user", + "parameters": [ + { + "name": "userId", + "schema": "string", + "required": true, + "description": "numeric user id", + "example": "USER-ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/users/{user-id}/notification-preferences/alerts", + "method": "createAlertPreference", + "httpMethod": "post", + "tag": "Notification Preferences", + "typeScriptTag": "notificationPreferences", + "description": "Create an alert notification preference", + "parameters": [ + { + "name": "userId", + "schema": "string", + "required": true, + "description": "numeric user id", + "example": "USER-ID" + }, + { + "name": "method", + "schema": "string", + "description": "" + }, + { + "name": "contact", + "schema": "undefined", + "description": "" + }, + { + "name": "delayMin", + "schema": "integer", + "description": "" + }, + { + "name": "type", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/users/{user-id}/notification-preferences/alerts/{id}", + "method": "deleteUserNotificationPreferencesAlert", + "httpMethod": "delete", + "tag": "Notification Preferences", + "typeScriptTag": "notificationPreferences", + "description": "Delete the user's specified notification preferences alert", + "parameters": [ + { + "name": "userId", + "schema": "string", + "required": true, + "description": "numeric user id", + "example": "USER-ID" + }, + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "204", + "description": "if deletion was successful" + } + ] + }, + { + "url": "/users/{user-id}/notification-preferences/alerts/{id}", + "method": "getSpecificAlert", + "httpMethod": "get", + "tag": "Notification Preferences", + "typeScriptTag": "notificationPreferences", + "description": "Get specific notification preferences alert", + "parameters": [ + { + "name": "userId", + "schema": "string", + "required": true, + "description": "numeric user id", + "example": "USER-ID" + }, + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/users/{user-id}/notification-preferences/alerts/{id}", + "method": "updateAlertPreference", + "httpMethod": "put", + "tag": "Notification Preferences", + "typeScriptTag": "notificationPreferences", + "description": "Update a user's alert notification preference", + "parameters": [ + { + "name": "userId", + "schema": "string", + "required": true, + "description": "numeric user id", + "example": "USER-ID" + }, + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + }, + { + "name": "method", + "schema": "string", + "description": "" + }, + { + "name": "contact", + "schema": "undefined", + "description": "" + }, + { + "name": "delayMin", + "schema": "integer", + "description": "" + }, + { + "name": "type", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/users/{user-id}/notification-preferences/duties", + "method": "getUserDutyPreferences", + "httpMethod": "get", + "tag": "Notification Preferences", + "typeScriptTag": "notificationPreferences", + "description": "Get duty notification preferences of a user", + "parameters": [ + { + "name": "userId", + "schema": "string", + "required": true, + "description": "numeric user id", + "example": "USER-ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/users/{user-id}/notification-preferences/duties", + "method": "createDuty", + "httpMethod": "post", + "tag": "Notification Preferences", + "typeScriptTag": "notificationPreferences", + "description": "Create a duty notification preference", + "parameters": [ + { + "name": "userId", + "schema": "string", + "required": true, + "description": "numeric user id", + "example": "USER-ID" + }, + { + "name": "beforeMin", + "schema": "integer", + "description": "" + }, + { + "name": "contact", + "schema": "undefined", + "description": "" + }, + { + "name": "method", + "schema": "string", + "description": "" + }, + { + "name": "type", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/users/{user-id}/notification-preferences/duties/{id}", + "method": "deleteUserNotificationDuty", + "httpMethod": "delete", + "tag": "Notification Preferences", + "typeScriptTag": "notificationPreferences", + "description": "Delete the user's specified notification preferences duty", + "parameters": [ + { + "name": "userId", + "schema": "string", + "required": true, + "description": "numeric user id", + "example": "USER-ID" + }, + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "204", + "description": "if deletion was successful" + } + ] + }, + { + "url": "/users/{user-id}/notification-preferences/duties/{id}", + "method": "getSpecificDuty", + "httpMethod": "get", + "tag": "Notification Preferences", + "typeScriptTag": "notificationPreferences", + "description": "Get specific notification preferences duty", + "parameters": [ + { + "name": "userId", + "schema": "string", + "required": true, + "description": "numeric user id", + "example": "USER-ID" + }, + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/users/{user-id}/notification-preferences/duties/{id}", + "method": "updateDutyNotificationPreference", + "httpMethod": "put", + "tag": "Notification Preferences", + "typeScriptTag": "notificationPreferences", + "description": "Update a user's duty notification preference", + "parameters": [ + { + "name": "userId", + "schema": "string", + "required": true, + "description": "numeric user id", + "example": "USER-ID" + }, + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + }, + { + "name": "beforeMin", + "schema": "integer", + "description": "" + }, + { + "name": "contact", + "schema": "undefined", + "description": "" + }, + { + "name": "method", + "schema": "string", + "description": "" + }, + { + "name": "type", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/users/{user-id}/notification-preferences/updates", + "method": "getUserUpdatePreferences", + "httpMethod": "get", + "tag": "Notification Preferences", + "typeScriptTag": "notificationPreferences", + "description": "Get update notification preferences of a user", + "parameters": [ + { + "name": "userId", + "schema": "string", + "required": true, + "description": "numeric user id", + "example": "USER-ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/users/{user-id}/notification-preferences/updates", + "method": "createUpdatePreference", + "httpMethod": "post", + "tag": "Notification Preferences", + "typeScriptTag": "notificationPreferences", + "description": "Create an update notification preference", + "parameters": [ + { + "name": "userId", + "schema": "string", + "required": true, + "description": "numeric user id", + "example": "USER-ID" + }, + { + "name": "contact", + "schema": "undefined", + "description": "" + }, + { + "name": "method", + "schema": "string", + "description": "" + }, + { + "name": "type", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/users/{user-id}/notification-preferences/updates/{id}", + "method": "deleteUpdate", + "httpMethod": "delete", + "tag": "Notification Preferences", + "typeScriptTag": "notificationPreferences", + "description": "Delete the user's specified notification preferences update", + "parameters": [ + { + "name": "userId", + "schema": "string", + "required": true, + "description": "numeric user id", + "example": "USER-ID" + }, + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "204", + "description": "if deletion was successful" + } + ] + }, + { + "url": "/users/{user-id}/notification-preferences/updates/{id}", + "method": "getSpecificUpdate", + "httpMethod": "get", + "tag": "Notification Preferences", + "typeScriptTag": "notificationPreferences", + "description": "Get specific notification preferences update", + "parameters": [ + { + "name": "userId", + "schema": "string", + "required": true, + "description": "numeric user id", + "example": "USER-ID" + }, + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/users/{user-id}/notification-preferences/updates/{id}", + "method": "updateUserUpdateNotificationPreference", + "httpMethod": "put", + "tag": "Notification Preferences", + "typeScriptTag": "notificationPreferences", + "description": "Update a user's update notification preference", + "parameters": [ + { + "name": "userId", + "schema": "string", + "required": true, + "description": "numeric user id", + "example": "USER-ID" + }, + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + }, + { + "name": "contact", + "schema": "undefined", + "description": "" + }, + { + "name": "method", + "schema": "string", + "description": "" + }, + { + "name": "type", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/users/{user-id}/notification-preferences/subscriptions", + "method": "getUserSubscriptions", + "httpMethod": "get", + "tag": "Notification Preferences", + "typeScriptTag": "notificationPreferences", + "description": "Get subscription notification preferences of a user", + "parameters": [ + { + "name": "userId", + "schema": "string", + "required": true, + "description": "numeric user id", + "example": "USER-ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/users/{user-id}/notification-preferences/subscriptions", + "method": "createSubscriptionNotificationPreference", + "httpMethod": "post", + "tag": "Notification Preferences", + "typeScriptTag": "notificationPreferences", + "description": "Create a subscription notification preference", + "parameters": [ + { + "name": "userId", + "schema": "string", + "required": true, + "description": "numeric user id", + "example": "USER-ID" + }, + { + "name": "contact", + "schema": "undefined", + "description": "" + }, + { + "name": "method", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/users/{user-id}/notification-preferences/subscriptions/{id}", + "method": "deleteSubscription", + "httpMethod": "delete", + "tag": "Notification Preferences", + "typeScriptTag": "notificationPreferences", + "description": "Delete the user's specified notification preferences subscription", + "parameters": [ + { + "name": "userId", + "schema": "string", + "required": true, + "description": "numeric user id", + "example": "USER-ID" + }, + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "204", + "description": "if deletion was successful" + } + ] + }, + { + "url": "/users/{user-id}/notification-preferences/subscriptions/{id}", + "method": "getSpecificSubscription", + "httpMethod": "get", + "tag": "Notification Preferences", + "typeScriptTag": "notificationPreferences", + "description": "Get specific notification preferences subscription", + "parameters": [ + { + "name": "userId", + "schema": "string", + "required": true, + "description": "numeric user id", + "example": "USER-ID" + }, + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/users/{user-id}/notification-preferences/subscriptions/{id}", + "method": "updateSubscriptionPreference", + "httpMethod": "put", + "tag": "Notification Preferences", + "typeScriptTag": "notificationPreferences", + "description": "Update a user's subscription notification preference", + "parameters": [ + { + "name": "userId", + "schema": "string", + "required": true, + "description": "numeric user id", + "example": "USER-ID" + }, + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + }, + { + "name": "contact", + "schema": "undefined", + "description": "" + }, + { + "name": "method", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/numbers", + "method": "listAvailableNumbers", + "httpMethod": "get", + "tag": "Numbers", + "typeScriptTag": "numbers", + "description": "List available phone numbers that ilert uses to send voice and SMS notifications", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/integrations", + "method": "listAvailable", + "httpMethod": "get", + "tag": "Integrations", + "typeScriptTag": "integrations", + "description": "List available inbound and outbound integrations. Note: this resource is paginated.", + "parameters": [ + { + "name": "startIndex", + "schema": "integer", + "required": false, + "description": "an integer specifying the starting point (beginning with 0) when paging through a list of entities", + "default": 0 + }, + { + "name": "maxResults", + "schema": "integer", + "required": false, + "description": "the maximum number of results when paging through a list of entities.", + "default": 50 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/users", + "method": "listExistingUsers", + "httpMethod": "get", + "tag": "Users", + "typeScriptTag": "users", + "description": "List existing users.", + "parameters": [ + { + "name": "startIndex", + "schema": "integer", + "required": false, + "description": "an integer specifying the starting point (beginning with 0) when paging through a list of entities", + "default": 0 + }, + { + "name": "maxResults", + "schema": "integer", + "required": false, + "description": "the maximum number of results when paging through a list of entities.", + "default": 50 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/users", + "method": "createNewUser", + "httpMethod": "post", + "tag": "Users", + "typeScriptTag": "users", + "description": "Create a new user. Requires ADMIN privileges.", + "parameters": [ + { + "name": "firstName", + "schema": "string", + "required": true, + "description": "", + "example": "FIRSTNAME" + }, + { + "name": "lastName", + "schema": "string", + "required": true, + "description": "", + "example": "LASTNAME" + }, + { + "name": "email", + "schema": "string", + "required": true, + "description": "", + "example": "EMAIL" + }, + { + "name": "timezone", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "position", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "department", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "avatarUrl", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "language", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "role", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "shiftColor", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/users/current", + "method": "getCurrentUser", + "httpMethod": "get", + "tag": "Users", + "typeScriptTag": "users", + "description": "Get the currently authenticated user.", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/users/current", + "method": "updateCurrentUser", + "httpMethod": "put", + "tag": "Users", + "typeScriptTag": "users", + "description": "Update the current user.", + "parameters": [ + { + "name": "firstName", + "schema": "string", + "required": true, + "description": "", + "example": "FIRSTNAME" + }, + { + "name": "lastName", + "schema": "string", + "required": true, + "description": "", + "example": "LASTNAME" + }, + { + "name": "email", + "schema": "string", + "required": true, + "description": "", + "example": "EMAIL" + }, + { + "name": "timezone", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "position", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "department", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "avatarUrl", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "language", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "role", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "shiftColor", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/alerts", + "method": "listMatchingCriteria", + "httpMethod": "get", + "tag": "Alerts", + "typeScriptTag": "alerts", + "description": "List alerts (optionally matching certain criteria that are specified by query parameters).", + "parameters": [ + { + "name": "startIndex", + "schema": "integer", + "required": false, + "description": "an integer specifying the starting point (beginning with 0) when paging through a list of entities", + "default": 0 + }, + { + "name": "maxResults", + "schema": "integer", + "required": false, + "description": "the maximum number of results when paging through a list of entities.", + "default": 50 + }, + { + "name": "include", + "schema": "array", + "required": false, + "description": "Describes optional properties that should be included in the response. You may declare multiple. (https://api.ilert.com/api-docs" + }, + { + "name": "states", + "schema": "array", + "description": "state of the alert" + }, + { + "name": "sources", + "schema": "array", + "description": "alert source IDs of the alert's alert source" + }, + { + "name": "policies", + "schema": "array", + "description": "escalation policy IDs of the alert's escalation policy" + }, + { + "name": "responders", + "schema": "array", + "description": "user ids of the user that is a responder of the alert" + }, + { + "name": "from", + "schema": "string", + "description": "from date, ISO-UTC e.g. 2021-05-25T21:24:56.771Z, based on reportTime" + }, + { + "name": "until", + "schema": "string", + "description": "until date, ISO-UTC e.g. 2021-05-26T21:24:56.771Z, based on reportTime" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/alerts", + "method": "createCustomizedAlert", + "httpMethod": "post", + "tag": "Alerts", + "typeScriptTag": "alerts", + "description": "Create alerts with customised parameters without requiring events from monitoring tools that use our Events API.", + "parameters": [ + { + "name": "summary", + "schema": "string", + "required": true, + "description": "", + "example": "SUMMARY" + }, + { + "name": "details", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "alertSource", + "schema": "object", + "required": true, + "description": "" + }, + { + "name": "escalationPolicy", + "schema": "object", + "required": false, + "description": "" + }, + { + "name": "priority", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "assignedTo", + "schema": "object", + "required": false, + "description": "" + }, + { + "name": "images", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "links", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "responders", + "schema": "array", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/alerts/count", + "method": "getAlertCountMatchingCriteria", + "httpMethod": "get", + "tag": "Alerts", + "typeScriptTag": "alerts", + "description": "Get the alert count matching the specified criteria.", + "parameters": [ + { + "name": "states", + "schema": "array", + "description": "state of the alert" + }, + { + "name": "sources", + "schema": "array", + "description": "alert source IDs of the alert's alert source" + }, + { + "name": "responders", + "schema": "array", + "description": "user ids of the user that is a responder of the alert" + }, + { + "name": "from", + "schema": "string", + "description": "from date" + }, + { + "name": "until", + "schema": "string", + "description": "until date" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/alerts/{id}", + "method": "getById", + "httpMethod": "get", + "tag": "Alerts", + "typeScriptTag": "alerts", + "description": "Get the alert with the specified id.", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + }, + { + "name": "include", + "schema": "array", + "required": false, + "description": "Describes optional properties that should be included in the response. You may declare multiple. (escalationRules, nextEscalationUser)" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/alerts/{id}/suggested-responders", + "method": "getAssignableResponders", + "httpMethod": "get", + "tag": "Alerts", + "typeScriptTag": "alerts", + "description": "Get available (https://api.ilert.com/api-docs responders for the alert with the specified id.", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + }, + { + "name": "lang", + "schema": "string", + "description": "locale for response text eg. 'en' or 'de'" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/alerts/{id}/responders", + "method": "addResponder", + "httpMethod": "post", + "tag": "Alerts", + "typeScriptTag": "alerts", + "description": "Add an additional responder to the alert.", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "404", + "description": "Responder did not exist" + }, + { + "statusCode": "405", + "description": "Responder is already present on the alert" + } + ] + }, + { + "url": "/alerts/{id}/responders/{user-id}", + "method": "removeResponder", + "httpMethod": "delete", + "tag": "Alerts", + "typeScriptTag": "alerts", + "description": "Remove a responder from the alert.", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + }, + { + "name": "userId", + "schema": "string", + "required": true, + "description": "numeric user id", + "example": "USER-ID" + } + ], + "responses": [ + { + "statusCode": "204", + "description": "Responder has been removed" + }, + { + "statusCode": "404", + "description": "Responder did not exist" + } + ] + }, + { + "url": "/alerts/{id}/assign", + "method": "assignAlertTo", + "httpMethod": "put", + "tag": "Alerts", + "typeScriptTag": "alerts", + "description": "Assign the alert.", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + }, + { + "name": "user", + "schema": "string", + "description": "numeric user id" + }, + { + "name": "policy", + "schema": "string", + "description": "numeric policy id" + }, + { + "name": "schedule", + "schema": "string", + "description": "numeric schedule id" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/alerts/{id}/accept", + "method": "acceptAlert", + "httpMethod": "put", + "tag": "Alerts", + "typeScriptTag": "alerts", + "description": "Accept the Alert.", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/alerts/{id}/resolve", + "method": "resolveAlert", + "httpMethod": "put", + "tag": "Alerts", + "typeScriptTag": "alerts", + "description": "Resolve the alert.", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/alerts/{id}/notifications", + "method": "getNotifications", + "httpMethod": "get", + "tag": "Alerts", + "typeScriptTag": "alerts", + "description": "Get notifications for the specified alert.", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/alerts/{id}/log-entries", + "method": "getLogEntries", + "httpMethod": "get", + "tag": "Alerts", + "typeScriptTag": "alerts", + "description": "Get log entries for the specified alert.", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + }, + { + "name": "lang", + "schema": "string", + "description": "log entry language" + }, + { + "name": "startIndex", + "schema": "integer", + "required": false, + "description": "an integer specifying the starting point (beginning with 0) when paging through a list of entities", + "default": 0 + }, + { + "name": "maxResults", + "schema": "integer", + "required": false, + "description": "the maximum number of results when paging through a list of entities.", + "default": 50 + }, + { + "name": "include", + "schema": "array", + "required": false, + "description": "Describes optional properties that should be included in the response. You may declare multiple. (https://api.ilert.com/api-docs" + }, + { + "name": "filterTypes", + "schema": "array", + "description": "filter-type (https://api.ilert.com/api-docs of the log" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/alerts/{id}/actions", + "method": "getAvailableActions", + "httpMethod": "get", + "tag": "Alert Actions", + "typeScriptTag": "alertActions", + "description": "Get available actions for specified alert.", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/alerts/{id}/actions", + "method": "invokeSpecificAction", + "httpMethod": "post", + "tag": "Alert Actions", + "typeScriptTag": "alertActions", + "description": "Invoke a specific alert action.", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + }, + { + "name": "alertActionId", + "schema": "string", + "description": "" + }, + { + "name": "connectorId", + "schema": "string", + "description": "" + }, + { + "name": "type", + "schema": "string", + "description": "" + }, + { + "name": "name", + "schema": "string", + "description": "" + }, + { + "name": "iconUrl", + "schema": "string", + "description": "" + }, + { + "name": "history", + "schema": "array", + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/schedules", + "method": "listOnCallSchedules", + "httpMethod": "get", + "tag": "Schedules", + "typeScriptTag": "schedules", + "description": "List on-call schedules.", + "parameters": [ + { + "name": "include", + "schema": "array", + "required": false, + "description": "Describes optional properties that should be included in the response. You may declare multiple. (currentShift, nextShift, scheduleLayers [only available for RECURRING schedules], shifts [only available for STATIC schedules], past [show shifts in the past, only for STATIC])" + }, + { + "name": "startIndex", + "schema": "integer", + "required": false, + "description": "an integer specifying the starting point (beginning with 0) when paging through a list of entities", + "default": 0 + }, + { + "name": "maxResults", + "schema": "integer", + "required": false, + "description": "the maximum number of results when paging through a list of schedules.", + "default": 20 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/schedules", + "method": "createNewOnCallSchedule", + "httpMethod": "post", + "tag": "Schedules", + "typeScriptTag": "schedules", + "description": "Create a new on-call schedule.", + "parameters": [ + { + "name": "abortOnGaps", + "schema": "boolean", + "required": false, + "description": "Used for static schedules to prevent creating schedules with gaps" + }, + { + "name": "id", + "schema": "integer", + "description": "" + }, + { + "name": "name", + "schema": "string", + "description": "" + }, + { + "name": "timezone", + "schema": "string", + "description": "" + }, + { + "name": "type", + "schema": "string", + "description": "" + }, + { + "name": "scheduleLayers", + "schema": "array", + "description": "" + }, + { + "name": "shifts", + "schema": "array", + "description": "" + }, + { + "name": "showGaps", + "schema": "boolean", + "description": "" + }, + { + "name": "defaultShiftDuration", + "schema": "string", + "description": "" + }, + { + "name": "currentShift", + "schema": "object", + "description": "" + }, + { + "name": "nextShift", + "schema": "object", + "description": "" + }, + { + "name": "teams", + "schema": "array", + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/schedules/{id}", + "method": "deleteScheduleById", + "httpMethod": "delete", + "tag": "Schedules", + "typeScriptTag": "schedules", + "description": "Delete the on-call schedule with the specified id.", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "204", + "description": "empty response" + } + ] + }, + { + "url": "/schedules/{id}", + "method": "getById", + "httpMethod": "get", + "tag": "Schedules", + "typeScriptTag": "schedules", + "description": "Get the on-call schedule with the specified id.", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + }, + { + "name": "include", + "schema": "array", + "required": false, + "description": "Describes optional properties that should be included in the response. You may declare multiple. (currentShift, nextShift, scheduleLayers [only available for RECURRING schedules], shifts [only available for STATIC schedules], past [show shifts in the past, only for STATIC])" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/schedules/{id}", + "method": "updateOnCallSchedule", + "httpMethod": "put", + "tag": "Schedules", + "typeScriptTag": "schedules", + "description": "Update an on-call schedule.", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + }, + { + "name": "abortOnGaps", + "schema": "boolean", + "required": false, + "description": "Used for static schedules to prevent updating schedules with gaps" + }, + { + "name": "id", + "schema": "integer", + "description": "" + }, + { + "name": "name", + "schema": "string", + "description": "" + }, + { + "name": "timezone", + "schema": "string", + "description": "" + }, + { + "name": "type", + "schema": "string", + "description": "" + }, + { + "name": "scheduleLayers", + "schema": "array", + "description": "" + }, + { + "name": "shifts", + "schema": "array", + "description": "" + }, + { + "name": "showGaps", + "schema": "boolean", + "description": "" + }, + { + "name": "defaultShiftDuration", + "schema": "string", + "description": "" + }, + { + "name": "currentShift", + "schema": "object", + "description": "" + }, + { + "name": "nextShift", + "schema": "object", + "description": "" + }, + { + "name": "teams", + "schema": "array", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/schedules/{id}/shifts", + "method": "getShiftsByIdAndDateRange", + "httpMethod": "get", + "tag": "Schedules", + "typeScriptTag": "schedules", + "description": "Get shifts for the specified schedule and date range.", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + }, + { + "name": "from", + "schema": "string", + "description": "from date, default is start of last month" + }, + { + "name": "until", + "schema": "string", + "description": "until date, default is from date plus 3 months" + }, + { + "name": "excludeOverrides", + "schema": "boolean", + "description": "if true, shifts won't include overrides", + "default": false + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/schedules/{id}/overrides", + "method": "getOverridesById", + "httpMethod": "get", + "tag": "Schedules", + "typeScriptTag": "schedules", + "description": "Get overrides for the specified schedule.", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/schedules/{id}/overrides", + "method": "addOverrideShift", + "httpMethod": "put", + "tag": "Schedules", + "typeScriptTag": "schedules", + "description": "Add an override shift to a schedule.", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + }, + { + "name": "user", + "schema": "object", + "description": "" + }, + { + "name": "end", + "schema": "string", + "description": "" + }, + { + "name": "start", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/schedules/{id}/user-on-call", + "method": "getUserOnCall", + "httpMethod": "get", + "tag": "Schedules", + "typeScriptTag": "schedules", + "description": "Get the user (wrapped in a shift object) on-call for the specified schedule.", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "204", + "description": "if no user is on-call" + } + ] + }, + { + "url": "/on-calls", + "method": "listWithFilters", + "httpMethod": "get", + "tag": "On-Calls", + "typeScriptTag": "onCalls", + "description": "List on-calls with flexible filters", + "parameters": [ + { + "name": "policies", + "schema": "number", + "required": false, + "description": "escalation policy ids to filter on call duties for" + }, + { + "name": "policyLevels", + "schema": "string", + "required": false, + "description": "can be provided instead of 'policies', must be a serialised and urlencoded JSON object e.g. ?policy-levels=\"{ \"id\": 12, \"level\": 1 }\" where id is the policy id and level is the escalation level that should be included" + }, + { + "name": "schedules", + "schema": "number", + "required": false, + "description": "on call schedule ids to filter on call duties for" + }, + { + "name": "users", + "schema": "number", + "required": false, + "description": "user ids to filter on call duties for" + }, + { + "name": "expand", + "schema": "string", + "required": false, + "description": "include full entities for: policy, escalationPolicy or user" + }, + { + "name": "from", + "schema": "string", + "required": false, + "description": "date-time ISO-UTC e.g. 2021-05-25T21:24:56.771Z, start of the time range, may not exceed 3 months in total span, defaults to current time" + }, + { + "name": "until", + "schema": "string", + "required": false, + "description": "date-time ISO-UTC e.g. 2021-05-25T21:24:56.771Z, end of the time range, must be after 'from', defaults to current time" + }, + { + "name": "timezone", + "schema": "string", + "required": false, + "description": "Time zone in which the results will be rendered, defaults to UTC" + }, + { + "name": "startIndex", + "schema": "number", + "required": false, + "description": "offset for the search results, defaults to 0" + }, + { + "name": "maxResults", + "schema": "number", + "required": false, + "description": "limit for the search results, defaults to 50, may not exceed 250" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/alert-sources", + "method": "listSources", + "httpMethod": "get", + "tag": "Alert Sources", + "typeScriptTag": "alertSources", + "description": "List alert sources.", + "parameters": [ + { + "name": "startIndex", + "schema": "integer", + "required": false, + "description": "an integer specifying the starting point (beginning with 0) when paging through a list of entities", + "default": 0 + }, + { + "name": "maxResults", + "schema": "integer", + "required": false, + "description": "the maximum number of results when paging through a list of alert sources.", + "default": 50 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/alert-sources", + "method": "createNewSource", + "httpMethod": "post", + "tag": "Alert Sources", + "typeScriptTag": "alertSources", + "description": "Create a new alert source.", + "parameters": [ + { + "name": "id", + "schema": "integer", + "required": false, + "description": "" + }, + { + "name": "teams", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "name", + "schema": "string", + "required": true, + "description": "", + "example": "NAME" + }, + { + "name": "iconUrl", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "lightIconUrl", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "darkIconUrl", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "escalationPolicy", + "schema": "object", + "required": true, + "description": "" + }, + { + "name": "integrationType", + "schema": "string", + "required": true, + "description": "", + "example": "INTEGRATIONTYPE" + }, + { + "name": "integrationKey", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "integrationUrl", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "autoResolutionTimeout", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "alertGroupingWindow", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "alertCreation", + "schema": "string", + "required": false, + "description": "", + "default": "ONE_ALERT_PER_EMAIL" + }, + { + "name": "status", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "emailFiltered", + "schema": "boolean", + "required": false, + "description": "", + "default": false + }, + { + "name": "emailResolveFiltered", + "schema": "boolean", + "required": false, + "description": "", + "default": false + }, + { + "name": "active", + "schema": "boolean", + "required": false, + "description": "", + "default": true + }, + { + "name": "emailPredicates", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "emailResolvePredicates", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "resolveKeyExtractor", + "schema": "object", + "required": false, + "description": "" + }, + { + "name": "filterOperator", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "resolveFilterOperator", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "alertPriorityRule", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "supportHours", + "schema": "object", + "required": false, + "description": "" + }, + { + "name": "heartbeat", + "schema": "object", + "required": false, + "description": "" + }, + { + "name": "bidirectional", + "schema": "boolean", + "required": false, + "description": "" + }, + { + "name": "summaryTemplate", + "schema": "object", + "required": false, + "description": "" + }, + { + "name": "detailsTemplate", + "schema": "object", + "required": false, + "description": "" + }, + { + "name": "routingTemplate", + "schema": "object", + "required": false, + "description": "" + }, + { + "name": "linkTemplates", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "priorityTemplate", + "schema": "object", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/alert-sources/{id}", + "method": "deleteSpecifiedSource", + "httpMethod": "delete", + "tag": "Alert Sources", + "typeScriptTag": "alertSources", + "description": "Delete the specified alert source.", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "204", + "description": "if deletion was successful" + } + ] + }, + { + "url": "/alert-sources/{id}", + "method": "getByIdOrApiKey", + "httpMethod": "get", + "tag": "Alert Sources", + "typeScriptTag": "alertSources", + "description": "Get the alert source with specified id or alternatively api key.", + "parameters": [ + { + "name": "sourceId", + "schema": "string", + "required": true, + "description": "numeric source id or api key", + "example": "SOURCE-ID" + }, + { + "name": "include", + "schema": "array", + "required": false, + "description": "Describes optional properties that should be included in the response. You may declare multiple. (detailsTemplate, summaryTemplate, routingTemplate, linkTemplates, priorityTemplate, textTemplate)" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/alert-sources/{id}", + "method": "updateExistingSource", + "httpMethod": "put", + "tag": "Alert Sources", + "typeScriptTag": "alertSources", + "description": "Update an existing alert source.", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + }, + { + "name": "id", + "schema": "integer", + "required": false, + "description": "" + }, + { + "name": "teams", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "name", + "schema": "string", + "required": true, + "description": "", + "example": "NAME" + }, + { + "name": "iconUrl", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "lightIconUrl", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "darkIconUrl", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "escalationPolicy", + "schema": "object", + "required": true, + "description": "" + }, + { + "name": "integrationType", + "schema": "string", + "required": true, + "description": "", + "example": "INTEGRATIONTYPE" + }, + { + "name": "integrationKey", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "integrationUrl", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "autoResolutionTimeout", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "alertGroupingWindow", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "alertCreation", + "schema": "string", + "required": false, + "description": "", + "default": "ONE_ALERT_PER_EMAIL" + }, + { + "name": "status", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "emailFiltered", + "schema": "boolean", + "required": false, + "description": "", + "default": false + }, + { + "name": "emailResolveFiltered", + "schema": "boolean", + "required": false, + "description": "", + "default": false + }, + { + "name": "active", + "schema": "boolean", + "required": false, + "description": "", + "default": true + }, + { + "name": "emailPredicates", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "emailResolvePredicates", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "resolveKeyExtractor", + "schema": "object", + "required": false, + "description": "" + }, + { + "name": "filterOperator", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "resolveFilterOperator", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "alertPriorityRule", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "supportHours", + "schema": "object", + "required": false, + "description": "" + }, + { + "name": "heartbeat", + "schema": "object", + "required": false, + "description": "" + }, + { + "name": "bidirectional", + "schema": "boolean", + "required": false, + "description": "" + }, + { + "name": "summaryTemplate", + "schema": "object", + "required": false, + "description": "" + }, + { + "name": "detailsTemplate", + "schema": "object", + "required": false, + "description": "" + }, + { + "name": "routingTemplate", + "schema": "object", + "required": false, + "description": "" + }, + { + "name": "linkTemplates", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "priorityTemplate", + "schema": "object", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/support-hours", + "method": "list", + "httpMethod": "get", + "tag": "Support Hours", + "typeScriptTag": "supportHours", + "description": "List support hours.", + "parameters": [ + { + "name": "startIndex", + "schema": "integer", + "required": false, + "description": "an integer specifying the starting point (beginning with 0) when paging through a list of entities", + "default": 0 + }, + { + "name": "maxResults", + "schema": "integer", + "required": false, + "description": "the maximum number of results when paging through a list of support hours.", + "default": 50 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/support-hours", + "method": "createNewSupportHour", + "httpMethod": "post", + "tag": "Support Hours", + "typeScriptTag": "supportHours", + "description": "Create a new support hour.", + "parameters": [ + { + "name": "id", + "schema": "integer", + "required": false, + "description": "" + }, + { + "name": "name", + "schema": "string", + "required": true, + "description": "", + "example": "NAME" + }, + { + "name": "teams", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "timezone", + "schema": "string", + "required": true, + "description": "", + "example": "TIMEZONE" + }, + { + "name": "supportDays", + "schema": "object", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/support-hours/{id}", + "method": "deleteSpecifiedSupportHour", + "httpMethod": "delete", + "tag": "Support Hours", + "typeScriptTag": "supportHours", + "description": "Delete the specified support hour.", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "204", + "description": "if deletion was successful" + } + ] + }, + { + "url": "/support-hours/{id}", + "method": "getById", + "httpMethod": "get", + "tag": "Support Hours", + "typeScriptTag": "supportHours", + "description": "Get the support hour with specified id.", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/support-hours/{id}", + "method": "updateExistingHour", + "httpMethod": "put", + "tag": "Support Hours", + "typeScriptTag": "supportHours", + "description": "Update an existing support hour.", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + }, + { + "name": "id", + "schema": "integer", + "required": false, + "description": "" + }, + { + "name": "name", + "schema": "string", + "required": true, + "description": "", + "example": "NAME" + }, + { + "name": "teams", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "timezone", + "schema": "string", + "required": true, + "description": "", + "example": "TIMEZONE" + }, + { + "name": "supportDays", + "schema": "object", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/maintenance-windows", + "method": "list", + "httpMethod": "get", + "tag": "Maintenance Windows", + "typeScriptTag": "maintenanceWindows", + "description": "List maintenance windows.", + "parameters": [ + { + "name": "startIndex", + "schema": "integer", + "required": false, + "description": "an integer specifying the starting point (beginning with 0) when paging through a list of entities", + "default": 0 + }, + { + "name": "maxResults", + "schema": "integer", + "required": false, + "description": "the maximum number of results when paging through a list of entities.", + "default": 50 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/maintenance-windows", + "method": "createNewWindow", + "httpMethod": "post", + "tag": "Maintenance Windows", + "typeScriptTag": "maintenanceWindows", + "description": "Create a new maintenance window.", + "parameters": [ + { + "name": "summary", + "schema": "string", + "description": "" + }, + { + "name": "description", + "schema": "string", + "description": "" + }, + { + "name": "timezone", + "schema": "string", + "description": "" + }, + { + "name": "start", + "schema": "string", + "description": "" + }, + { + "name": "end", + "schema": "string", + "description": "" + }, + { + "name": "alertSources", + "schema": "array", + "description": "" + }, + { + "name": "services", + "schema": "array", + "description": "" + }, + { + "name": "createdBy", + "schema": "string", + "description": "" + }, + { + "name": "notifications", + "schema": "object", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/maintenance-windows/{id}", + "method": "removeById", + "httpMethod": "delete", + "tag": "Maintenance Windows", + "typeScriptTag": "maintenanceWindows", + "description": "Delete the specified maintenance window.", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "204", + "description": "if deletion was successful" + } + ] + }, + { + "url": "/maintenance-windows/{id}", + "method": "getById", + "httpMethod": "get", + "tag": "Maintenance Windows", + "typeScriptTag": "maintenanceWindows", + "description": "Get the maintenance window with specified id.", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/maintenance-windows/{id}", + "method": "updateExistingWindow", + "httpMethod": "put", + "tag": "Maintenance Windows", + "typeScriptTag": "maintenanceWindows", + "description": "Update an existing maintenance window.", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + }, + { + "name": "summary", + "schema": "string", + "description": "" + }, + { + "name": "description", + "schema": "string", + "description": "" + }, + { + "name": "timezone", + "schema": "string", + "description": "" + }, + { + "name": "start", + "schema": "string", + "description": "" + }, + { + "name": "end", + "schema": "string", + "description": "" + }, + { + "name": "alertSources", + "schema": "array", + "description": "" + }, + { + "name": "services", + "schema": "array", + "description": "" + }, + { + "name": "createdBy", + "schema": "string", + "description": "" + }, + { + "name": "notifications", + "schema": "object", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/escalation-policies", + "method": "listPolicies", + "httpMethod": "get", + "tag": "Escalation Policies", + "typeScriptTag": "escalationPolicies", + "description": "List escalation policies.", + "parameters": [ + { + "name": "startIndex", + "schema": "integer", + "required": false, + "description": "an integer specifying the starting point (beginning with 0) when paging through a list of entities", + "default": 0 + }, + { + "name": "maxResults", + "schema": "integer", + "required": false, + "description": "the maximum number of results when paging through a list of escalation policies.", + "default": 50 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/escalation-policies", + "method": "createNewPolicy", + "httpMethod": "post", + "tag": "Escalation Policies", + "typeScriptTag": "escalationPolicies", + "description": "Create a new escalation policy.", + "parameters": [ + { + "name": "id", + "schema": "integer", + "required": false, + "description": "" + }, + { + "name": "name", + "schema": "string", + "required": true, + "description": "", + "example": "NAME" + }, + { + "name": "escalationRules", + "schema": "array", + "required": true, + "description": "" + }, + { + "name": "teams", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "repeating", + "schema": "boolean", + "required": false, + "description": "", + "default": false + }, + { + "name": "frequency", + "schema": "integer", + "required": false, + "description": "", + "default": 1 + }, + { + "name": "delayMin", + "schema": "integer", + "required": false, + "description": "", + "default": 0 + }, + { + "name": "routingKey", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/escalation-policies/{id}", + "method": "deleteSpecificPolicy", + "httpMethod": "delete", + "tag": "Escalation Policies", + "typeScriptTag": "escalationPolicies", + "description": "Delete the specified escalation policy.", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "204", + "description": "if deletion was successful" + } + ] + }, + { + "url": "/escalation-policies/{id}", + "method": "getById", + "httpMethod": "get", + "tag": "Escalation Policies", + "typeScriptTag": "escalationPolicies", + "description": "Get escalation policy with the specified id.", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/escalation-policies/{id}", + "method": "updateExistingPolicy", + "httpMethod": "put", + "tag": "Escalation Policies", + "typeScriptTag": "escalationPolicies", + "description": "Update an existing escalation policy.", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + }, + { + "name": "id", + "schema": "integer", + "required": false, + "description": "" + }, + { + "name": "name", + "schema": "string", + "required": true, + "description": "", + "example": "NAME" + }, + { + "name": "escalationRules", + "schema": "array", + "required": true, + "description": "" + }, + { + "name": "teams", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "repeating", + "schema": "boolean", + "required": false, + "description": "", + "default": false + }, + { + "name": "frequency", + "schema": "integer", + "required": false, + "description": "", + "default": 1 + }, + { + "name": "delayMin", + "schema": "integer", + "required": false, + "description": "", + "default": 0 + }, + { + "name": "routingKey", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/series/{key}", + "method": "ingestMetricSeries", + "httpMethod": "post", + "tag": "Series", + "typeScriptTag": "series", + "description": "Ingest a series for a metric", + "parameters": [ + { + "name": "key", + "schema": "string", + "required": true, + "description": "api key of resource", + "example": "KEY" + } + ], + "responses": [ + { + "statusCode": "202", + "description": "The time points have been accepted" + } + ] + }, + { + "url": "/events", + "method": "postEventToIlert", + "httpMethod": "post", + "tag": "Events", + "typeScriptTag": "events", + "description": "Post an event to ilert.", + "parameters": [ + { + "name": "summary", + "schema": "string", + "required": true, + "description": "", + "example": "SUMMARY" + }, + { + "name": "apiKey", + "schema": "string", + "required": true, + "description": "", + "example": "APIKEY" + }, + { + "name": "eventType", + "schema": "string", + "required": true, + "description": "", + "example": "EVENTTYPE" + }, + { + "name": "details", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "alertKey", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "priority", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "images", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "links", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "comments", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "customDetails", + "schema": "object", + "required": false, + "description": "" + }, + { + "name": "routingKey", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "202", + "description": "The event has been accepted" + } + ] + }, + { + "url": "/heartbeats/{key}", + "method": "pingAlertSource", + "httpMethod": "get", + "tag": "Heartbeats", + "typeScriptTag": "heartbeats", + "description": "Ping heartbeat alert source.", + "parameters": [ + { + "name": "key", + "schema": "string", + "required": true, + "description": "api key of resource", + "example": "KEY" + } + ], + "responses": [ + { + "statusCode": "202", + "description": "Arbitrary accept response" + } + ] + }, + { + "url": "/heartbeats/{key}", + "method": "pingAlertSource", + "httpMethod": "head", + "tag": "Heartbeats", + "typeScriptTag": "heartbeats", + "description": "Ping heartbeat alert source.", + "parameters": [ + { + "name": "key", + "schema": "string", + "required": true, + "description": "api key of resource", + "example": "KEY" + } + ], + "responses": [ + { + "statusCode": "202", + "description": "Arbitrary accept response" + } + ] + }, + { + "url": "/heartbeats/{key}", + "method": "pingAlertSource", + "httpMethod": "post", + "tag": "Heartbeats", + "typeScriptTag": "heartbeats", + "description": "Ping heartbeat alert source.", + "parameters": [ + { + "name": "key", + "schema": "string", + "required": true, + "description": "api key of resource", + "example": "KEY" + } + ], + "responses": [ + { + "statusCode": "202", + "description": "Arbitrary accept response" + } + ] + }, + { + "url": "/alert-actions", + "method": "getList", + "httpMethod": "get", + "tag": "Alert Actions", + "typeScriptTag": "alertActions", + "description": "Get alert actions.", + "parameters": [ + { + "name": "source", + "schema": "number", + "description": "alert source id" + }, + { + "name": "connector", + "schema": "string", + "description": "connector id" + }, + { + "name": "startIndex", + "schema": "integer", + "required": false, + "description": "an integer specifying the starting point (beginning with 0) when paging through a list of entities", + "default": 0 + }, + { + "name": "maxResults", + "schema": "integer", + "required": false, + "description": "the maximum number of results when paging through a list of alert actions.", + "default": 100 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/alert-actions", + "method": "createNewAction", + "httpMethod": "post", + "tag": "Alert Actions", + "typeScriptTag": "alertActions", + "description": "Create a new alert action.", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "alertSources", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "connectorId", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "connectorType", + "schema": "string", + "required": true, + "description": "", + "example": "CONNECTORTYPE" + }, + { + "name": "name", + "schema": "string", + "required": true, + "description": "", + "example": "NAME" + }, + { + "name": "createdAt", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "updatedAt", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "triggerMode", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "bidirectional", + "schema": "boolean", + "required": false, + "description": "" + }, + { + "name": "delaySec", + "schema": "number", + "required": false, + "description": "" + }, + { + "name": "triggerTypes", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "alertFilter", + "schema": "object", + "required": false, + "description": "" + }, + { + "name": "params", + "schema": "object", + "required": false, + "description": "" + }, + { + "name": "teams", + "schema": "array", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/alert-actions/{id}", + "method": "removeSpecificAction", + "httpMethod": "delete", + "tag": "Alert Actions", + "typeScriptTag": "alertActions", + "description": "Remove a specific alert action.", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "entity ID", + "example": "ID" + } + ], + "responses": [ + { + "statusCode": "204", + "description": "Empty body delete response" + } + ] + }, + { + "url": "/alert-actions/{id}", + "method": "getSpecificAction", + "httpMethod": "get", + "tag": "Alert Actions", + "typeScriptTag": "alertActions", + "description": "Get a specific alert action.", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "entity ID", + "example": "ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/alert-actions/{id}", + "method": "updateSpecificAlertAction", + "httpMethod": "put", + "tag": "Alert Actions", + "typeScriptTag": "alertActions", + "description": "Update the specific alert action. (note: type cannot be changed)", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "entity ID", + "example": "ID" + }, + { + "name": "id", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "alertSources", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "connectorId", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "connectorType", + "schema": "string", + "required": true, + "description": "", + "example": "CONNECTORTYPE" + }, + { + "name": "name", + "schema": "string", + "required": true, + "description": "", + "example": "NAME" + }, + { + "name": "createdAt", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "updatedAt", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "triggerMode", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "bidirectional", + "schema": "boolean", + "required": false, + "description": "" + }, + { + "name": "delaySec", + "schema": "number", + "required": false, + "description": "" + }, + { + "name": "triggerTypes", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "alertFilter", + "schema": "object", + "required": false, + "description": "" + }, + { + "name": "params", + "schema": "object", + "required": false, + "description": "" + }, + { + "name": "teams", + "schema": "array", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/connectors", + "method": "getAvailableConnectors", + "httpMethod": "get", + "tag": "Connectors", + "typeScriptTag": "connectors", + "description": "Get connectors.", + "parameters": [ + { + "name": "startIndex", + "schema": "integer", + "required": false, + "description": "an integer specifying the starting point (beginning with 0) when paging through a list of entities", + "default": 0 + }, + { + "name": "maxResults", + "schema": "integer", + "required": false, + "description": "the maximum number of results when paging through a list of entities.", + "default": 50 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/connectors", + "method": "createNewConnector", + "httpMethod": "post", + "tag": "Connectors", + "typeScriptTag": "connectors", + "description": "Create a new connector.", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "type", + "schema": "string", + "required": true, + "description": "", + "example": "TYPE" + }, + { + "name": "name", + "schema": "string", + "required": true, + "description": "", + "example": "NAME" + }, + { + "name": "createdAt", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "updatedAt", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "params", + "schema": "object", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/connectors/{id}", + "method": "removeSpecificConnector", + "httpMethod": "delete", + "tag": "Connectors", + "typeScriptTag": "connectors", + "description": "Remove a specific connector.", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "entity ID", + "example": "ID" + } + ], + "responses": [ + { + "statusCode": "204", + "description": "Empty body delete response" + } + ] + }, + { + "url": "/connectors/{id}", + "method": "getSpecificConnector", + "httpMethod": "get", + "tag": "Connectors", + "typeScriptTag": "connectors", + "description": "Get a specific connector.", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "entity ID", + "example": "ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/connectors/{id}", + "method": "updateSpecificConnector", + "httpMethod": "put", + "tag": "Connectors", + "typeScriptTag": "connectors", + "description": "Update the specific connector. (note: type cannot be changed)", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "entity ID", + "example": "ID" + }, + { + "name": "id", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "type", + "schema": "string", + "required": true, + "description": "", + "example": "TYPE" + }, + { + "name": "name", + "schema": "string", + "required": true, + "description": "", + "example": "NAME" + }, + { + "name": "createdAt", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "updatedAt", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "params", + "schema": "object", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/teams", + "method": "getAll", + "httpMethod": "get", + "tag": "Teams", + "typeScriptTag": "teams", + "description": "Get teams.", + "parameters": [ + { + "name": "startIndex", + "schema": "integer", + "required": false, + "description": "an integer specifying the starting point (beginning with 0) when paging through a list of entities", + "default": 0 + }, + { + "name": "maxResults", + "schema": "integer", + "required": false, + "description": "the maximum number of results when paging through a list of entities.", + "default": 50 + }, + { + "name": "members", + "schema": "number", + "required": false, + "description": "optional, filter teams for specific members (currently only a single occurrence of this param is allowed)" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/teams", + "method": "createNewTeam", + "httpMethod": "post", + "tag": "Teams", + "typeScriptTag": "teams", + "description": "Create a new team.", + "parameters": [ + { + "name": "id", + "schema": "integer", + "description": "" + }, + { + "name": "name", + "schema": "string", + "description": "" + }, + { + "name": "visibility", + "schema": "string", + "description": "" + }, + { + "name": "members", + "schema": "array", + "description": "" + }, + { + "name": "createdAt", + "schema": "string", + "description": "" + }, + { + "name": "updatedAt", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/teams/{id}", + "method": "removeSpecificTeam", + "httpMethod": "delete", + "tag": "Teams", + "typeScriptTag": "teams", + "description": "Remove a specific team.", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "204", + "description": "Empty body delete response" + } + ] + }, + { + "url": "/teams/{id}", + "method": "getDetails", + "httpMethod": "get", + "tag": "Teams", + "typeScriptTag": "teams", + "description": "Get a specific team.", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/teams/{id}", + "method": "updateSpecificTeam", + "httpMethod": "put", + "tag": "Teams", + "typeScriptTag": "teams", + "description": "Update the specific team", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + }, + { + "name": "id", + "schema": "integer", + "description": "" + }, + { + "name": "name", + "schema": "string", + "description": "" + }, + { + "name": "visibility", + "schema": "string", + "description": "" + }, + { + "name": "members", + "schema": "array", + "description": "" + }, + { + "name": "createdAt", + "schema": "string", + "description": "" + }, + { + "name": "updatedAt", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/teams/{id}/members", + "method": "addNewMember", + "httpMethod": "post", + "tag": "Teams", + "typeScriptTag": "teams", + "description": "Add a new team member to specific team", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + }, + { + "name": "user", + "schema": "object", + "description": "" + }, + { + "name": "role", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/teams/{id}/members/{id}", + "method": "removeSpecificMember", + "httpMethod": "delete", + "tag": "Teams", + "typeScriptTag": "teams", + "description": "Remove a specific member of a specific team.", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "204", + "description": "Empty body delete response" + } + ] + }, + { + "url": "/reports/alerts", + "method": "listAlertMetrics", + "httpMethod": "get", + "tag": "Reports", + "typeScriptTag": "reports", + "description": "List alert metrics for the requested resources", + "parameters": [ + { + "name": "sources", + "schema": "number", + "required": false, + "description": "alert source ids to filter metrics for" + }, + { + "name": "policies", + "schema": "number", + "required": false, + "description": "escalation policy ids to filter metrics for" + }, + { + "name": "numbers", + "schema": "string", + "required": false, + "description": "phone numbers of call routing numbers to filter metrics for" + }, + { + "name": "from", + "schema": "string", + "required": true, + "description": "date-time ISO-UTC e.g. 2021-05-25T21:24:56.771Z, start of the time range, may not exceed 1 year in total span", + "example": "FROM" + }, + { + "name": "until", + "schema": "string", + "required": true, + "description": "date-time ISO-UTC e.g. 2021-05-25T21:24:56.771Z, end of the time range, must be after 'from', must not be in the future", + "example": "UNTIL" + }, + { + "name": "timezone", + "schema": "string", + "required": false, + "description": "Time zone in which the results will be rendered, defaults to tenant's configured default timezone" + }, + { + "name": "metric", + "schema": "string", + "required": false, + "description": "Describes the metric that should be fetched choose one of: COUNT, MTTA or MTTR - defaults to COUNT" + }, + { + "name": "groupBy", + "schema": "string", + "required": false, + "description": "Defines the grouping of metrics, choose one of: DAY, WEEK or MONTH - defaults to WEEK" + }, + { + "name": "priority", + "schema": "string", + "required": false, + "description": "Sets the priority filter that should be applied, choose one of: LOW, HIGH or ALL - defaults to ALL" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/reports/alerts/summary", + "method": "summarizeAlertMetrics", + "httpMethod": "get", + "tag": "Reports", + "typeScriptTag": "reports", + "description": "Summarize a list of alert metrics", + "parameters": [ + { + "name": "sources", + "schema": "number", + "required": false, + "description": "alert source ids to filter metrics for" + }, + { + "name": "policies", + "schema": "number", + "required": false, + "description": "escalation policy ids to filter metrics for" + }, + { + "name": "numbers", + "schema": "string", + "required": false, + "description": "phone numbers of call routing numbers to filter metrics for" + }, + { + "name": "from", + "schema": "string", + "required": true, + "description": "date-time ISO-UTC e.g. 2021-05-25T21:24:56.771Z, start of the time range, may not exceed 1 year in total span", + "example": "FROM" + }, + { + "name": "until", + "schema": "string", + "required": true, + "description": "date-time ISO-UTC e.g. 2021-05-25T21:24:56.771Z, end of the time range, must be after 'from', must not be in the future", + "example": "UNTIL" + }, + { + "name": "timezone", + "schema": "string", + "required": false, + "description": "Time zone in which the results will be rendered, defaults to tenant's configured default timezone" + }, + { + "name": "metric", + "schema": "string", + "required": false, + "description": "Describes the metric that should be fetched choose one of: COUNT, MTTA or MTTR - defaults to COUNT" + }, + { + "name": "groupBy", + "schema": "string", + "required": false, + "description": "Defines the grouping of metrics, choose one of: DAY, WEEK or MONTH - defaults to WEEK" + }, + { + "name": "priority", + "schema": "string", + "required": false, + "description": "Sets the priority filter that should be applied, choose one of: LOW, HIGH or ALL - defaults to ALL" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/reports/api-keys/usage", + "method": "listApiKeyUsageMetrics", + "httpMethod": "get", + "tag": "Reports", + "typeScriptTag": "reports", + "description": "List API key usage metrics for the requested resources", + "parameters": [ + { + "name": "scopes", + "schema": "string", + "required": false, + "description": "scopes of our API resources e.g. alert see https://docs.ilert.com/rest-api/developing-ilert-apps/token-lifetimes-error-codes-app-verification-etc.#ilert-oauth2-scopes" + }, + { + "name": "from", + "schema": "string", + "required": true, + "description": "date-time ISO-UTC e.g. 2021-05-25T21:24:56.771Z, start of the time range, may not exceed 1 month (31 days) in total span (use this to paginate)", + "example": "FROM" + }, + { + "name": "until", + "schema": "string", + "required": true, + "description": "date-time ISO-UTC e.g. 2021-05-25T21:24:56.771Z, end of the time range, must be after 'from', must not be in the future (use this to paginate)", + "example": "UNTIL" + }, + { + "name": "timezone", + "schema": "string", + "required": false, + "description": "Time zone in which the results will be rendered, defaults to tenant's configured default timezone" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/incident-templates", + "method": "getList", + "httpMethod": "get", + "tag": "Incident Templates", + "typeScriptTag": "incidentTemplates", + "description": "Get incident templates.", + "parameters": [ + { + "name": "startIndex", + "schema": "integer", + "required": false, + "description": "an integer specifying the starting point (beginning with 0) when paging through a list of entities", + "default": 0 + }, + { + "name": "maxResults", + "schema": "integer", + "required": false, + "description": "the maximum number of results when paging through a list of entities.", + "default": 50 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/incident-templates", + "method": "createNewTemplate", + "httpMethod": "post", + "tag": "Incident Templates", + "typeScriptTag": "incidentTemplates", + "description": "Create a new incident template.", + "parameters": [ + { + "name": "summary", + "schema": "string", + "description": "" + }, + { + "name": "id", + "schema": "number", + "description": "" + }, + { + "name": "name", + "schema": "string", + "description": "" + }, + { + "name": "status", + "schema": "string", + "description": "" + }, + { + "name": "message", + "schema": "string", + "description": "" + }, + { + "name": "sendNotification", + "schema": "boolean", + "description": "" + }, + { + "name": "teams", + "schema": "array", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/incident-templates/{id}", + "method": "removeSpecificTemplate", + "httpMethod": "delete", + "tag": "Incident Templates", + "typeScriptTag": "incidentTemplates", + "description": "Remove a specific incident template.", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "204", + "description": "Empty body delete response" + } + ] + }, + { + "url": "/incident-templates/{id}", + "method": "getSpecificTemplate", + "httpMethod": "get", + "tag": "Incident Templates", + "typeScriptTag": "incidentTemplates", + "description": "Get a specific incident template.", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/incident-templates/{id}", + "method": "updateSpecificTemplate", + "httpMethod": "put", + "tag": "Incident Templates", + "typeScriptTag": "incidentTemplates", + "description": "Update the specific incident template", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + }, + { + "name": "summary", + "schema": "string", + "description": "" + }, + { + "name": "id", + "schema": "number", + "description": "" + }, + { + "name": "name", + "schema": "string", + "description": "" + }, + { + "name": "status", + "schema": "string", + "description": "" + }, + { + "name": "message", + "schema": "string", + "description": "" + }, + { + "name": "sendNotification", + "schema": "boolean", + "description": "" + }, + { + "name": "teams", + "schema": "array", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/services", + "method": "listAvailableServices", + "httpMethod": "get", + "tag": "Services", + "typeScriptTag": "services", + "description": "Get services.", + "parameters": [ + { + "name": "startIndex", + "schema": "integer", + "required": false, + "description": "an integer specifying the starting point (beginning with 0) when paging through a list of entities", + "default": 0 + }, + { + "name": "maxResults", + "schema": "integer", + "required": false, + "description": "the maximum number of results when paging through a list of services. (Note: when using ?include maximum is reduced to 25)", + "default": 10 + }, + { + "name": "include", + "schema": "array", + "required": false, + "description": "Describes optional properties that should be included in the response. You may declare multiple. (subscribed, uptime, incidents)" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/services", + "method": "createService", + "httpMethod": "post", + "tag": "Services", + "typeScriptTag": "services", + "description": "Create a new service.", + "parameters": [ + { + "name": "description", + "schema": "string", + "description": "" + }, + { + "name": "id", + "schema": "number", + "description": "" + }, + { + "name": "name", + "schema": "string", + "description": "" + }, + { + "name": "status", + "schema": "string", + "description": "" + }, + { + "name": "oneOpenIncidentOnly", + "schema": "boolean", + "description": "" + }, + { + "name": "showUptimeHistory", + "schema": "boolean", + "description": "" + }, + { + "name": "teams", + "schema": "array", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/services/{id}", + "method": "removeSpecificService", + "httpMethod": "delete", + "tag": "Services", + "typeScriptTag": "services", + "description": "Remove a specific service.", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "204", + "description": "Empty body delete response" + } + ] + }, + { + "url": "/services/{id}", + "method": "getSpecificService", + "httpMethod": "get", + "tag": "Services", + "typeScriptTag": "services", + "description": "Get a specific service.", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + }, + { + "name": "include", + "schema": "array", + "required": false, + "description": "Describes optional properties that should be included in the response. You may declare multiple. (subscribed, uptime, incidents)" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/services/{id}", + "method": "updateSpecificService", + "httpMethod": "put", + "tag": "Services", + "typeScriptTag": "services", + "description": "Update the specific service", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + }, + { + "name": "description", + "schema": "string", + "description": "" + }, + { + "name": "id", + "schema": "number", + "description": "" + }, + { + "name": "name", + "schema": "string", + "description": "" + }, + { + "name": "status", + "schema": "string", + "description": "" + }, + { + "name": "oneOpenIncidentOnly", + "schema": "boolean", + "description": "" + }, + { + "name": "showUptimeHistory", + "schema": "boolean", + "description": "" + }, + { + "name": "teams", + "schema": "array", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/automation-rules", + "method": "getDeprecatedRules", + "httpMethod": "get", + "tag": "Automation Rules", + "typeScriptTag": "automationRules", + "description": "Get automation rules.", + "parameters": [ + { + "name": "startIndex", + "schema": "integer", + "required": false, + "description": "an integer specifying the starting point (beginning with 0) when paging through a list of entities", + "default": 0 + }, + { + "name": "maxResults", + "schema": "integer", + "required": false, + "description": "the maximum number of results when paging through a list of entities.", + "default": 50 + }, + { + "name": "service", + "schema": "number", + "required": true, + "description": "The service id for which automation rules are filtered for, this param is required", + "example": 0 + }, + { + "name": "source", + "schema": "number", + "required": false, + "description": "The alert source id for which automation rules are filtered for, this param is an alternative to service" + }, + { + "name": "statusPage", + "schema": "number", + "required": false, + "description": "The status page id for which automation rules are filtered for, this param is an alternative to service" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/automation-rules", + "method": "createNewRule", + "httpMethod": "post", + "tag": "Automation Rules", + "typeScriptTag": "automationRules", + "description": "Create a new automation rule.", + "parameters": [ + { + "name": "id", + "schema": "string", + "description": "" + }, + { + "name": "alertType", + "schema": "string", + "description": "" + }, + { + "name": "resolveIncident", + "schema": "boolean", + "description": "" + }, + { + "name": "resolveService", + "schema": "boolean", + "description": "" + }, + { + "name": "serviceStatus", + "schema": "string", + "description": "" + }, + { + "name": "template", + "schema": "object", + "description": "" + }, + { + "name": "service", + "schema": "object", + "description": "" + }, + { + "name": "alertSource", + "schema": "object", + "description": "" + }, + { + "name": "sendNotification", + "schema": "boolean", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/automation-rules/{id}", + "method": "removeSpecificRule", + "httpMethod": "delete", + "tag": "Automation Rules", + "typeScriptTag": "automationRules", + "description": "Remove a specific automation rule.", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "204", + "description": "Empty body delete response" + } + ] + }, + { + "url": "/automation-rules/{id}", + "method": "getSpecificRule", + "httpMethod": "get", + "tag": "Automation Rules", + "typeScriptTag": "automationRules", + "description": "Get a specific automation rule.", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/automation-rules/{id}", + "method": "updateSpecificRule", + "httpMethod": "put", + "tag": "Automation Rules", + "typeScriptTag": "automationRules", + "description": "Update the specific automation rule", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + }, + { + "name": "id", + "schema": "string", + "description": "" + }, + { + "name": "alertType", + "schema": "string", + "description": "" + }, + { + "name": "resolveIncident", + "schema": "boolean", + "description": "" + }, + { + "name": "resolveService", + "schema": "boolean", + "description": "" + }, + { + "name": "serviceStatus", + "schema": "string", + "description": "" + }, + { + "name": "template", + "schema": "object", + "description": "" + }, + { + "name": "service", + "schema": "object", + "description": "" + }, + { + "name": "alertSource", + "schema": "object", + "description": "" + }, + { + "name": "sendNotification", + "schema": "boolean", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/incidents", + "method": "getIncidentList", + "httpMethod": "get", + "tag": "Incidents", + "typeScriptTag": "incidents", + "description": "Get incidents.", + "parameters": [ + { + "name": "startIndex", + "schema": "integer", + "required": false, + "description": "an integer specifying the starting point (beginning with 0) when paging through a list of entities", + "default": 0 + }, + { + "name": "maxResults", + "schema": "integer", + "required": false, + "description": "the maximum number of results when paging through a list of incidents. (Note: when using ?include maximum is reduced to 25)", + "default": 10 + }, + { + "name": "include", + "schema": "array", + "required": false, + "description": "Describes optional properties that should be included in the response. You may declare multiple. (https://api.ilert.com/api-docs" + }, + { + "name": "states", + "schema": "array", + "description": "state of the alert" + }, + { + "name": "services", + "schema": "array", + "description": "service IDs of the incident's affected services" + }, + { + "name": "from", + "schema": "string", + "description": "from date, ISO-UTC e.g. 2021-05-25T21:24:56.771Z, based on reportTime" + }, + { + "name": "until", + "schema": "string", + "description": "until date, ISO-UTC e.g. 2021-05-26T21:24:56.771Z, based on reportTime" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/incidents", + "method": "createNewIncident", + "httpMethod": "post", + "tag": "Incidents", + "typeScriptTag": "incidents", + "description": "Create a new incident.", + "parameters": [ + { + "name": "summary", + "schema": "string", + "description": "" + }, + { + "name": "id", + "schema": "number", + "description": "" + }, + { + "name": "status", + "schema": "string", + "description": "" + }, + { + "name": "message", + "schema": "string", + "description": "" + }, + { + "name": "sendNotification", + "schema": "boolean", + "description": "" + }, + { + "name": "createdAt", + "schema": "string", + "description": "" + }, + { + "name": "updatedAt", + "schema": "string", + "description": "" + }, + { + "name": "affectedServices", + "schema": "array", + "description": "" + }, + { + "name": "resolvedOn", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/incidents/publish-info", + "method": "forecastAffectedSubscribersAndStatusPages", + "httpMethod": "post", + "tag": "Incidents", + "typeScriptTag": "incidents", + "description": "Forecast the affected subscribers and status pages", + "parameters": [ + { + "name": "summary", + "schema": "string", + "description": "" + }, + { + "name": "id", + "schema": "number", + "description": "" + }, + { + "name": "status", + "schema": "string", + "description": "" + }, + { + "name": "message", + "schema": "string", + "description": "" + }, + { + "name": "sendNotification", + "schema": "boolean", + "description": "" + }, + { + "name": "createdAt", + "schema": "string", + "description": "" + }, + { + "name": "updatedAt", + "schema": "string", + "description": "" + }, + { + "name": "affectedServices", + "schema": "array", + "description": "" + }, + { + "name": "resolvedOn", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/incidents/{id}", + "method": "getSpecificIncident", + "httpMethod": "get", + "tag": "Incidents", + "typeScriptTag": "incidents", + "description": "Get a specific incident.", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + }, + { + "name": "include", + "schema": "array", + "required": false, + "description": "Describes optional properties that should be included in the response. You may declare multiple. (subscribed, affectedTeams, history)" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/incidents/{id}", + "method": "updateSpecificIncident", + "httpMethod": "put", + "tag": "Incidents", + "typeScriptTag": "incidents", + "description": "Update the specific incident.", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + }, + { + "name": "ifMatch", + "schema": "string", + "required": false, + "description": "Should be the ETag response header retrieved from GET /incidents/{id} to prevent updating the incident based on outdated information. Will return 412 status code in case of conflict." + }, + { + "name": "summary", + "schema": "string", + "description": "" + }, + { + "name": "id", + "schema": "number", + "description": "" + }, + { + "name": "status", + "schema": "string", + "description": "" + }, + { + "name": "message", + "schema": "string", + "description": "" + }, + { + "name": "sendNotification", + "schema": "boolean", + "description": "" + }, + { + "name": "createdAt", + "schema": "string", + "description": "" + }, + { + "name": "updatedAt", + "schema": "string", + "description": "" + }, + { + "name": "affectedServices", + "schema": "array", + "description": "" + }, + { + "name": "resolvedOn", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/incidents/{id}/private-subscribers", + "method": "getPrivateSubscribers", + "httpMethod": "get", + "tag": "Incidents", + "typeScriptTag": "incidents", + "description": "Get the subscribers (users and teams) of an incident", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/incidents/{id}/private-subscribers", + "method": "addSubscribers", + "httpMethod": "post", + "tag": "Incidents", + "typeScriptTag": "incidents", + "description": "Add subscribers (users and teams) to an incident", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "204", + "description": "" + } + ] + }, + { + "url": "/services/{id}/private-subscribers", + "method": "getSubscribers", + "httpMethod": "get", + "tag": "Services", + "typeScriptTag": "services", + "description": "Get the subscribers (users and teams) of a service", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/services/{id}/private-subscribers", + "method": "setPrivateSubscribers", + "httpMethod": "put", + "tag": "Services", + "typeScriptTag": "services", + "description": "Set subscribers (users and teams) of a service", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "204", + "description": "" + } + ] + }, + { + "url": "/status-pages", + "method": "getStatusPages", + "httpMethod": "get", + "tag": "Status Pages", + "typeScriptTag": "statusPages", + "description": "Get status pages.", + "parameters": [ + { + "name": "startIndex", + "schema": "integer", + "required": false, + "description": "an integer specifying the starting point (beginning with 0) when paging through a list of entities", + "default": 0 + }, + { + "name": "maxResults", + "schema": "integer", + "required": false, + "description": "the maximum number of results when paging through a list of status pages.", + "default": 25 + }, + { + "name": "include", + "schema": "array", + "required": false, + "description": "Describes optional properties that should be included in the response. You may declare multiple. (https://api.ilert.com/api-docs" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/status-pages", + "method": "createNewStatusPage", + "httpMethod": "post", + "tag": "Status Pages", + "typeScriptTag": "statusPages", + "description": "Create a new status page.", + "parameters": [ + { + "name": "id", + "schema": "number", + "description": "" + }, + { + "name": "name", + "schema": "string", + "description": "" + }, + { + "name": "domain", + "schema": "string", + "description": "" + }, + { + "name": "subdomain", + "schema": "string", + "description": "" + }, + { + "name": "timezone", + "schema": "string", + "description": "" + }, + { + "name": "faviconUrl", + "schema": "string", + "description": "" + }, + { + "name": "logoUrl", + "schema": "string", + "description": "" + }, + { + "name": "visibility", + "schema": "string", + "description": "" + }, + { + "name": "hiddenFromSearch", + "schema": "boolean", + "description": "" + }, + { + "name": "showSubscribeAction", + "schema": "boolean", + "description": "" + }, + { + "name": "showIncidentHistoryOption", + "schema": "boolean", + "description": "" + }, + { + "name": "pageTitle", + "schema": "string", + "description": "" + }, + { + "name": "pageDescription", + "schema": "string", + "description": "" + }, + { + "name": "pageLayout", + "schema": "string", + "description": "" + }, + { + "name": "logoRedirectUrl", + "schema": "string", + "description": "" + }, + { + "name": "activated", + "schema": "boolean", + "description": "" + }, + { + "name": "status", + "schema": "string", + "description": "" + }, + { + "name": "teams", + "schema": "array", + "description": "" + }, + { + "name": "services", + "schema": "array", + "description": "" + }, + { + "name": "metrics", + "schema": "array", + "description": "" + }, + { + "name": "ipWhitelist", + "schema": "array", + "description": "" + }, + { + "name": "structure", + "schema": "object", + "description": "" + }, + { + "name": "appearance", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/status-pages/{id}", + "method": "removeSpecificPage", + "httpMethod": "delete", + "tag": "Status Pages", + "typeScriptTag": "statusPages", + "description": "Remove a specific status page.", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "204", + "description": "Empty body delete response" + } + ] + }, + { + "url": "/status-pages/{id}", + "method": "getPageDetails", + "httpMethod": "get", + "tag": "Status Pages", + "typeScriptTag": "statusPages", + "description": "Get a specific status page.", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + }, + { + "name": "include", + "schema": "array", + "required": false, + "description": "Describes optional properties that should be included in the response. You may declare multiple. (subscribed, uptime, groups, structure). Note: structure is always included by default." + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/status-pages/{id}", + "method": "updateSpecificPage", + "httpMethod": "put", + "tag": "Status Pages", + "typeScriptTag": "statusPages", + "description": "Update the specific status page", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + }, + { + "name": "id", + "schema": "number", + "description": "" + }, + { + "name": "name", + "schema": "string", + "description": "" + }, + { + "name": "domain", + "schema": "string", + "description": "" + }, + { + "name": "subdomain", + "schema": "string", + "description": "" + }, + { + "name": "timezone", + "schema": "string", + "description": "" + }, + { + "name": "faviconUrl", + "schema": "string", + "description": "" + }, + { + "name": "logoUrl", + "schema": "string", + "description": "" + }, + { + "name": "visibility", + "schema": "string", + "description": "" + }, + { + "name": "hiddenFromSearch", + "schema": "boolean", + "description": "" + }, + { + "name": "showSubscribeAction", + "schema": "boolean", + "description": "" + }, + { + "name": "showIncidentHistoryOption", + "schema": "boolean", + "description": "" + }, + { + "name": "pageTitle", + "schema": "string", + "description": "" + }, + { + "name": "pageDescription", + "schema": "string", + "description": "" + }, + { + "name": "pageLayout", + "schema": "string", + "description": "" + }, + { + "name": "logoRedirectUrl", + "schema": "string", + "description": "" + }, + { + "name": "activated", + "schema": "boolean", + "description": "" + }, + { + "name": "status", + "schema": "string", + "description": "" + }, + { + "name": "teams", + "schema": "array", + "description": "" + }, + { + "name": "services", + "schema": "array", + "description": "" + }, + { + "name": "metrics", + "schema": "array", + "description": "" + }, + { + "name": "ipWhitelist", + "schema": "array", + "description": "" + }, + { + "name": "structure", + "schema": "object", + "description": "" + }, + { + "name": "appearance", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/status-pages/{id}/groups", + "method": "getGroups", + "httpMethod": "get", + "tag": "Status Pages", + "typeScriptTag": "statusPages", + "description": "Get the groups of a status page", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + }, + { + "name": "startIndex", + "schema": "integer", + "required": false, + "description": "an integer specifying the starting point (beginning with 0) when paging through a list of entities", + "default": 0 + }, + { + "name": "maxResults", + "schema": "integer", + "required": false, + "description": "the maximum number of results when paging through a list of entities.", + "default": 50 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/status-pages/{id}/groups", + "method": "addGroupToPage", + "httpMethod": "post", + "tag": "Status Pages", + "typeScriptTag": "statusPages", + "description": "Add a group to a status page", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + }, + { + "name": "id", + "schema": "number", + "description": "" + }, + { + "name": "name", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/status-pages/{id}/groups/{group-id}", + "method": "removeGroup", + "httpMethod": "delete", + "tag": "Status Pages", + "typeScriptTag": "statusPages", + "description": "Remove group from a status page", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + }, + { + "name": "groupId", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "204", + "description": "" + } + ] + }, + { + "url": "/status-pages/{id}/groups/{group-id}", + "method": "getSpecificGroup", + "httpMethod": "get", + "tag": "Status Pages", + "typeScriptTag": "statusPages", + "description": "Get a specific group of a status page", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + }, + { + "name": "groupId", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "404", + "description": "" + } + ] + }, + { + "url": "/status-pages/{id}/groups/{group-id}", + "method": "updateGroup", + "httpMethod": "put", + "tag": "Status Pages", + "typeScriptTag": "statusPages", + "description": "Update a group of a status page", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + }, + { + "name": "groupId", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + }, + { + "name": "id", + "schema": "number", + "description": "" + }, + { + "name": "name", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/status-pages/{id}/private-subscribers", + "method": "removeSubscriber", + "httpMethod": "delete", + "tag": "Status Pages", + "typeScriptTag": "statusPages", + "description": "Remove subscriber (user and team) from a status page", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + }, + { + "name": "id", + "schema": "number", + "description": "" + }, + { + "name": "name", + "schema": "string", + "description": "" + }, + { + "name": "type", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "204", + "description": "" + } + ] + }, + { + "url": "/status-pages/{id}/private-subscribers", + "method": "getPrivateSubscribers", + "httpMethod": "get", + "tag": "Status Pages", + "typeScriptTag": "statusPages", + "description": "Get the subscribers (users and teams) of a status page", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/status-pages/{id}/private-subscribers", + "method": "addSubscriber", + "httpMethod": "post", + "tag": "Status Pages", + "typeScriptTag": "statusPages", + "description": "Add subscriber (user and team) to a status page", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + }, + { + "name": "id", + "schema": "number", + "description": "" + }, + { + "name": "name", + "schema": "string", + "description": "" + }, + { + "name": "type", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "204", + "description": "" + } + ] + }, + { + "url": "/status-pages/{id}/private-subscribers", + "method": "setPrivateSubscribers", + "httpMethod": "put", + "tag": "Status Pages", + "typeScriptTag": "statusPages", + "description": "Set subscribers (users and teams) of a status page", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "204", + "description": "" + } + ] + }, + { + "url": "/service-outages", + "method": "getServiceOutages", + "httpMethod": "get", + "tag": "Service Outages", + "typeScriptTag": "serviceOutages", + "description": "Get the outages (including applied overrides) of a specific service", + "parameters": [ + { + "name": "service", + "schema": "number", + "description": "the id of the service for which the outages should be fetched" + }, + { + "name": "from", + "schema": "string", + "description": "from date, ISO-UTC e.g. 2021-05-25T21:24:56.771Z" + }, + { + "name": "until", + "schema": "string", + "description": "until date, ISO-UTC e.g. 2021-05-26T21:24:56.771Z" + }, + { + "name": "ignoreOverrides", + "schema": "boolean", + "description": "if the outages should not take overrides into account, default is false" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/service-outages/overrides", + "method": "getOverrides", + "httpMethod": "get", + "tag": "Service Outages", + "typeScriptTag": "serviceOutages", + "description": "Get the overrides of a specific service", + "parameters": [ + { + "name": "service", + "schema": "number", + "description": "the id of the service for which the overrides should be fetched" + }, + { + "name": "from", + "schema": "string", + "description": "from date, ISO-UTC e.g. 2021-05-25T21:24:56.771Z" + }, + { + "name": "until", + "schema": "string", + "description": "until date, ISO-UTC e.g. 2021-05-26T21:24:56.771Z" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/service-outages/overrides", + "method": "overridePartHistory", + "httpMethod": "post", + "tag": "Service Outages", + "typeScriptTag": "serviceOutages", + "description": "Override a part of a service's outage history", + "parameters": [ + { + "name": "id", + "schema": "string", + "description": "" + }, + { + "name": "service", + "schema": "object", + "description": "" + }, + { + "name": "status", + "schema": "string", + "description": "" + }, + { + "name": "from", + "schema": "string", + "description": "" + }, + { + "name": "until", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/service-outages/overrides/{id}", + "method": "removeOverride", + "httpMethod": "delete", + "tag": "Service Outages", + "typeScriptTag": "serviceOutages", + "description": "Remove a service outage override", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "204", + "description": "" + } + ] + }, + { + "url": "/service-outages/overrides/{id}", + "method": "getSpecificOverride", + "httpMethod": "get", + "tag": "Service Outages", + "typeScriptTag": "serviceOutages", + "description": "Get the specific service outage override", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/service-outages/overrides/{id}", + "method": "updateOverride", + "httpMethod": "put", + "tag": "Service Outages", + "typeScriptTag": "serviceOutages", + "description": "Update an existing service outage override", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + }, + { + "name": "id", + "schema": "string", + "description": "" + }, + { + "name": "service", + "schema": "object", + "description": "" + }, + { + "name": "status", + "schema": "string", + "description": "" + }, + { + "name": "from", + "schema": "string", + "description": "" + }, + { + "name": "until", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/metric-data-sources", + "method": "list", + "httpMethod": "get", + "tag": "Metric Data Sources", + "typeScriptTag": "metricDataSources", + "description": "Get Metric Data Sources", + "parameters": [ + { + "name": "startIndex", + "schema": "integer", + "required": false, + "description": "an integer specifying the starting point (beginning with 0) when paging through a list of entities", + "default": 0 + }, + { + "name": "maxResults", + "schema": "integer", + "required": false, + "description": "the maximum number of results when paging through a list of metric data sources", + "default": 10 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/metric-data-sources", + "method": "createNewMetricDataSource", + "httpMethod": "post", + "tag": "Metric Data Sources", + "typeScriptTag": "metricDataSources", + "description": "Create a new Metric Data Source.", + "parameters": [ + { + "name": "name", + "schema": "string", + "required": true, + "description": "", + "example": "NAME" + }, + { + "name": "type", + "schema": "string", + "required": true, + "description": "", + "example": "TYPE" + }, + { + "name": "teams", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "metadata", + "schema": "undefined", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/metric-data-sources/{id}", + "method": "deleteSpecificDataSource", + "httpMethod": "delete", + "tag": "Metric Data Sources", + "typeScriptTag": "metricDataSources", + "description": "Delete a specific Metric Data Source", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "204", + "description": "Empty body delete response" + } + ] + }, + { + "url": "/metric-data-sources/{id}", + "method": "getSpecificDataSource", + "httpMethod": "get", + "tag": "Metric Data Sources", + "typeScriptTag": "metricDataSources", + "description": "Get a specific Metric Data Source", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/metric-data-sources/{id}", + "method": "updateSpecificDataSource", + "httpMethod": "put", + "tag": "Metric Data Sources", + "typeScriptTag": "metricDataSources", + "description": "Update the specific Metric Data Source", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + }, + { + "name": "name", + "schema": "string", + "required": true, + "description": "", + "example": "NAME" + }, + { + "name": "type", + "schema": "string", + "required": true, + "description": "", + "example": "TYPE" + }, + { + "name": "teams", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "metadata", + "schema": "undefined", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/metrics", + "method": "getMetrics", + "httpMethod": "get", + "tag": "Metrics", + "typeScriptTag": "metrics", + "description": "Get metrics.", + "parameters": [ + { + "name": "startIndex", + "schema": "integer", + "required": false, + "description": "an integer specifying the starting point (beginning with 0) when paging through a list of entities", + "default": 0 + }, + { + "name": "maxResults", + "schema": "integer", + "required": false, + "description": "the maximum number of results when paging through a list of metrics. (Note: when using ?include maximum is reduced to 25)", + "default": 10 + }, + { + "name": "include", + "schema": "array", + "required": false, + "description": "Describes optional properties that should be included in the response. You may declare multiple. (dataSource, integrationKey)" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/metrics", + "method": "createNewMetric", + "httpMethod": "post", + "tag": "Metrics", + "typeScriptTag": "metrics", + "description": "Create a new metric.", + "parameters": [ + { + "name": "description", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "name", + "schema": "string", + "required": true, + "description": "", + "example": "NAME" + }, + { + "name": "aggregationType", + "schema": "string", + "required": true, + "description": "", + "example": "AGGREGATIONTYPE" + }, + { + "name": "displayType", + "schema": "string", + "required": true, + "description": "", + "example": "DISPLAYTYPE" + }, + { + "name": "interpolateGaps", + "schema": "boolean", + "required": false, + "description": "", + "default": "false" + }, + { + "name": "lockYAxisMax", + "schema": "number", + "required": false, + "description": "", + "default": null + }, + { + "name": "lockYAxisMin", + "schema": "number", + "required": false, + "description": "", + "default": null + }, + { + "name": "mouseOverDecimal", + "schema": "number", + "required": false, + "description": "", + "default": 0 + }, + { + "name": "showValuesOnMouseOver", + "schema": "boolean", + "required": false, + "description": "", + "default": false + }, + { + "name": "teams", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "unitLabel", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "metadata", + "schema": "undefined", + "required": false, + "description": "", + "default": null + }, + { + "name": "dataSource", + "schema": "object", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/metric/{id}", + "method": "deleteSpecificMetric", + "httpMethod": "delete", + "tag": "Metrics", + "typeScriptTag": "metrics", + "description": "Delete the specific Metric", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "204", + "description": "Empty body delete response" + } + ] + }, + { + "url": "/metric/{id}", + "method": "getSpecificMetric", + "httpMethod": "get", + "tag": "Metrics", + "typeScriptTag": "metrics", + "description": "Get a specific Metric", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/metric/{id}", + "method": "updateSpecificMetric", + "httpMethod": "put", + "tag": "Metrics", + "typeScriptTag": "metrics", + "description": "Update the specific Metric", + "parameters": [ + { + "name": "id", + "schema": "number", + "required": true, + "description": "entity ID", + "example": 0 + }, + { + "name": "description", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "name", + "schema": "string", + "required": true, + "description": "", + "example": "NAME" + }, + { + "name": "aggregationType", + "schema": "string", + "required": true, + "description": "", + "example": "AGGREGATIONTYPE" + }, + { + "name": "displayType", + "schema": "string", + "required": true, + "description": "", + "example": "DISPLAYTYPE" + }, + { + "name": "interpolateGaps", + "schema": "boolean", + "required": false, + "description": "", + "default": "false" + }, + { + "name": "lockYAxisMax", + "schema": "number", + "required": false, + "description": "", + "default": null + }, + { + "name": "lockYAxisMin", + "schema": "number", + "required": false, + "description": "", + "default": null + }, + { + "name": "mouseOverDecimal", + "schema": "number", + "required": false, + "description": "", + "default": 0 + }, + { + "name": "showValuesOnMouseOver", + "schema": "boolean", + "required": false, + "description": "", + "default": false + }, + { + "name": "teams", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "unitLabel", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "metadata", + "schema": "undefined", + "required": false, + "description": "", + "default": null + }, + { + "name": "dataSource", + "schema": "object", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + } + ], + "repositoryDescription": "ilert is a SaaS company for alerting, on-call management and incident communication and helps companies to increase their digital uptime. B2C and B2B companies from across the globe, including well-known brands such as Bertelsmann, TeamViewer and REWE, trust ilert to empower their operations teams and ensure everything is running smoothly.", + "logo": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/ilert/logo.png", + "openApiRaw": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/ilert/openapi.yaml", + "openApiGitHubUi": "https://github.com/konfig-sdks/openapi-examples/tree/HEAD/ilert/openapi.yaml", + "previewLinkImage": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/ilert/imagePreview.png", + "faviconUrl": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/ilert/favicon.png", + "clientNameCamelCase": "ilert", + "lastUpdated": "2024-03-29T22:11:39.095Z", + "typescriptSdkUsageCode": "import { Ilert } from 'ilert-typescript-sdk';\n\nconst ilert = new Ilert({\n // The Bearer API key of your user more info.\n apiKey: \"AUTHORIZATION\"\n})", + "typescriptSdkFirstRequestCode": "// Delete the specified user.\nconst deleteUserResponse = ilert.users.deleteUser({\n userId: \"USER-ID\"\n})", + "fixedSpecFileName": "ilert-fixed-spec.yaml" +} \ No newline at end of file diff --git a/sdks/db/published/from-custom-request_inmobile.com.json b/sdks/db/published/from-custom-request_inmobile.com.json new file mode 100644 index 0000000000..6f77212e39 --- /dev/null +++ b/sdks/db/published/from-custom-request_inmobile.com.json @@ -0,0 +1,1569 @@ +{ + "securitySchemes": { + "BasicAuth": { + "type": "http", + "description": "Provide Basic Authentiation with an arbitrary username and your api key as password, e.g. some_value_to_be_ignored:your_api_key_here", + "scheme": "basic" + }, + "QueryParameter": { + "type": "apiKey", + "description": "Specify your apikey in the url as https://api.inmobile.com/some/path?apikey=your_api_key_here. This method is only recommended if basic authorization is not possible.", + "name": "apikey", + "in": "query" + } + }, + "apiBaseUrl": "https://api.inmobile.com", + "apiVersion": "version 4", + "apiDescription": "\r\n# Introduction\r\n\r\nThis document is a technical description of our REST API used for external systems to send sms messages and to retrieve a status for each sms message sent and to maintain lists and blacklists.\r\n\r\nIn order to call our API, you need an api key. Log in to your account at https://mm.inmobile.dk, go to the \"API\" menu section and your api key will be available here.\r\n\r\nNOTE: It is required for clients to support tls 1.2 or higher.\r\n\r\n\r\n# Firewall openings\r\n\r\nThis is relevant for status callbacks and incoming SMS messages.\r\n\r\nYou can expect callbacks from one of the following IP ranges:\r\n\r\n* 46.36.205.80/28\r\n* 185.221.37.96/28\r\n\r\nThese are also the ip addresses which will be used for api.inmobile.com and mm.inmobile.dk - ensure access to these 2 ranges are opened in your firewall.", + "apiTitle": "inMobile REST API", + "endpoints": 24, + "sdkMethods": 36, + "schemas": 66, + "parameters": 71, + "originalCustomRequest": { + "type": "GET", + "url": "https://api.inmobile.com/swagger/v1/swagger.json" + }, + "customRequestSpecFilename": "inmobile.com.yaml", + "difficultyScore": 86.75, + "difficulty": "Easy", + "company": "inMobile", + "sdkName": "in-mobile-{language}-sdk", + "clientName": "InMobile", + "metaDescription": "inMobile er en SMS-Gateway testet af over 8.000 brugere. Vi håndterer over 150 mio. SMS-beskeder årligt og tilstræber en oppetid på 100%, men sandheden er 99,99%. \n\nUanset, om det drejer sig om at informere dine kunder, medarbejdere eller andre personer, som er vigtige for din virksomhed, gør inMobile det nemt for de rette personer at få besked på det rette tidspunkt. \n\nDu får adgang til en brugervenlig SMS-Gateway og et gennemtestet API, som du nemt kan integrere med dit eget system eller hjemmeside.\n\nØnsker du at høre mere om vores løsning, er du velkommen til at kontakte os på +45 88 33 66 99 eller på mail salg@inmobile.dk\nVi har åbent alle hverdage mellem kl. 8-17", + "apiStatusUrls": "inherit", + "homepage": "inmobile.com", + "developerDocumentation": "www.inmobile.com/docs/rest-api", + "categories": [ + "messaging", + "sms" + ], + "category": "Phone & SMS", + "methods": [ + { + "url": "/v4/blacklist", + "method": "getAll", + "httpMethod": "get", + "tag": "Blacklist", + "typeScriptTag": "blacklist", + "description": "Returns all blacklists (Paged result. Follow _links.next to fetch all)", + "parameters": [ + { + "name": "pageLimit", + "schema": "integer", + "description": "How many records to return (must be between 1 and 250)" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v4/blacklist", + "method": "create", + "httpMethod": "post", + "tag": "Blacklist", + "typeScriptTag": "blacklist", + "description": "Create an entry in blacklist", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "409", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v4/blacklist/{blackListId}", + "method": "delete", + "httpMethod": "delete", + "tag": "Blacklist", + "typeScriptTag": "blacklist", + "description": "Delete entry by id", + "parameters": [ + { + "name": "blackListId", + "schema": "string", + "required": true, + "description": "Id of the blacklist", + "example": "BLACKLISTID" + } + ], + "responses": [ + { + "statusCode": "204", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v4/blacklist/{blackListId}", + "method": "get", + "httpMethod": "get", + "tag": "Blacklist", + "typeScriptTag": "blacklist", + "description": "Get entry by id", + "parameters": [ + { + "name": "blackListId", + "schema": "string", + "required": true, + "description": "Id of the blacklist", + "example": "BLACKLISTID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v4/blacklist/ByNumber", + "method": "deleteByNumber", + "httpMethod": "delete", + "tag": "Blacklist", + "typeScriptTag": "blacklist", + "description": "Delete entry by number", + "parameters": [ + { + "name": "countryCode", + "schema": "string", + "description": "" + }, + { + "name": "phoneNumber", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "204", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v4/blacklist/ByNumber", + "method": "getByNumber", + "httpMethod": "get", + "tag": "Blacklist", + "typeScriptTag": "blacklist", + "description": "Get entry by number", + "parameters": [ + { + "name": "countryCode", + "schema": "string", + "description": "" + }, + { + "name": "phoneNumber", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v4/email/outgoing/sendusingtemplate", + "method": "sendUsingTemplate", + "httpMethod": "post", + "tag": "Email", + "typeScriptTag": "email", + "description": "Send an email using a template", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v4/email/outgoing", + "method": "send", + "httpMethod": "post", + "tag": "Email", + "typeScriptTag": "email", + "description": "Send an email", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v4/email/outgoing/events", + "method": "getEvents", + "httpMethod": "get", + "tag": "Email", + "typeScriptTag": "email", + "description": "Get email events", + "parameters": [ + { + "name": "limit", + "schema": "integer", + "description": "How many events to return (must be between 1 and 250)" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v4/email/templates", + "method": "getAllEmailTemplates", + "httpMethod": "get", + "tag": "Email Templates", + "typeScriptTag": "emailTemplates", + "description": "Get all email templates", + "parameters": [ + { + "name": "pageLimit", + "schema": "integer", + "description": "How many records to return (must be between 1 and 250)" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v4/email/templates/{id}", + "method": "getEmailTemplate", + "httpMethod": "get", + "tag": "Email Templates", + "typeScriptTag": "emailTemplates", + "description": "Get email template by id", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "", + "example": "ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v4/sms/gdpr/deletionrequests", + "method": "deletionRequests", + "httpMethod": "post", + "tag": "Gdpr", + "typeScriptTag": "gdpr", + "description": "Create information Deletion Request", + "parameters": [ + { + "name": "numberInfo", + "schema": "object", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v4/lists", + "method": "getAllLists", + "httpMethod": "get", + "tag": "Lists", + "typeScriptTag": "lists", + "description": "Get all lists", + "parameters": [ + { + "name": "pageLimit", + "schema": "integer", + "description": "How many records to return (must be between 1 and 250)" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v4/lists", + "method": "createList", + "httpMethod": "post", + "tag": "Lists", + "typeScriptTag": "lists", + "description": "Create list", + "parameters": [ + { + "name": "name", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v4/lists/{listId}", + "method": "deleteList", + "httpMethod": "delete", + "tag": "Lists", + "typeScriptTag": "lists", + "description": "Delete list", + "parameters": [ + { + "name": "listId", + "schema": "string", + "required": true, + "description": "Id of the list", + "example": "LISTID" + } + ], + "responses": [ + { + "statusCode": "204", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v4/lists/{listId}", + "method": "getList", + "httpMethod": "get", + "tag": "Lists", + "typeScriptTag": "lists", + "description": "Get list", + "parameters": [ + { + "name": "listId", + "schema": "string", + "required": true, + "description": "Id of the list", + "example": "LISTID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v4/lists/{listId}", + "method": "updateList", + "httpMethod": "put", + "tag": "Lists", + "typeScriptTag": "lists", + "description": "Update list", + "parameters": [ + { + "name": "listId", + "schema": "string", + "required": true, + "description": "The id of the list", + "example": "LISTID" + }, + { + "name": "name", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v4/lists/{listId}/recipients", + "method": "getAllRecipient", + "httpMethod": "get", + "tag": "Lists", + "typeScriptTag": "lists", + "description": "Get all recipients in a list", + "parameters": [ + { + "name": "listId", + "schema": "string", + "required": true, + "description": "Id of the list", + "example": "LISTID" + }, + { + "name": "pageLimit", + "schema": "integer", + "description": "How many records to return (must be between 1 and 250)" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v4/lists/{listId}/recipients", + "method": "createRecipient", + "httpMethod": "post", + "tag": "Lists", + "typeScriptTag": "lists", + "description": "Create recipient", + "parameters": [ + { + "name": "listId", + "schema": "string", + "required": true, + "description": "Id of the list", + "example": "LISTID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "409", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v4/lists/{listId}/recipients/all", + "method": "deleteAllRecipients", + "httpMethod": "delete", + "tag": "Lists", + "typeScriptTag": "lists", + "description": "Deletes all recipients from a list", + "parameters": [ + { + "name": "listId", + "schema": "string", + "required": true, + "description": "Id of the list", + "example": "LISTID" + } + ], + "responses": [ + { + "statusCode": "204", + "description": "The affected count" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v4/lists/{listId}/recipients/{recipientId}", + "method": "deleteRecipient", + "httpMethod": "delete", + "tag": "Lists", + "typeScriptTag": "lists", + "description": "Delete recipient by id", + "parameters": [ + { + "name": "listId", + "schema": "string", + "required": true, + "description": "Id of the list", + "example": "LISTID" + }, + { + "name": "recipientId", + "schema": "string", + "required": true, + "description": "Id of the recipient", + "example": "RECIPIENTID" + } + ], + "responses": [ + { + "statusCode": "204", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v4/lists/{listId}/recipients/{recipientId}", + "method": "getRecipient", + "httpMethod": "get", + "tag": "Lists", + "typeScriptTag": "lists", + "description": "Get recipient by id", + "parameters": [ + { + "name": "listId", + "schema": "string", + "required": true, + "description": "Id of the list", + "example": "LISTID" + }, + { + "name": "recipientId", + "schema": "string", + "required": true, + "description": "Id of the recipient", + "example": "RECIPIENTID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v4/lists/{listId}/recipients/{recipientId}", + "method": "updateRecipient", + "httpMethod": "put", + "tag": "Lists", + "typeScriptTag": "lists", + "description": "Update recipient", + "parameters": [ + { + "name": "listId", + "schema": "string", + "required": true, + "description": "Id of the list", + "example": "LISTID" + }, + { + "name": "recipientId", + "schema": "string", + "required": true, + "description": "", + "example": "RECIPIENTID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "409", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v4/lists/{listId}/recipients/ByNumber", + "method": "deleteRecipientByNumber", + "httpMethod": "delete", + "tag": "Lists", + "typeScriptTag": "lists", + "description": "Delete recipient by number", + "parameters": [ + { + "name": "listId", + "schema": "string", + "required": true, + "description": "Id of the list", + "example": "LISTID" + }, + { + "name": "countryCode", + "schema": "string", + "description": "Target countryCode" + }, + { + "name": "phoneNumber", + "schema": "string", + "description": "Target phoneNumber" + } + ], + "responses": [ + { + "statusCode": "204", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v4/lists/{listId}/recipients/ByNumber", + "method": "getRecipientByNumber", + "httpMethod": "get", + "tag": "Lists", + "typeScriptTag": "lists", + "description": "Get recipient by number", + "parameters": [ + { + "name": "listId", + "schema": "string", + "required": true, + "description": "Id of the list", + "example": "LISTID" + }, + { + "name": "countryCode", + "schema": "string", + "description": "Target countryCode" + }, + { + "name": "phoneNumber", + "schema": "string", + "description": "Target phoneNumber" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v4/lists/{listId}/recipients/ByNumber", + "method": "createOrUpdateRecipientByNumber", + "httpMethod": "post", + "tag": "Lists", + "typeScriptTag": "lists", + "description": "Create or update recipient by number", + "parameters": [ + { + "name": "listId", + "schema": "string", + "required": true, + "description": "Id of the list", + "example": "LISTID" + }, + { + "name": "countryCode", + "schema": "string", + "description": "Target countryCode" + }, + { + "name": "phoneNumber", + "schema": "string", + "description": "Target phoneNumber" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v4/sms/incoming/messages", + "method": "getMessages", + "httpMethod": "get", + "tag": "Sms - Incoming", + "typeScriptTag": "smsIncoming", + "description": "Get incoming sms messages.", + "parameters": [ + { + "name": "limit", + "schema": "integer", + "description": "How many records to return (must be between 1 and 250)" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v4/sms/outgoing", + "method": "create", + "httpMethod": "post", + "tag": "Sms - Outgoing", + "typeScriptTag": "smsOutgoing", + "description": "Send sms messages.", + "parameters": [ + { + "name": "messages", + "schema": "array", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v4/sms/outgoing/sendusingquery", + "method": "sendUsingQueryGet", + "httpMethod": "get", + "tag": "Sms - Outgoing", + "typeScriptTag": "smsOutgoing", + "description": "Send sms messages using query parameters.", + "parameters": [ + { + "name": "text", + "schema": "string", + "description": "The text message.\nIf the max length is exceeded, the message text is truncated and sent.", + "example": "This is a message text to be sent" + }, + { + "name": "from", + "schema": "string", + "description": "The sender. This can either be a 3-11 chars text sender or an up to 14 digit long sender number.\nIf the max length is exceeded, the string is truncated.", + "example": "PetShop" + }, + { + "name": "flash", + "schema": "boolean", + "description": "If true, the message will be shown as a flash message (also known as a class0 message) on the target phone. If false, it will be received as a standard text message.\nDefault: false", + "example": false + }, + { + "name": "encoding", + "schema": "string", + "description": "The encoding of the message. Can be either \"gsm7\", \"ucs2\" or \"auto\".\n\"gsm7\" is the default alfabet for text messages and when using gsm7, a single sms message can contain 160 characters. If the length exceeeds 160 characters, the message is actually split up into parts of 153 characters and charged according to this. Please note, that a few, specific characters fill up 2 bytes and count for 2 letters. Ref: https://en.wikipedia.org/wiki/GSM_03.38\n\"ucs2\"\" allows for more non-roman characters to be used along with smileys. When using this encoding, a single message can consist of 70 characters. If the message exceeds 70 characters, the final message is actually split into parts of 67 characters.\n\"auto\" can be used in case the sender wishes to support non-roman characters but wants to save the expenses on all the trafic that only contains gsm characters anyway.\nDefault: \"gsm7\"", + "example": "gsm7" + }, + { + "name": "to", + "schema": "string", + "description": "The msisdn (country code and number) to send to. (Remember to include countrycode in all numbers, e.g. 4512345678).\nIf max length is exceeded, the entire api call will fail.", + "example": "4512345678" + }, + { + "name": "countryHint", + "schema": "string", + "description": "For optimal phone number validation, we encourage you to provide us with a country code. This can be the numeric country code (like 44) or the two-letter suffix (like GB). If this field is empty it is important that you add the country code (e.g 44) in front of the phone number in “to”.", + "example": "45" + }, + { + "name": "messageId", + "schema": "string", + "description": "An optional message id used to identify the message.\nIf no message id is provided, a new message id is generated and assigned to the message. This id must be unique across all messages created on the same account.\n(In case a previous message has been deleted according to GDPR deletion rules setup on the specific account, the messageId is allowed to be reused)\nIf max length is exceeded, the entire api call will fail.", + "example": "PetShop" + }, + { + "name": "respectBlacklist", + "schema": "boolean", + "description": "If true, this message will be blocked from sending if the target number is on the account's blacklist. If false, the message will be sent no matter blacklist settings.\nDefault: true", + "example": true + }, + { + "name": "validityPeriodInSeconds", + "schema": "integer", + "description": "The validity period in seconds. Minimum is 60 seconds and maximum is 172800 (48 hours).\nIf not specified, the messages is attempted to be delivered in 48 hours. A typical use of validityPeriod is for messages that makes no sense to delivery efter er certain time frame, in the case the phone is turned of, e.g. two factor codes.\nPlease note, that messages are still charged even though the operator is cancelling the delivery attempt due to an exceeded validity period.", + "example": 90 + }, + { + "name": "statusCallbackUrl", + "schema": "string", + "description": "In case you would like a callback from us when the message is delivered, you can specify it here and we will call it when we have new message statuses.\nThe callback payload will be an array of status objects.\nApi calls sending messages with the same apikey will be subject to being bulked together.", + "example": "https://[your_domain]/your/desired/path" + }, + { + "name": "sendTimeUtcTime", + "schema": "string", + "description": "" + }, + { + "name": "sendTimeLocalServerTime", + "schema": "string", + "description": "" + }, + { + "name": "msisdnCooldownInMinutes", + "schema": "integer", + "description": "If set, the message will be cancelled if the same mobile number already have received a SMS within this specified time period.\nFx. used to prevent spamming a mobile number.\nMinimum 60 minutes (1 hour) and maximum is 43200 minutes (30 days).", + "example": 1440 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v4/sms/outgoing/sendusingquery", + "method": "sendUsingQueryPost", + "httpMethod": "post", + "tag": "Sms - Outgoing", + "typeScriptTag": "smsOutgoing", + "description": "Send sms messages using query parameters.", + "parameters": [ + { + "name": "text", + "schema": "string", + "description": "The text message.\nIf the max length is exceeded, the message text is truncated and sent.", + "example": "This is a message text to be sent" + }, + { + "name": "from", + "schema": "string", + "description": "The sender. This can either be a 3-11 chars text sender or an up to 14 digit long sender number.\nIf the max length is exceeded, the string is truncated.", + "example": "PetShop" + }, + { + "name": "flash", + "schema": "boolean", + "description": "If true, the message will be shown as a flash message (also known as a class0 message) on the target phone. If false, it will be received as a standard text message.\nDefault: false", + "example": false + }, + { + "name": "encoding", + "schema": "string", + "description": "The encoding of the message. Can be either \"gsm7\", \"ucs2\" or \"auto\".\n\"gsm7\" is the default alfabet for text messages and when using gsm7, a single sms message can contain 160 characters. If the length exceeeds 160 characters, the message is actually split up into parts of 153 characters and charged according to this. Please note, that a few, specific characters fill up 2 bytes and count for 2 letters. Ref: https://en.wikipedia.org/wiki/GSM_03.38\n\"ucs2\"\" allows for more non-roman characters to be used along with smileys. When using this encoding, a single message can consist of 70 characters. If the message exceeds 70 characters, the final message is actually split into parts of 67 characters.\n\"auto\" can be used in case the sender wishes to support non-roman characters but wants to save the expenses on all the trafic that only contains gsm characters anyway.\nDefault: \"gsm7\"", + "example": "gsm7" + }, + { + "name": "to", + "schema": "string", + "description": "The msisdn (country code and number) to send to. (Remember to include countrycode in all numbers, e.g. 4512345678).\nIf max length is exceeded, the entire api call will fail.", + "example": "4512345678" + }, + { + "name": "countryHint", + "schema": "string", + "description": "For optimal phone number validation, we encourage you to provide us with a country code. This can be the numeric country code (like 44) or the two-letter suffix (like GB). If this field is empty it is important that you add the country code (e.g 44) in front of the phone number in “to”.", + "example": "45" + }, + { + "name": "messageId", + "schema": "string", + "description": "An optional message id used to identify the message.\nIf no message id is provided, a new message id is generated and assigned to the message. This id must be unique across all messages created on the same account.\n(In case a previous message has been deleted according to GDPR deletion rules setup on the specific account, the messageId is allowed to be reused)\nIf max length is exceeded, the entire api call will fail.", + "example": "PetShop" + }, + { + "name": "respectBlacklist", + "schema": "boolean", + "description": "If true, this message will be blocked from sending if the target number is on the account's blacklist. If false, the message will be sent no matter blacklist settings.\nDefault: true", + "example": true + }, + { + "name": "validityPeriodInSeconds", + "schema": "integer", + "description": "The validity period in seconds. Minimum is 60 seconds and maximum is 172800 (48 hours).\nIf not specified, the messages is attempted to be delivered in 48 hours. A typical use of validityPeriod is for messages that makes no sense to delivery efter er certain time frame, in the case the phone is turned of, e.g. two factor codes.\nPlease note, that messages are still charged even though the operator is cancelling the delivery attempt due to an exceeded validity period.", + "example": 90 + }, + { + "name": "statusCallbackUrl", + "schema": "string", + "description": "In case you would like a callback from us when the message is delivered, you can specify it here and we will call it when we have new message statuses.\nThe callback payload will be an array of status objects.\nApi calls sending messages with the same apikey will be subject to being bulked together.", + "example": "https://[your_domain]/your/desired/path" + }, + { + "name": "sendTimeUtcTime", + "schema": "string", + "description": "" + }, + { + "name": "sendTimeLocalServerTime", + "schema": "string", + "description": "" + }, + { + "name": "msisdnCooldownInMinutes", + "schema": "integer", + "description": "If set, the message will be cancelled if the same mobile number already have received a SMS within this specified time period.\nFx. used to prevent spamming a mobile number.\nMinimum 60 minutes (1 hour) and maximum is 43200 minutes (30 days).", + "example": 1440 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v4/sms/outgoing/sendusingtemplate", + "method": "sendUsingTemplate", + "httpMethod": "post", + "tag": "Sms - Outgoing", + "typeScriptTag": "smsOutgoing", + "description": "Send sms messages using a template.", + "parameters": [ + { + "name": "templateId", + "schema": "string", + "required": true, + "description": "", + "example": "ecdcb257-c1e9-4b44-8a4e-f05822372d82" + }, + { + "name": "messages", + "schema": "array", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v4/sms/outgoing/cancel", + "method": "cancel", + "httpMethod": "post", + "tag": "Sms - Outgoing", + "typeScriptTag": "smsOutgoing", + "description": "Cancel sms messages", + "parameters": [ + { + "name": "messageIds", + "schema": "array", + "required": true, + "description": "", + "example": [ + "id1", + "id2" + ] + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v4/sms/outgoing/reports", + "method": "getReports", + "httpMethod": "get", + "tag": "Sms - Outgoing", + "typeScriptTag": "smsOutgoing", + "description": "Get sms status reports.", + "parameters": [ + { + "name": "limit", + "schema": "integer", + "description": "How many records to return (must be between 1 and 250)" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v4/sms/templates", + "method": "getAllTemplates", + "httpMethod": "get", + "tag": "Templates", + "typeScriptTag": "templates", + "description": "Get all templates", + "parameters": [ + { + "name": "pageLimit", + "schema": "integer", + "description": "How many records to return (must be between 1 and 250)" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v4/sms/templates/{id}", + "method": "getTemplate", + "httpMethod": "get", + "tag": "Templates", + "typeScriptTag": "templates", + "description": "Get template by id", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "", + "example": "ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v4/tools/parsephonenumbers", + "method": "parsePhoneNumbers", + "httpMethod": "post", + "tag": "Tools", + "typeScriptTag": "tools", + "description": "Parse phone numbers", + "parameters": [ + { + "name": "numbersToParse", + "schema": "array", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + } + ], + "repositoryDescription": "SMS-Gateway that handles 150M+ messages annually with 99.99% uptime. Easy communication for customers and employees. User-friendly gateway and API for seamless integration. inMobile's {language} SDK generated by Konfig (https://konfigthis.com/).", + "logo": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/inmobile/logo.png", + "openApiRaw": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/inmobile/openapi.yaml", + "openApiGitHubUi": "https://github.com/konfig-sdks/openapi-examples/tree/HEAD/inmobile/openapi.yaml", + "previewLinkImage": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/inmobile/imagePreview.png", + "faviconUrl": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/inmobile/favicon.jpg", + "clientNameCamelCase": "inMobile", + "lastUpdated": "2024-03-29T22:11:39.095Z", + "typescriptSdkUsageCode": "import { InMobile } from 'in-mobile-typescript-sdk';\n\nconst inMobile = new InMobile({\n // Provide Basic Authentiation with an arbitrary username and your api key as password, e.g. some_value_to_be_ignored:your_api_key_here\n username: \"USERNAME\",\n password: \"PASSWORD\",\n // Specify your apikey in the url as https://api.inmobile.com/some/path?apikey=your_api_key_here. This method is only recommended if basic authorization is not possible.\n queryParameter: \"APIKEY\"\n})", + "typescriptSdkFirstRequestCode": "// Returns all blacklists (Paged result. Follow _links.next to fetch all)\nconst getAllResponse = inMobile.blacklist.getAll()", + "fixedSpecFileName": "in-mobile-fixed-spec.yaml" +} \ No newline at end of file diff --git a/sdks/db/published/from-custom-request_innoship.io.json b/sdks/db/published/from-custom-request_innoship.io.json new file mode 100644 index 0000000000..3a4dc22428 --- /dev/null +++ b/sdks/db/published/from-custom-request_innoship.io.json @@ -0,0 +1,2985 @@ +{ + "securitySchemes": { + "ApiKeyAuth": { + "type": "apiKey", + "name": "X-Api-Key", + "in": "header" + } + }, + "apiBaseUrl": "https://api.innoship.com", + "apiVersion": "v1", + "apiDescription": "Api service implementation (version:6.0.1.503)", + "apiTitle": "Innoship API", + "endpoints": 46, + "sdkMethods": 51, + "schemas": 118, + "parameters": 330, + "contactEmail": "andrei@innoship.ro", + "originalCustomRequest": { + "type": "GET", + "url": "https://api.innoship.io/swagger/v1/swagger.json", + "apiBaseUrl": "https://api.innoship.com" + }, + "customRequestSpecFilename": "innoship.io.yaml", + "difficultyScore": 171, + "difficulty": "Medium", + "company": "Innoship", + "sdkName": "innoship-{language}-sdk", + "clientName": "Innoship", + "metaDescription": "Innoship is the advanced delivery management platform that helps retailers to improve customer experience by streamlining the delivery process. We combined our eCommerce logistics expertise with all the enterprise features you need to master last-mile customer experience. \n\nBacked by Abris Capital Partners, the ESG transformation specialist private equity investor, Innoship is now part of Alsendo group, the leading eCommerce shipping solutions technologies in the CEE region.\n\nFrom checkout and shipping to tracking, returns and analytics, Innoship helps you safely deliver on promises made to your customers. \n\nEffortless integration, hassle-free delivery\n•\tA simple, one-time integration with the Innoship app allows retailers to access any carrier, local or international.\n•\tExternal markets become readily available with seamless connections to hundreds of carriers in 15+ countries.", + "apiStatusUrls": "inherit", + "homepage": "innoship.io", + "developerDocumentation": "api.innoship.io/index.html", + "categories": [ + "shipping_api", + "logistics_provider", + "shipping_integration" + ], + "category": "eCommerce", + "methods": [ + { + "url": "/api/ClientLocation", + "method": "getDetail", + "httpMethod": "get", + "tag": "ClientLocation", + "typeScriptTag": "clientLocation", + "description": "", + "parameters": [ + { + "name": "countryCode", + "schema": "string", + "description": "" + }, + { + "name": "apiVersion", + "schema": "string", + "required": true, + "description": "The requested API version", + "example": "API-VERSION", + "default": "1.0" + }, + { + "name": "apiVersion", + "schema": "string", + "description": "The requested API version", + "default": "1.0" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Success" + } + ] + }, + { + "url": "/api/ClientLocation", + "method": "createNew", + "httpMethod": "post", + "tag": "ClientLocation", + "typeScriptTag": "clientLocation", + "description": "", + "parameters": [ + { + "name": "apiVersion", + "schema": "string", + "required": true, + "description": "The requested API version", + "example": "API-VERSION", + "default": "1.0" + }, + { + "name": "apiVersion", + "schema": "string", + "description": "The requested API version", + "default": "1.0" + }, + { + "name": "address", + "schema": "object", + "description": "" + }, + { + "name": "courierCutOffTimes", + "schema": "string", + "description": "" + }, + { + "name": "courierAutomaticCallTimes", + "schema": "string", + "description": "" + }, + { + "name": "useSameCourierForSameAddress", + "schema": "boolean", + "description": "" + }, + { + "name": "courierFailPolicy", + "schema": "integer", + "description": "" + }, + { + "name": "timeZoneId", + "schema": "string", + "description": "" + }, + { + "name": "priceGroupId", + "schema": "integer", + "description": "" + }, + { + "name": "notificationEmail", + "schema": "string", + "description": "" + }, + { + "name": "notificationPhone", + "schema": "string", + "description": "" + }, + { + "name": "courierVoucherService", + "schema": "object", + "description": "" + }, + { + "name": "marketPlaceCallBackSettings", + "schema": "object", + "description": "" + }, + { + "name": "importIsActive", + "schema": "boolean", + "description": "" + }, + { + "name": "setHandoverOnManifest", + "schema": "boolean", + "description": "" + }, + { + "name": "id", + "schema": "integer", + "description": "" + }, + { + "name": "name", + "schema": "string", + "description": "" + }, + { + "name": "externalLocationId", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Success" + } + ] + }, + { + "url": "/api/ClientLocation/{id}", + "method": "removeById", + "httpMethod": "delete", + "tag": "ClientLocation", + "typeScriptTag": "clientLocation", + "description": "", + "parameters": [ + { + "name": "id", + "schema": "integer", + "required": true, + "description": "", + "example": 0 + }, + { + "name": "apiVersion", + "schema": "string", + "required": true, + "description": "The requested API version", + "example": "API-VERSION", + "default": "1.0" + }, + { + "name": "apiVersion", + "schema": "string", + "description": "The requested API version", + "default": "1.0" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Success" + } + ] + }, + { + "url": "/api/ClientLocation/{id}", + "method": "getById", + "httpMethod": "get", + "tag": "ClientLocation", + "typeScriptTag": "clientLocation", + "description": "", + "parameters": [ + { + "name": "id", + "schema": "integer", + "required": true, + "description": "", + "example": 0 + }, + { + "name": "apiVersion", + "schema": "string", + "required": true, + "description": "The requested API version", + "example": "API-VERSION", + "default": "1.0" + }, + { + "name": "apiVersion", + "schema": "string", + "description": "The requested API version", + "default": "1.0" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Success" + } + ] + }, + { + "url": "/api/ClientLocation/{id}", + "method": "updateById", + "httpMethod": "put", + "tag": "ClientLocation", + "typeScriptTag": "clientLocation", + "description": "", + "parameters": [ + { + "name": "id", + "schema": "integer", + "required": true, + "description": "", + "example": 0 + }, + { + "name": "apiVersion", + "schema": "string", + "required": true, + "description": "The requested API version", + "example": "API-VERSION", + "default": "1.0" + }, + { + "name": "apiVersion", + "schema": "string", + "description": "The requested API version", + "default": "1.0" + }, + { + "name": "address", + "schema": "object", + "description": "" + }, + { + "name": "courierCutOffTimes", + "schema": "string", + "description": "" + }, + { + "name": "courierAutomaticCallTimes", + "schema": "string", + "description": "" + }, + { + "name": "useSameCourierForSameAddress", + "schema": "boolean", + "description": "" + }, + { + "name": "courierFailPolicy", + "schema": "integer", + "description": "" + }, + { + "name": "timeZoneId", + "schema": "string", + "description": "" + }, + { + "name": "priceGroupId", + "schema": "integer", + "description": "" + }, + { + "name": "notificationEmail", + "schema": "string", + "description": "" + }, + { + "name": "notificationPhone", + "schema": "string", + "description": "" + }, + { + "name": "courierVoucherService", + "schema": "object", + "description": "" + }, + { + "name": "marketPlaceCallBackSettings", + "schema": "object", + "description": "" + }, + { + "name": "importIsActive", + "schema": "boolean", + "description": "" + }, + { + "name": "setHandoverOnManifest", + "schema": "boolean", + "description": "" + }, + { + "name": "id", + "schema": "integer", + "description": "" + }, + { + "name": "name", + "schema": "string", + "description": "" + }, + { + "name": "externalLocationId", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Success" + } + ] + }, + { + "url": "/api/ClientLocation/Summary", + "method": "createSummaryReport", + "httpMethod": "post", + "tag": "ClientLocation", + "typeScriptTag": "clientLocation", + "description": "", + "parameters": [ + { + "name": "apiVersion", + "schema": "string", + "required": true, + "description": "The requested API version", + "example": "API-VERSION", + "default": "1.0" + }, + { + "name": "apiVersion", + "schema": "string", + "description": "The requested API version", + "default": "1.0" + }, + { + "name": "name", + "schema": "array", + "description": "" + }, + { + "name": "countryId", + "schema": "array", + "description": "" + }, + { + "name": "countyId", + "schema": "array", + "description": "" + }, + { + "name": "localityId", + "schema": "array", + "description": "" + }, + { + "name": "addressText", + "schema": "string", + "description": "" + }, + { + "name": "courierId", + "schema": "array", + "description": "" + }, + { + "name": "ids", + "schema": "array", + "description": "" + }, + { + "name": "createdAtLe", + "schema": "string", + "description": "" + }, + { + "name": "createdAtGe", + "schema": "string", + "description": "" + }, + { + "name": "userId", + "schema": "array", + "description": "" + }, + { + "name": "skip", + "schema": "integer", + "description": "" + }, + { + "name": "take", + "schema": "integer", + "description": "" + }, + { + "name": "orderBy", + "schema": "string", + "description": "" + }, + { + "name": "orderByAsc", + "schema": "boolean", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Success" + } + ] + }, + { + "url": "/api/ClientLocation/Validate", + "method": "validateLocationDetails", + "httpMethod": "post", + "tag": "ClientLocation", + "typeScriptTag": "clientLocation", + "description": "", + "parameters": [ + { + "name": "apiVersion", + "schema": "string", + "required": true, + "description": "The requested API version", + "example": "API-VERSION", + "default": "1.0" + }, + { + "name": "apiVersion", + "schema": "string", + "description": "The requested API version", + "default": "1.0" + }, + { + "name": "address", + "schema": "object", + "description": "" + }, + { + "name": "courierCutOffTimes", + "schema": "string", + "description": "" + }, + { + "name": "courierAutomaticCallTimes", + "schema": "string", + "description": "" + }, + { + "name": "useSameCourierForSameAddress", + "schema": "boolean", + "description": "" + }, + { + "name": "courierFailPolicy", + "schema": "integer", + "description": "" + }, + { + "name": "timeZoneId", + "schema": "string", + "description": "" + }, + { + "name": "priceGroupId", + "schema": "integer", + "description": "" + }, + { + "name": "notificationEmail", + "schema": "string", + "description": "" + }, + { + "name": "notificationPhone", + "schema": "string", + "description": "" + }, + { + "name": "courierVoucherService", + "schema": "object", + "description": "" + }, + { + "name": "marketPlaceCallBackSettings", + "schema": "object", + "description": "" + }, + { + "name": "importIsActive", + "schema": "boolean", + "description": "" + }, + { + "name": "setHandoverOnManifest", + "schema": "boolean", + "description": "" + }, + { + "name": "courierServices", + "schema": "array", + "description": "" + }, + { + "name": "id", + "schema": "integer", + "description": "" + }, + { + "name": "name", + "schema": "string", + "description": "" + }, + { + "name": "externalLocationId", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Success" + } + ] + }, + { + "url": "/api/ClientLocation/{locationId}/Courier", + "method": "createCourier", + "httpMethod": "post", + "tag": "ClientLocation", + "typeScriptTag": "clientLocation", + "description": "", + "parameters": [ + { + "name": "locationId", + "schema": "integer", + "required": true, + "description": "", + "example": 0 + }, + { + "name": "apiVersion", + "schema": "string", + "required": true, + "description": "The requested API version", + "example": "API-VERSION", + "default": "1.0" + }, + { + "name": "apiVersion", + "schema": "string", + "description": "The requested API version", + "default": "1.0" + }, + { + "name": "courierId", + "schema": "integer", + "description": "" + }, + { + "name": "isEmagMarketPlace", + "schema": "boolean", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Success" + } + ] + }, + { + "url": "/api/ClientLocation/{locationId}/Courier/{courierId}", + "method": "removeCourierById", + "httpMethod": "delete", + "tag": "ClientLocation", + "typeScriptTag": "clientLocation", + "description": "", + "parameters": [ + { + "name": "locationId", + "schema": "integer", + "required": true, + "description": "", + "example": 0 + }, + { + "name": "courierId", + "schema": "integer", + "required": true, + "description": "", + "example": 0 + }, + { + "name": "force", + "schema": "boolean", + "description": "" + }, + { + "name": "isEmagMarketPlace", + "schema": "boolean", + "description": "" + }, + { + "name": "apiVersion", + "schema": "string", + "required": true, + "description": "The requested API version", + "example": "API-VERSION", + "default": "1.0" + }, + { + "name": "apiVersion", + "schema": "string", + "description": "The requested API version", + "default": "1.0" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Success" + } + ] + }, + { + "url": "/api/ClientLocation/{locationId}/CourierServices", + "method": "updateCourierServices", + "httpMethod": "patch", + "tag": "ClientLocation", + "typeScriptTag": "clientLocation", + "description": "", + "parameters": [ + { + "name": "locationId", + "schema": "integer", + "required": true, + "description": "", + "example": 0 + }, + { + "name": "applyToAllLocations", + "schema": "boolean", + "description": "" + }, + { + "name": "apiVersion", + "schema": "string", + "required": true, + "description": "The requested API version", + "example": "API-VERSION", + "default": "1.0" + }, + { + "name": "apiVersion", + "schema": "string", + "description": "The requested API version", + "default": "1.0" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Success" + } + ] + }, + { + "url": "/api/ClientLocation/{locationId}/CourierServices", + "method": "updateCourierServices", + "httpMethod": "put", + "tag": "ClientLocation", + "typeScriptTag": "clientLocation", + "description": "", + "parameters": [ + { + "name": "locationId", + "schema": "integer", + "required": true, + "description": "", + "example": 0 + }, + { + "name": "applyToAllLocations", + "schema": "boolean", + "description": "" + }, + { + "name": "apiVersion", + "schema": "string", + "required": true, + "description": "The requested API version", + "example": "API-VERSION", + "default": "1.0" + }, + { + "name": "apiVersion", + "schema": "string", + "description": "The requested API version", + "default": "1.0" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Success" + } + ] + }, + { + "url": "/api/Courier/RequestPickup", + "method": "requestPickup", + "httpMethod": "post", + "tag": "Courier", + "typeScriptTag": "courier", + "description": "Request pickup to courier", + "parameters": [ + { + "name": "apiVersion", + "schema": "string", + "required": true, + "description": "The requested API version", + "example": "API-VERSION", + "default": "1.0" + }, + { + "name": "apiVersion", + "schema": "string", + "description": "The requested API version", + "default": "1.0" + }, + { + "name": "courierId", + "schema": "integer", + "description": "" + }, + { + "name": "locationId", + "schema": "integer", + "description": "" + }, + { + "name": "lastPickupHour", + "schema": "integer", + "description": "" + }, + { + "name": "lastPickMinute", + "schema": "integer", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "Unable to authorize request" + } + ] + }, + { + "url": "/api/Courier/All", + "method": "getAll", + "httpMethod": "get", + "tag": "Courier", + "typeScriptTag": "courier", + "description": "Get all couriers", + "parameters": [ + { + "name": "apiVersion", + "schema": "string", + "required": true, + "description": "The requested API version", + "example": "API-VERSION", + "default": "1.0" + }, + { + "name": "apiVersion", + "schema": "string", + "description": "The requested API version", + "default": "1.0" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "Unable to authorize request" + } + ] + }, + { + "url": "/api/Feedback/{from}/{to}", + "method": "getBetweenDates", + "httpMethod": "get", + "tag": "Feedback", + "typeScriptTag": "feedback", + "description": "", + "parameters": [ + { + "name": "from", + "schema": "string", + "required": true, + "description": "", + "example": "FROM" + }, + { + "name": "to", + "schema": "string", + "required": true, + "description": "", + "example": "TO" + }, + { + "name": "apiVersion", + "schema": "string", + "required": true, + "description": "The requested API version", + "example": "API-VERSION", + "default": "1.0" + }, + { + "name": "apiVersion", + "schema": "string", + "description": "The requested API version", + "default": "1.0" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Success" + } + ] + }, + { + "url": "/api/Label/by-courier/{courierId}/awb/{awb}", + "method": "getByCourierAwb", + "httpMethod": "get", + "tag": "Label", + "typeScriptTag": "label", + "description": "Gets the label for the specified courier awb number", + "parameters": [ + { + "name": "courierId", + "schema": "integer", + "required": true, + "description": "", + "example": 0 + }, + { + "name": "awb", + "schema": "string", + "required": true, + "description": "", + "example": "AWB" + }, + { + "name": "type", + "schema": "string", + "description": "", + "default": "PDF" + }, + { + "name": "format", + "schema": "string", + "description": "", + "default": "A6" + }, + { + "name": "includeVoucher", + "schema": "boolean", + "description": "", + "default": false + }, + { + "name": "useFile", + "schema": "boolean", + "description": "", + "default": true + }, + { + "name": "skipCache", + "schema": "boolean", + "description": "", + "default": false + }, + { + "name": "apiVersion", + "schema": "string", + "required": true, + "description": "The requested API version", + "example": "API-VERSION", + "default": "1.0" + }, + { + "name": "apiVersion", + "schema": "string", + "description": "The requested API version", + "default": "1.0" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "Unable to authorize request" + } + ] + }, + { + "url": "/api/Label/by-courier/{courierId}/voucher/{awb}", + "method": "getVoucherByCourierAwb", + "httpMethod": "get", + "tag": "Label", + "typeScriptTag": "label", + "description": "Gets the voucher label for the specified courier awb number", + "parameters": [ + { + "name": "courierId", + "schema": "integer", + "required": true, + "description": "", + "example": 0 + }, + { + "name": "awb", + "schema": "string", + "required": true, + "description": "", + "example": "AWB" + }, + { + "name": "type", + "schema": "string", + "description": "", + "default": "PDF" + }, + { + "name": "format", + "schema": "string", + "description": "", + "default": "A6" + }, + { + "name": "useFile", + "schema": "boolean", + "description": "", + "default": true + }, + { + "name": "skipCache", + "schema": "boolean", + "description": "", + "default": false + }, + { + "name": "apiVersion", + "schema": "string", + "required": true, + "description": "The requested API version", + "example": "API-VERSION", + "default": "1.0" + }, + { + "name": "apiVersion", + "schema": "string", + "description": "The requested API version", + "default": "1.0" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "Unable to authorize request" + } + ] + }, + { + "url": "/api/Label/by-courier/{courierId}/awb/{awb}/parcel/{barcodes}", + "method": "getByAwbAndParcel", + "httpMethod": "get", + "tag": "Label", + "typeScriptTag": "label", + "description": "Gets the label for the specified courier parcel barcode and order awb", + "parameters": [ + { + "name": "courierId", + "schema": "integer", + "required": true, + "description": "", + "example": 0 + }, + { + "name": "awb", + "schema": "string", + "required": true, + "description": "", + "example": "AWB" + }, + { + "name": "barcodes", + "schema": "string", + "required": true, + "description": "", + "example": "BARCODES" + }, + { + "name": "type", + "schema": "string", + "description": "", + "default": "PDF" + }, + { + "name": "format", + "schema": "string", + "description": "", + "default": "A6" + }, + { + "name": "useFile", + "schema": "boolean", + "description": "", + "default": true + }, + { + "name": "skipCache", + "schema": "boolean", + "description": "", + "default": false + }, + { + "name": "apiVersion", + "schema": "string", + "required": true, + "description": "The requested API version", + "example": "API-VERSION", + "default": "1.0" + }, + { + "name": "apiVersion", + "schema": "string", + "description": "The requested API version", + "default": "1.0" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "Unable to authorize request" + } + ] + }, + { + "url": "/api/Label/bulk", + "method": "createBulk", + "httpMethod": "post", + "tag": "Label", + "typeScriptTag": "label", + "description": "Create bulk labels operation", + "parameters": [ + { + "name": "apiVersion", + "schema": "string", + "required": true, + "description": "The requested API version", + "example": "API-VERSION", + "default": "1.0" + }, + { + "name": "apiVersion", + "schema": "string", + "description": "The requested API version", + "default": "1.0" + }, + { + "name": "labelType", + "schema": "string", + "description": "" + }, + { + "name": "labelFormat", + "schema": "string", + "description": "" + }, + { + "name": "useFile", + "schema": "boolean", + "description": "" + }, + { + "name": "includeVoucher", + "schema": "boolean", + "description": "" + }, + { + "name": "awBs", + "schema": "array", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Returns OperationId" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "Unable to authorize request" + } + ] + }, + { + "url": "/api/Label/bulk/{operationId}", + "method": "getBulkByOperationId", + "httpMethod": "get", + "tag": "Label", + "typeScriptTag": "label", + "description": "Get bulk labels by operationId", + "parameters": [ + { + "name": "operationId", + "schema": "string", + "required": true, + "description": "", + "example": "OPERATIONID" + }, + { + "name": "apiVersion", + "schema": "string", + "required": true, + "description": "The requested API version", + "example": "API-VERSION", + "default": "1.0" + }, + { + "name": "apiVersion", + "schema": "string", + "description": "The requested API version", + "default": "1.0" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "Unable to authorize request" + } + ] + }, + { + "url": "/api/Location/ClientLocations", + "method": "getClientLocations", + "httpMethod": "get", + "tag": "Location", + "typeScriptTag": "location", + "description": "", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "Success" + } + ] + }, + { + "url": "/api/Location/FixedLocation/{id}", + "method": "getFixedLocationById", + "httpMethod": "get", + "tag": "Location", + "typeScriptTag": "location", + "description": "", + "parameters": [ + { + "name": "id", + "schema": "integer", + "required": true, + "description": "", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Success" + } + ] + }, + { + "url": "/api/Location/FixedLocations", + "method": "getFixedLocations", + "httpMethod": "get", + "tag": "Location", + "typeScriptTag": "location", + "description": "", + "parameters": [ + { + "name": "courier", + "schema": "string", + "description": "" + }, + { + "name": "countryCode", + "schema": "string", + "description": "" + }, + { + "name": "countyName", + "schema": "string", + "description": "" + }, + { + "name": "localityName", + "schema": "string", + "description": "" + }, + { + "name": "fixedLocationType", + "schema": "string", + "description": "" + }, + { + "name": "showInactive", + "schema": "boolean", + "description": "" + }, + { + "name": "restrictionParcelsCount", + "schema": "integer", + "description": "" + }, + { + "name": "restrictionSizeHeight", + "schema": "integer", + "description": "" + }, + { + "name": "restrictionSizeWidth", + "schema": "integer", + "description": "" + }, + { + "name": "restrictionSizeLength", + "schema": "integer", + "description": "" + }, + { + "name": "externalLocationId", + "schema": "string", + "description": "" + }, + { + "name": "latitude", + "schema": "number", + "description": "" + }, + { + "name": "longitude", + "schema": "number", + "description": "" + }, + { + "name": "radius", + "schema": "number", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Success" + } + ] + }, + { + "url": "/api/Location/Countries", + "method": "getCountryList", + "httpMethod": "get", + "tag": "Location", + "typeScriptTag": "location", + "description": "", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "Success" + } + ] + }, + { + "url": "/api/Location/Counties/{countryCode}", + "method": "getCountiesByCountryCode", + "httpMethod": "get", + "tag": "Location", + "typeScriptTag": "location", + "description": "", + "parameters": [ + { + "name": "countryCode", + "schema": "string", + "required": true, + "description": "", + "example": "COUNTRYCODE" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Success" + } + ] + }, + { + "url": "/api/Location/Localities/{countyId}", + "method": "getLocalitiesByCountyId", + "httpMethod": "get", + "tag": "Location", + "typeScriptTag": "location", + "description": "", + "parameters": [ + { + "name": "countyId", + "schema": "integer", + "required": true, + "description": "", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Success" + } + ] + }, + { + "url": "/api/Location/Postalcodes/{CountryCode}/{PostalCode}", + "method": "getPostalCodeDetails", + "httpMethod": "get", + "tag": "Location", + "typeScriptTag": "location", + "description": "", + "parameters": [ + { + "name": "countryCode", + "schema": "string", + "required": true, + "description": "", + "example": "COUNTRYCODE" + }, + { + "name": "postalCode", + "schema": "string", + "required": true, + "description": "", + "example": "POSTALCODE" + }, + { + "name": "courierId", + "schema": "integer", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/api/Location/Postalcodes/{LocalityId}", + "method": "getPostalcodesByLocalityId", + "httpMethod": "get", + "tag": "Location", + "typeScriptTag": "location", + "description": "", + "parameters": [ + { + "name": "localityId", + "schema": "integer", + "required": true, + "description": "", + "example": 0 + }, + { + "name": "courierId", + "schema": "integer", + "description": "" + }, + { + "name": "filter", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/api/Location/Postalcodes/Country/{CountryCode}", + "method": "getPostalCodesByCountry", + "httpMethod": "get", + "tag": "Location", + "typeScriptTag": "location", + "description": "", + "parameters": [ + { + "name": "countryCode", + "schema": "string", + "required": true, + "description": "", + "example": "COUNTRYCODE" + }, + { + "name": "courierId", + "schema": "integer", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/api/Manifest", + "method": "reportById", + "httpMethod": "get", + "tag": "Manifest", + "typeScriptTag": "manifest", + "description": "Requests manifest report by id", + "parameters": [ + { + "name": "manifestId", + "schema": "integer", + "description": "" + }, + { + "name": "apiVersion", + "schema": "string", + "required": true, + "description": "The requested API version", + "example": "API-VERSION", + "default": "1.0" + }, + { + "name": "apiVersion", + "schema": "string", + "description": "The requested API version", + "default": "1.0" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Returns PDF" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "Unable to authorize request" + } + ] + }, + { + "url": "/api/Manifest", + "method": "requestPickupAndManifestId", + "httpMethod": "post", + "tag": "Manifest", + "typeScriptTag": "manifest", + "description": "Requests pickup and get manifest id", + "parameters": [ + { + "name": "apiVersion", + "schema": "string", + "required": true, + "description": "The requested API version", + "example": "API-VERSION", + "default": "1.0" + }, + { + "name": "apiVersion", + "schema": "string", + "description": "The requested API version", + "default": "1.0" + }, + { + "name": "courierId", + "schema": "string", + "description": "" + }, + { + "name": "externalLocationId", + "schema": "string", + "description": "" + }, + { + "name": "lastPickHour", + "schema": "integer", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Returns ManifestId" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "Unable to authorize request" + } + ] + }, + { + "url": "/api/Notifications/sendsms", + "method": "sendSmsNotification", + "httpMethod": "post", + "tag": "Notifications", + "typeScriptTag": "notifications", + "description": "", + "parameters": [ + { + "name": "apiVersion", + "schema": "string", + "required": true, + "description": "The requested API version", + "example": "API-VERSION", + "default": "1.0" + }, + { + "name": "apiVersion", + "schema": "string", + "description": "The requested API version", + "default": "1.0" + }, + { + "name": "campaignName", + "schema": "string", + "description": "" + }, + { + "name": "data", + "schema": "array", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Success" + } + ] + }, + { + "url": "/api/OfflineOrder/Activate", + "method": "activateOrder", + "httpMethod": "put", + "tag": "OfflineOrder", + "typeScriptTag": "offlineOrder", + "description": "Activate Offline Orders", + "parameters": [ + { + "name": "apiVersion", + "schema": "string", + "required": true, + "description": "The requested API version", + "example": "API-VERSION", + "default": "1.0" + }, + { + "name": "apiVersion", + "schema": "string", + "description": "The requested API version", + "default": "1.0" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Activated successfully" + }, + { + "statusCode": "400", + "description": "Unable to process due to validation errors" + }, + { + "statusCode": "401", + "description": "Unable to authorize request" + } + ] + }, + { + "url": "/api/OfflineOrder/Edit", + "method": "updateOrderDetails", + "httpMethod": "put", + "tag": "OfflineOrder", + "typeScriptTag": "offlineOrder", + "description": "Edit Offline Orders", + "parameters": [ + { + "name": "apiVersion", + "schema": "string", + "required": true, + "description": "The requested API version", + "example": "API-VERSION", + "default": "1.0" + }, + { + "name": "apiVersion", + "schema": "string", + "description": "The requested API version", + "default": "1.0" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Activated successfully" + }, + { + "statusCode": "400", + "description": "Unable to process due to validation errors" + }, + { + "statusCode": "401", + "description": "Unable to authorize request" + } + ] + }, + { + "url": "/api/OfflineOrder/Add", + "method": "addOrder", + "httpMethod": "post", + "tag": "OfflineOrder", + "typeScriptTag": "offlineOrder", + "description": "Add Offline Orders", + "parameters": [ + { + "name": "apiVersion", + "schema": "string", + "required": true, + "description": "The requested API version", + "example": "API-VERSION", + "default": "1.0" + }, + { + "name": "apiVersion", + "schema": "string", + "description": "The requested API version", + "default": "1.0" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Added successfully" + }, + { + "statusCode": "400", + "description": "Unable to process due to validation errors" + }, + { + "statusCode": "401", + "description": "Unable to authorize request" + } + ] + }, + { + "url": "/api/Order", + "method": "createNewOrder", + "httpMethod": "post", + "tag": "Order", + "typeScriptTag": "order", + "description": "Creates a new order", + "parameters": [ + { + "name": "apiVersion", + "schema": "string", + "required": true, + "description": "The requested API version", + "example": "API-VERSION", + "default": "1.0" + }, + { + "name": "apiVersion", + "schema": "string", + "description": "The requested API version", + "default": "1.0" + }, + { + "name": "parameters", + "schema": "object", + "description": "" + }, + { + "name": "serviceId", + "schema": "integer", + "description": "" + }, + { + "name": "courierId", + "schema": "string", + "description": "" + }, + { + "name": "shipmentDate", + "schema": "string", + "description": "" + }, + { + "name": "shipmentDateEnd", + "schema": "string", + "description": "" + }, + { + "name": "addressFrom", + "schema": "object", + "description": "" + }, + { + "name": "addressTo", + "schema": "object", + "description": "" + }, + { + "name": "addressReturn", + "schema": "object", + "description": "" + }, + { + "name": "payment", + "schema": "string", + "description": "" + }, + { + "name": "content", + "schema": "object", + "description": "" + }, + { + "name": "extra", + "schema": "object", + "description": "" + }, + { + "name": "externalClientLocation", + "schema": "string", + "description": "" + }, + { + "name": "externalOrderId", + "schema": "string", + "description": "" + }, + { + "name": "metadata", + "schema": "string", + "description": "" + }, + { + "name": "sourceChannel", + "schema": "string", + "description": "" + }, + { + "name": "observation", + "schema": "string", + "description": "" + }, + { + "name": "customAttributes", + "schema": "object", + "description": "" + }, + { + "name": "clientSettings", + "schema": "object", + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + } + ] + }, + { + "url": "/api/Order/simulate", + "method": "simulateOrder", + "httpMethod": "post", + "tag": "Order", + "typeScriptTag": "order", + "description": "", + "parameters": [ + { + "name": "apiVersion", + "schema": "string", + "required": true, + "description": "The requested API version", + "example": "API-VERSION", + "default": "1.0" + }, + { + "name": "apiVersion", + "schema": "string", + "description": "The requested API version", + "default": "1.0" + }, + { + "name": "parameters", + "schema": "object", + "description": "" + }, + { + "name": "serviceId", + "schema": "integer", + "description": "" + }, + { + "name": "courierId", + "schema": "string", + "description": "" + }, + { + "name": "shipmentDate", + "schema": "string", + "description": "" + }, + { + "name": "shipmentDateEnd", + "schema": "string", + "description": "" + }, + { + "name": "addressFrom", + "schema": "object", + "description": "" + }, + { + "name": "addressTo", + "schema": "object", + "description": "" + }, + { + "name": "addressReturn", + "schema": "object", + "description": "" + }, + { + "name": "payment", + "schema": "string", + "description": "" + }, + { + "name": "content", + "schema": "object", + "description": "" + }, + { + "name": "extra", + "schema": "object", + "description": "" + }, + { + "name": "externalClientLocation", + "schema": "string", + "description": "" + }, + { + "name": "externalOrderId", + "schema": "string", + "description": "" + }, + { + "name": "metadata", + "schema": "string", + "description": "" + }, + { + "name": "sourceChannel", + "schema": "string", + "description": "" + }, + { + "name": "observation", + "schema": "string", + "description": "" + }, + { + "name": "customAttributes", + "schema": "object", + "description": "" + }, + { + "name": "clientSettings", + "schema": "object", + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + } + ] + }, + { + "url": "/api/Order/validate", + "method": "validateNewOrder", + "httpMethod": "post", + "tag": "Order", + "typeScriptTag": "order", + "description": "Validates a new order request", + "parameters": [ + { + "name": "apiVersion", + "schema": "string", + "required": true, + "description": "The requested API version", + "example": "API-VERSION", + "default": "1.0" + }, + { + "name": "apiVersion", + "schema": "string", + "description": "The requested API version", + "default": "1.0" + }, + { + "name": "parameters", + "schema": "object", + "description": "" + }, + { + "name": "serviceId", + "schema": "integer", + "description": "" + }, + { + "name": "courierId", + "schema": "string", + "description": "" + }, + { + "name": "shipmentDate", + "schema": "string", + "description": "" + }, + { + "name": "shipmentDateEnd", + "schema": "string", + "description": "" + }, + { + "name": "addressFrom", + "schema": "object", + "description": "" + }, + { + "name": "addressTo", + "schema": "object", + "description": "" + }, + { + "name": "addressReturn", + "schema": "object", + "description": "" + }, + { + "name": "payment", + "schema": "string", + "description": "" + }, + { + "name": "content", + "schema": "object", + "description": "" + }, + { + "name": "extra", + "schema": "object", + "description": "" + }, + { + "name": "externalClientLocation", + "schema": "string", + "description": "" + }, + { + "name": "externalOrderId", + "schema": "string", + "description": "" + }, + { + "name": "metadata", + "schema": "string", + "description": "" + }, + { + "name": "sourceChannel", + "schema": "string", + "description": "" + }, + { + "name": "observation", + "schema": "string", + "description": "" + }, + { + "name": "customAttributes", + "schema": "object", + "description": "" + }, + { + "name": "clientSettings", + "schema": "object", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "201", + "description": "Creates an new order in the system" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + } + ] + }, + { + "url": "/api/Order/multiple/simulate", + "method": "simulateMultiple", + "httpMethod": "post", + "tag": "Order", + "typeScriptTag": "order", + "description": "", + "parameters": [ + { + "name": "apiVersion", + "schema": "string", + "required": true, + "description": "The requested API version", + "example": "API-VERSION", + "default": "1.0" + }, + { + "name": "apiVersion", + "schema": "string", + "description": "The requested API version", + "default": "1.0" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + } + ] + }, + { + "url": "/api/Order/file", + "method": "uploadFile", + "httpMethod": "post", + "tag": "Order", + "typeScriptTag": "order", + "description": "", + "parameters": [ + { + "name": "apiVersion", + "schema": "string", + "required": true, + "description": "The requested API version", + "example": "API-VERSION", + "default": "1.0" + }, + { + "name": "apiVersion", + "schema": "string", + "description": "The requested API version", + "default": "1.0" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + } + ] + }, + { + "url": "/api/Order/{courierId}/awb/{awbNo}", + "method": "deleteExistingOrder", + "httpMethod": "delete", + "tag": "Order", + "typeScriptTag": "order", + "description": "Deletes an existing order", + "parameters": [ + { + "name": "courierId", + "schema": "integer", + "required": true, + "description": "Courier id", + "example": 0 + }, + { + "name": "awbNo", + "schema": "string", + "required": true, + "description": "AWB number", + "example": "AWBNO" + }, + { + "name": "apiVersion", + "schema": "string", + "required": true, + "description": "The requested API version", + "example": "API-VERSION", + "default": "1.0" + }, + { + "name": "apiVersion", + "schema": "string", + "description": "The requested API version", + "default": "1.0" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + } + ] + }, + { + "url": "/api/Order/UpdateStatus", + "method": "updateStatus", + "httpMethod": "post", + "tag": "Order", + "typeScriptTag": "order", + "description": "Updates orders statuses", + "parameters": [ + { + "name": "apiVersion", + "schema": "string", + "required": true, + "description": "The requested API version", + "example": "API-VERSION", + "default": "1.0" + }, + { + "name": "apiVersion", + "schema": "string", + "description": "The requested API version", + "default": "1.0" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Request was processed successfully" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + } + ] + }, + { + "url": "/api/Order/UpdateParcels", + "method": "updateParcels", + "httpMethod": "post", + "tag": "Order", + "typeScriptTag": "order", + "description": "Create a new order based on the existing one and cancel the original", + "parameters": [ + { + "name": "apiVersion", + "schema": "string", + "required": true, + "description": "The requested API version", + "example": "API-VERSION", + "default": "1.0" + }, + { + "name": "apiVersion", + "schema": "string", + "description": "The requested API version", + "default": "1.0" + }, + { + "name": "parameters", + "schema": "object", + "description": "" + }, + { + "name": "courierId", + "schema": "string", + "description": "" + }, + { + "name": "courierShipmentId", + "schema": "string", + "description": "" + }, + { + "name": "envelopeCount", + "schema": "integer", + "description": "" + }, + { + "name": "parcelsCount", + "schema": "integer", + "description": "" + }, + { + "name": "palettesCount", + "schema": "integer", + "description": "" + }, + { + "name": "oversizedPackage", + "schema": "boolean", + "description": "" + }, + { + "name": "totalWeight", + "schema": "number", + "description": "" + }, + { + "name": "parcels", + "schema": "array", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Creates an new order in the system" + }, + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + } + ] + }, + { + "url": "/api/Order/UpdateCustomAttributes/{courierId}/awb/{awb}", + "method": "updateCustomAttributes", + "httpMethod": "post", + "tag": "Order", + "typeScriptTag": "order", + "description": "Updates custom attributes", + "parameters": [ + { + "name": "courierId", + "schema": "integer", + "required": true, + "description": "Courier id", + "example": 0 + }, + { + "name": "awb", + "schema": "string", + "required": true, + "description": "AWB number", + "example": "AWB" + }, + { + "name": "apiVersion", + "schema": "string", + "required": true, + "description": "The requested API version", + "example": "API-VERSION", + "default": "1.0" + }, + { + "name": "apiVersion", + "schema": "string", + "description": "The requested API version", + "default": "1.0" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Request was processed successfully" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + } + ] + }, + { + "url": "/api/Order/by-location/{externalLocationId}/{from}/{to}", + "method": "getByLocationDates", + "httpMethod": "get", + "tag": "Order", + "typeScriptTag": "order", + "description": "Retrieve orders by externalLocationId with dates filter", + "parameters": [ + { + "name": "externalLocationId", + "schema": "string", + "required": true, + "description": "External Location Id", + "example": "EXTERNALLOCATIONID" + }, + { + "name": "from", + "schema": "string", + "required": true, + "description": "From date", + "example": "FROM" + }, + { + "name": "to", + "schema": "string", + "required": true, + "description": "To date", + "example": "TO" + }, + { + "name": "apiVersion", + "schema": "string", + "required": true, + "description": "The requested API version", + "example": "API-VERSION", + "default": "1.0" + }, + { + "name": "apiVersion", + "schema": "string", + "description": "The requested API version", + "default": "1.0" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Request was processed successfully" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + } + ] + }, + { + "url": "/api/Order/ReturnAwbInfo/{courierId}/{returnAwb}", + "method": "getReturnAwbInfo", + "httpMethod": "get", + "tag": "Order", + "typeScriptTag": "order", + "description": "", + "parameters": [ + { + "name": "courierId", + "schema": "integer", + "required": true, + "description": "", + "example": 0 + }, + { + "name": "returnAwb", + "schema": "string", + "required": true, + "description": "", + "example": "RETURNAWB" + }, + { + "name": "apiVersion", + "schema": "string", + "required": true, + "description": "The requested API version", + "example": "API-VERSION", + "default": "1.0" + }, + { + "name": "apiVersion", + "schema": "string", + "description": "The requested API version", + "default": "1.0" + } + ], + "responses": [ + { + "statusCode": "default", + "description": "" + } + ] + }, + { + "url": "/api/Order/UploadDocuments", + "method": "uploadDocuments", + "httpMethod": "post", + "tag": "Order", + "typeScriptTag": "order", + "description": "UploadDocuments", + "parameters": [ + { + "name": "apiVersion", + "schema": "string", + "required": true, + "description": "The requested API version", + "example": "API-VERSION", + "default": "1.0" + }, + { + "name": "apiVersion", + "schema": "string", + "description": "The requested API version", + "default": "1.0" + }, + { + "name": "courierId", + "schema": "string", + "description": "" + }, + { + "name": "courierShipmentId", + "schema": "string", + "description": "" + }, + { + "name": "attachments", + "schema": "array", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + } + ] + }, + { + "url": "/api/Price", + "method": "getPrices", + "httpMethod": "post", + "tag": "Price", + "typeScriptTag": "price", + "description": "Gets the prices for the specified request", + "parameters": [ + { + "name": "apiVersion", + "schema": "string", + "required": true, + "description": "The requested API version", + "example": "API-VERSION", + "default": "1.0" + }, + { + "name": "apiVersion", + "schema": "string", + "description": "The requested API version", + "default": "1.0" + }, + { + "name": "parameters", + "schema": "object", + "description": "" + }, + { + "name": "serviceId", + "schema": "integer", + "description": "" + }, + { + "name": "courierId", + "schema": "string", + "description": "" + }, + { + "name": "shipmentDate", + "schema": "string", + "description": "" + }, + { + "name": "shipmentDateEnd", + "schema": "string", + "description": "" + }, + { + "name": "addressFrom", + "schema": "object", + "description": "" + }, + { + "name": "addressTo", + "schema": "object", + "description": "" + }, + { + "name": "addressReturn", + "schema": "object", + "description": "" + }, + { + "name": "payment", + "schema": "string", + "description": "" + }, + { + "name": "content", + "schema": "object", + "description": "" + }, + { + "name": "extra", + "schema": "object", + "description": "" + }, + { + "name": "externalClientLocation", + "schema": "string", + "description": "" + }, + { + "name": "externalOrderId", + "schema": "string", + "description": "" + }, + { + "name": "metadata", + "schema": "string", + "description": "" + }, + { + "name": "sourceChannel", + "schema": "string", + "description": "" + }, + { + "name": "observation", + "schema": "string", + "description": "" + }, + { + "name": "customAttributes", + "schema": "object", + "description": "" + }, + { + "name": "clientSettings", + "schema": "object", + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "401", + "description": "" + } + ] + }, + { + "url": "/api/Track/by-awb/with-return", + "method": "orderCourierAwbWithReturn", + "httpMethod": "post", + "tag": "Track", + "typeScriptTag": "track", + "description": "Track by Order Courier AWB with return info", + "parameters": [ + { + "name": "apiVersion", + "schema": "string", + "required": true, + "description": "The requested API version", + "example": "API-VERSION", + "default": "1.0" + }, + { + "name": "apiVersion", + "schema": "string", + "description": "The requested API version", + "default": "1.0" + }, + { + "name": "courier", + "schema": "string", + "description": "" + }, + { + "name": "awbList", + "schema": "array", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/api/Track/return/by-awb", + "method": "byAwb", + "httpMethod": "post", + "tag": "Track", + "typeScriptTag": "track", + "description": "Track Retrun by Courier AWB", + "parameters": [ + { + "name": "apiVersion", + "schema": "string", + "required": true, + "description": "The requested API version", + "example": "API-VERSION", + "default": "1.0" + }, + { + "name": "apiVersion", + "schema": "string", + "description": "The requested API version", + "default": "1.0" + }, + { + "name": "courier", + "schema": "string", + "description": "" + }, + { + "name": "awbList", + "schema": "array", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/api/Voucher/Create", + "method": "generateNewVoucher", + "httpMethod": "post", + "tag": "Voucher", + "typeScriptTag": "voucher", + "description": "Create Voucher", + "parameters": [ + { + "name": "apiVersion", + "schema": "string", + "required": true, + "description": "The requested API version", + "example": "API-VERSION", + "default": "1.0" + }, + { + "name": "apiVersion", + "schema": "string", + "description": "The requested API version", + "default": "1.0" + }, + { + "name": "courier", + "schema": "string", + "description": "" + }, + { + "name": "courierShipmentId", + "schema": "string", + "description": "" + }, + { + "name": "voucherCourier", + "schema": "string", + "description": "" + }, + { + "name": "insuranceAmount", + "schema": "number", + "description": "" + }, + { + "name": "insuranceCurrency", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Activated successfully" + }, + { + "statusCode": "400", + "description": "Unable to process due to validation errors" + }, + { + "statusCode": "401", + "description": "Unable to authorize request" + } + ] + }, + { + "url": "/api/Voucher/Activate", + "method": "activateVoucher", + "httpMethod": "post", + "tag": "Voucher", + "typeScriptTag": "voucher", + "description": "Activate Voucher", + "parameters": [ + { + "name": "apiVersion", + "schema": "string", + "required": true, + "description": "The requested API version", + "example": "API-VERSION", + "default": "1.0" + }, + { + "name": "apiVersion", + "schema": "string", + "description": "The requested API version", + "default": "1.0" + }, + { + "name": "courier", + "schema": "string", + "description": "" + }, + { + "name": "courierShipmentId", + "schema": "string", + "description": "" + }, + { + "name": "courierShipmentVoucher", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Activated successfully" + }, + { + "statusCode": "400", + "description": "Unable to process due to validation errors" + }, + { + "statusCode": "401", + "description": "Unable to authorize request" + } + ] + } + ], + "repositoryDescription": "Innoship offers an advanced delivery management platform for retailers, combining eCommerce logistics expertise with enterprise features to optimize last-mile customer experience. Backed by Abris Capital Partners, now part of Alsendo group, it provides effortless integration with diverse carriers for seamless global shipping.", + "logo": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/innoship/logo.png", + "openApiRaw": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/innoship/openapi.yaml", + "openApiGitHubUi": "https://github.com/konfig-sdks/openapi-examples/tree/HEAD/innoship/openapi.yaml", + "previewLinkImage": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/innoship/imagePreview.jpg", + "faviconUrl": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/innoship/favicon.png", + "clientNameCamelCase": "innoship", + "lastUpdated": "2024-03-29T22:11:39.095Z", + "typescriptSdkUsageCode": "import { Innoship } from 'innoship-typescript-sdk';\n\nconst innoship = new Innoship({\n apiKeyAuth: \"X_API_KEY\"\n})", + "typescriptSdkFirstRequestCode": "// \nconst getDetailResponse = innoship.clientLocation.getDetail({\n apiVersion: \"API-VERSION\"\n apiVersion: \"1.0\"\n})", + "fixedSpecFileName": "innoship-fixed-spec.yaml" +} \ No newline at end of file diff --git a/sdks/db/published/from-custom-request_lucca-hr.com_Figgo.json b/sdks/db/published/from-custom-request_lucca-hr.com_Figgo.json index c3840e57db..d467e2c308 100644 --- a/sdks/db/published/from-custom-request_lucca-hr.com_Figgo.json +++ b/sdks/db/published/from-custom-request_lucca-hr.com_Figgo.json @@ -23,7 +23,7 @@ }, "customRequestSpecFilename": "lucca-hr.com_Figgo.yaml", "difficultyScore": 37.75, - "difficulty": "Easy", + "difficulty": "Very Easy", "company": "Lucca", "serviceName": "Timmi Absences", "sdkName": "lucca-timmi-absences-{language}-sdk", @@ -256,7 +256,7 @@ "httpMethod": "post", "tag": "Imports", "typeScriptTag": "imports", - "description": "Import entitlements (deprecated)", + "description": "Import entitlements (https://developers.lucca.fr/", "parameters": [ { "name": "strict", @@ -342,7 +342,7 @@ "httpMethod": "post", "tag": "Imports", "typeScriptTag": "imports", - "description": "Replace entitlements (deprecated)", + "description": "Replace entitlements (https://developers.lucca.fr/", "parameters": [ { "name": "strict", @@ -440,7 +440,7 @@ "httpMethod": "post", "tag": "Imports", "typeScriptTag": "imports", - "description": "Import leaves (deprecated)", + "description": "Import leaves (https://developers.lucca.fr/", "parameters": [ { "name": "type", @@ -556,7 +556,7 @@ "previewLinkImage": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/lucca/timmi-absences/imagePreview.jpg", "faviconUrl": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/lucca/timmi-absences/favicon.png", "clientNameCamelCase": "luccaTimmiAbsences", - "lastUpdated": "2024-03-26T19:55:14.920Z", + "lastUpdated": "2024-03-29T22:11:39.095Z", "typescriptSdkUsageCode": "import { LuccaTimmiAbsences } from 'lucca-timmi-absences-typescript-sdk';\n\nconst luccaTimmiAbsences = new LuccaTimmiAbsences({\n // Header value must be equal to `lucca application={yourApiKey}`\n authorization: \"AUTHORIZATION\"\n})", "typescriptSdkFirstRequestCode": "// List leaves\nconst getApprovedListResponse = luccaTimmiAbsences.leaves.getApprovedList({\n paging: \"100,0\"\n date: \"DATE\"\n})", "fixedSpecFileName": "lucca-timmi-absences-fixed-spec.yaml" diff --git a/sdks/db/published/from-custom-request_measureone.com.json b/sdks/db/published/from-custom-request_measureone.com.json index 2ebf141377..9350398291 100644 --- a/sdks/db/published/from-custom-request_measureone.com.json +++ b/sdks/db/published/from-custom-request_measureone.com.json @@ -37,7 +37,7 @@ }, "customRequestSpecFilename": "measureone.com.yaml", "difficultyScore": 118.75, - "difficulty": "Medium", + "difficulty": "Easy", "company": "MeasureOne", "sdkName": "measure-one-{language}-sdk", "clientName": "MeasureOne", @@ -2553,7 +2553,7 @@ "previewLinkImage": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/measureone/imagePreview.jpg", "faviconUrl": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/measureone/favicon.png", "clientNameCamelCase": "measureOne", - "lastUpdated": "2024-03-29T19:11:15.684Z", + "lastUpdated": "2024-03-29T22:11:39.095Z", "typescriptSdkUsageCode": "import { MeasureOne } from 'measure-one-typescript-sdk';\n\nconst measureOne = new MeasureOne({\n // Enter the token with the `Bearer: ` prefix, e.g. \"Bearer \\<\\\\>\".\n bearer: \"AUTHORIZATION\",\n // Provide the Base64 representation of your `client_id:secret` e.g. \"Basic \\<\\\\>\".\n username: \"USERNAME\",\n password: \"PASSWORD\",\n // Provide the application ID.\n internal: \"APPLICATION_ID\",\n // No authorization is required\n none: \"NONE\"\n})", "typescriptSdkFirstRequestCode": "// Create a new Invitation\nconst invitationResponse = measureOne.invitations.invitation({\n individual_id: \"idv_Cevp4Jw9CIsEeNjpgAAjy2EZt3R\"\n validity: 259200\n requester_name: \"string value\"\n additional_message: \"Please use this invitation for University of Michigan Ann Arbor\"\n institution_name: \"University of Michigan Ann Arbor\"\n requestor_name: \"string value\"\n})", "fixedSpecFileName": "measure-one-fixed-spec.yaml" diff --git a/sdks/db/spec-data/apideck.com_webhook_10.0.0.json b/sdks/db/spec-data/apideck.com_webhook_10.0.0.json index 64f343a8e6..3f848149f7 100644 --- a/sdks/db/spec-data/apideck.com_webhook_10.0.0.json +++ b/sdks/db/spec-data/apideck.com_webhook_10.0.0.json @@ -26,5 +26,5 @@ "contactUrl": "https://developers.apideck.com", "contactEmail": "hello@apideck.com", "difficultyScore": 37.75, - "difficulty": "Easy" + "difficulty": "Very Easy" } \ No newline at end of file diff --git a/sdks/db/spec-data/from-custom-request_griffin.com.json b/sdks/db/spec-data/from-custom-request_griffin.com.json index 2a360f3853..b36d3ac66e 100644 --- a/sdks/db/spec-data/from-custom-request_griffin.com.json +++ b/sdks/db/spec-data/from-custom-request_griffin.com.json @@ -21,5 +21,5 @@ }, "customRequestSpecFilename": "griffin.com.yaml", "difficultyScore": 118.75, - "difficulty": "Medium" + "difficulty": "Easy" } \ No newline at end of file diff --git a/sdks/db/spec-data/from-custom-request_ilert.com.json b/sdks/db/spec-data/from-custom-request_ilert.com.json new file mode 100644 index 0000000000..6c48d66ed7 --- /dev/null +++ b/sdks/db/spec-data/from-custom-request_ilert.com.json @@ -0,0 +1,25 @@ +{ + "securitySchemes": { + "apiKey": { + "type": "apiKey", + "in": "header", + "name": "Authorization", + "description": "The Bearer API key of your user more info." + } + }, + "apiBaseUrl": "/api", + "apiVersion": "", + "apiDescription": "\nThe ilert API is a [RESTful](https://en.wikipedia.org/wiki/Representational_state_transfer) API and provides programmatic access to entities in ilert and lets you easily integrate ilert with 3rd party tools. If you are looking to develop an inbound integration (e.g. for a monitoring tool), please use our [Events API](https://api.ilert.com). \n\nThe API supports the JSON content type for requests and responses. The response content type is requested via the HTTP Accept header (`application/json`). All resources are accessible via https and are located at `api.ilert.com/api`. \n## Authentication\nThe REST API accepts bearer API tokens. Each user may create API keys using the ilert web application. Note: Make sure to send the `Bearer ` prefix e.g. `Bearer APIKEY` when sending api key requests. By default, access to all resources (using any method) requires the client to be authenticated.\n\n## Team Context\n When using API tokens, the currently selected team context of the user will not be taken into account, i.e. list results will always return all entities to which the user has a view permission. When using basic auth credentials the currently selected team context of the user will be used to filter resource results. The context may be overwritten for API key calls using the `team-context` HTTP header. Specifying `0` for ALL teams, `-1` for MY teams or a specific team id e.g. `team-context=901` to fetch results for a certain team. \n\n## Errors\nilert uses HTTP response codes to indicate success or failure of an API request. Codes in the 2xx range indicate success, codes in the 4xx range indicate a client error (e.g. a missing required parameter) and codes in the 5xx range indicate an error with ilert's servers. In case of an error, the response body contains the following information:\n\n Attribute | Description \n ------------- | ------------- \n status | the corresponsing HTTP status code \n message | a human readable description of the error \n code | error code, used to identify error type \n\n## API Versioning\nChanges to our API are always backwards-compatible. To get more information about our API versioning and historical changes, please take a look here.", + "apiTitle": "ilert REST API", + "endpoints": 80, + "sdkMethods": 162, + "schemas": 164, + "parameters": 713, + "originalCustomRequest": { + "type": "GET", + "url": "https://api.ilert.com/api-docs/swagger.json" + }, + "customRequestSpecFilename": "ilert.com.yaml", + "difficultyScore": 422.25, + "difficulty": "Hard" +} \ No newline at end of file diff --git a/sdks/db/spec-data/from-custom-request_inmobile.com.json b/sdks/db/spec-data/from-custom-request_inmobile.com.json new file mode 100644 index 0000000000..892502de96 --- /dev/null +++ b/sdks/db/spec-data/from-custom-request_inmobile.com.json @@ -0,0 +1,30 @@ +{ + "securitySchemes": { + "BasicAuth": { + "type": "http", + "description": "Provide Basic Authentiation with an arbitrary username and your api key as password, e.g. some_value_to_be_ignored:your_api_key_here", + "scheme": "basic" + }, + "QueryParameter": { + "type": "apiKey", + "description": "Specify your apikey in the url as https://api.inmobile.com/some/path?apikey=your_api_key_here. This method is only recommended if basic authorization is not possible.", + "name": "apikey", + "in": "query" + } + }, + "apiBaseUrl": "https://api.inmobile.com", + "apiVersion": "version 4", + "apiDescription": "\r\n# Introduction\r\n\r\nThis document is a technical description of our REST API used for external systems to send sms messages and to retrieve a status for each sms message sent and to maintain lists and blacklists.\r\n\r\nIn order to call our API, you need an api key. Log in to your account at https://mm.inmobile.dk, go to the \"API\" menu section and your api key will be available here.\r\n\r\nNOTE: It is required for clients to support tls 1.2 or higher.\r\n\r\n\r\n# Firewall openings\r\n\r\nThis is relevant for status callbacks and incoming SMS messages.\r\n\r\nYou can expect callbacks from one of the following IP ranges:\r\n\r\n* 46.36.205.80/28\r\n* 185.221.37.96/28\r\n\r\nThese are also the ip addresses which will be used for api.inmobile.com and mm.inmobile.dk - ensure access to these 2 ranges are opened in your firewall.", + "apiTitle": "inMobile REST API", + "endpoints": 24, + "sdkMethods": 36, + "schemas": 66, + "parameters": 71, + "originalCustomRequest": { + "type": "GET", + "url": "https://api.inmobile.com/swagger/v1/swagger.json" + }, + "customRequestSpecFilename": "inmobile.com.yaml", + "difficultyScore": 86.75, + "difficulty": "Easy" +} \ No newline at end of file diff --git a/sdks/db/spec-data/from-custom-request_innoship.io.json b/sdks/db/spec-data/from-custom-request_innoship.io.json new file mode 100644 index 0000000000..0a91eb6524 --- /dev/null +++ b/sdks/db/spec-data/from-custom-request_innoship.io.json @@ -0,0 +1,26 @@ +{ + "securitySchemes": { + "ApiKeyAuth": { + "type": "apiKey", + "name": "X-Api-Key", + "in": "header" + } + }, + "apiBaseUrl": "https://api.innoship.com", + "apiVersion": "v1", + "apiDescription": "Api service implementation (version:6.0.1.503)", + "apiTitle": "Innoship API", + "endpoints": 46, + "sdkMethods": 51, + "schemas": 75, + "parameters": 330, + "contactEmail": "andrei@innoship.ro", + "originalCustomRequest": { + "type": "GET", + "url": "https://api.innoship.io/swagger/v1/swagger.json", + "apiBaseUrl": "https://api.innoship.com" + }, + "customRequestSpecFilename": "innoship.io.yaml", + "difficultyScore": 171, + "difficulty": "Medium" +} \ No newline at end of file diff --git a/sdks/db/spec-data/from-custom-request_lucca-hr.com_Figgo.json b/sdks/db/spec-data/from-custom-request_lucca-hr.com_Figgo.json index d3276e8857..38d8af6eab 100644 --- a/sdks/db/spec-data/from-custom-request_lucca-hr.com_Figgo.json +++ b/sdks/db/spec-data/from-custom-request_lucca-hr.com_Figgo.json @@ -23,5 +23,5 @@ }, "customRequestSpecFilename": "lucca-hr.com_Figgo.yaml", "difficultyScore": 37.75, - "difficulty": "Easy" + "difficulty": "Very Easy" } \ No newline at end of file diff --git a/sdks/db/spec-data/from-custom-request_measureone.com.json b/sdks/db/spec-data/from-custom-request_measureone.com.json index fe5fc520eb..db358c8900 100644 --- a/sdks/db/spec-data/from-custom-request_measureone.com.json +++ b/sdks/db/spec-data/from-custom-request_measureone.com.json @@ -37,5 +37,5 @@ }, "customRequestSpecFilename": "measureone.com.yaml", "difficultyScore": 118.75, - "difficulty": "Medium" + "difficulty": "Easy" } \ No newline at end of file diff --git a/sdks/publish.yaml b/sdks/publish.yaml index 64d6c76a4d..bb5e9e0322 100644 --- a/sdks/publish.yaml +++ b/sdks/publish.yaml @@ -8448,7 +8448,7 @@ publish: developerDocumentation: docs.fordefi.com/reference/api-overview apiStatusUrls: inherit metaDescription: >- - The future of institutional web3 wallets. + The future of institutional web3 wallets. For builders, traders, and operators, Fordefi's comprehensive MPC wallet @@ -8496,3 +8496,64 @@ publish: serviceName: false sdkName: keatext-ai-{language}-sdk clientName: KeatextAi + from-custom-request_inmobile.com: + homepage: inmobile.com + company: inMobile + developerDocumentation: www.inmobile.com/docs/rest-api + apiStatusUrls: inherit + metaDescription: >- + inMobile er en SMS-Gateway testet af over 8.000 brugere. Vi håndterer over + 150 mio. SMS-beskeder årligt og tilstræber en oppetid på 100%, men + sandheden er 99,99%. + + + Uanset, om det drejer sig om at informere dine kunder, medarbejdere eller + andre personer, som er vigtige for din virksomhed, gør inMobile det nemt + for de rette personer at få besked på det rette tidspunkt. + + + Du får adgang til en brugervenlig SMS-Gateway og et gennemtestet API, som + du nemt kan integrere med dit eget system eller hjemmeside. + + + Ønsker du at høre mere om vores løsning, er du velkommen til at kontakte + os på +45 88 33 66 99 eller på mail salg@inmobile.dk + + Vi har åbent alle hverdage mellem kl. 8-17 + categories: + - messaging + - sms + serviceName: false + sdkName: in-mobile-{language}-sdk + clientName: InMobile + from-custom-request_innoship.io: + homepage: innoship.io + company: Innoship + developerDocumentation: api.innoship.io/index.html + apiStatusUrls: inherit + metaDescription: "Innoship is the advanced delivery management platform that helps retailers to improve customer experience by streamlining the delivery process. We combined our eCommerce logistics expertise with all the enterprise features you need to master last-mile customer experience. \n\nBacked by Abris Capital Partners, the ESG transformation specialist private equity investor, Innoship is now part of Alsendo group, the leading eCommerce shipping solutions technologies in the CEE region.\n\nFrom checkout and shipping to tracking, returns and analytics, Innoship helps you safely deliver on promises made to your customers. \n\nEffortless integration, hassle-free delivery\n•\tA simple, one-time integration with the Innoship app allows retailers to access any carrier, local or international.\n•\tExternal markets become readily available with seamless connections to hundreds of carriers in 15+ countries." + categories: + - shipping_api + - logistics_provider + - shipping_integration + serviceName: false + sdkName: innoship-{language}-sdk + clientName: Innoship + from-custom-request_ilert.com: + homepage: ilert.com + company: ilert + developerDocumentation: api.ilert.com/api-docs + apiStatusUrls: inherit + metaDescription: >- + ilert is a SaaS company for alerting, on-call management and incident + communication and helps companies to increase their digital uptime. B2C + and B2B companies from across the globe, including well-known brands such + as Bertelsmann, TeamViewer and REWE, trust ilert to empower their + operations teams and ensure everything is running smoothly. + categories: + - alerting + - on_call_management + - incident_communication + serviceName: false + sdkName: ilert-{language}-sdk + clientName: Ilert diff --git a/sdks/src/collect-from-custom-requests.ts b/sdks/src/collect-from-custom-requests.ts index 0b363ed9b8..2026625834 100644 --- a/sdks/src/collect-from-custom-requests.ts +++ b/sdks/src/collect-from-custom-requests.ts @@ -2324,6 +2324,19 @@ const customRequests: Record = { }); }, }, + "innoship.io": { + type: "GET", + url: "https://api.innoship.io/swagger/v1/swagger.json", + apiBaseUrl: "https://api.innoship.com", + }, + "ilert.com": { + type: "GET", + url: "https://api.ilert.com/api-docs/swagger.json", + }, + "inmobile.com": { + type: "GET", + url: "https://api.inmobile.com/swagger/v1/swagger.json", + }, "finleycms.com": { type: "GET", url: "https://api.finleycms.com/api-docs/spec",