openapi: 3.2.0 info: title: Configuration Approval Request API version: 1.0.0 servers: - url: https://test.api.solvimon.com description: The TEST environment for our API - url: https://api.solvimon.com description: The live environment for our API tags: - name: Approval Request paths: /v{version}/approval-requests: get: operationId: getApprovalRequests summary: Get all the approval requests tags: - Approval Request parameters: - name: version in: path description: version required: true schema: type: string default: '1' - name: source_type in: query description: The object type in which this Approval Request was triggered. I.e. INVOICE. required: false schema: type: string - name: source_id in: query description: The ID of the object type that triggered this Approval Request. required: false schema: type: string - name: user_id in: query description: The ID of the user to check if they are an approver. required: false schema: type: string - name: statuses[] in: query description: Filter Approval Request based on status(es) required: false schema: type: array items: type: string - name: limit in: query description: The amount of records shown in the list required: false schema: type: integer - name: page in: query description: The page which is going to be shown required: false schema: type: integer - name: order_by in: query description: The parameter by which the response is ordered. required: false schema: type: string - name: order_direction in: query description: The order direction by which the response is ordered. required: false schema: type: string - name: X-API-KEY in: header required: true schema: type: string - name: x-platform-id in: header description: Platform ID. required: false schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ApprovalRequestResponseWrapper' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ApiError' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ApiError' /v{version}/approval-requests/{resourceId}: get: operationId: getApprovalRequestsByResourceId summary: Get approval request tags: - Approval Request parameters: - name: version in: path description: version required: true schema: type: string default: '1' - name: resourceId in: path description: The ID of the resource to be requested. required: true schema: type: string default: '' - name: X-API-KEY in: header required: true schema: type: string - name: x-platform-id in: header description: Platform ID. required: false schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ApprovalRequest' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ApiError' /v{version}/approval-requests/{resourceId}/approve: post: operationId: postApprovalRequestsByResourceIdApprove summary: Approve an Approval Request tags: - Approval Request parameters: - name: version in: path description: version required: true schema: type: string default: '1' - name: resourceId in: path description: The ID of the resource for which the action is posted. required: true schema: type: string default: '' - name: X-API-KEY in: header required: true schema: type: string - name: x-platform-id in: header description: Platform ID. required: false schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ApprovalRequest' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ApiError' /v{version}/approval-requests/{resourceId}/decline: post: operationId: postApprovalRequestsByResourceIdDecline summary: Decline an Approval Request tags: - Approval Request parameters: - name: version in: path description: version required: true schema: type: string default: '1' - name: resourceId in: path description: The ID of the resource for which the action is posted. required: true schema: type: string default: '' - name: X-API-KEY in: header required: true schema: type: string - name: x-platform-id in: header description: Platform ID. required: false schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ApprovalRequest' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ApiError' /v{version}/approval-requests/{resourceId}/cancel: post: operationId: postApprovalRequestsByResourceIdCancel summary: Cancel an Approval Request tags: - Approval Request parameters: - name: version in: path description: version required: true schema: type: string default: '1' - name: resourceId in: path description: The ID of the resource for which the action is posted. required: true schema: type: string default: '' - name: X-API-KEY in: header required: true schema: type: string - name: x-platform-id in: header description: Platform ID. required: false schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ApprovalRequest' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ApiError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ApiError' components: schemas: ApprovalRequestSourceType: type: string enum: - QUOTE_VERSION - INVOICE description: The object type in which this Approval Request was triggered. I.e. QUOTE_VERSION. title: ApprovalRequestSourceType ApprovalRequest: type: object properties: object_type: type: - string - 'null' id: type: - string - 'null' approval_policy_ids: type: - array - 'null' items: type: string description: The IDs of all the Approval Policies that were breached. source_type: oneOf: - $ref: '#/components/schemas/ApprovalRequestSourceType' - type: 'null' description: The object type in which this Approval Request was triggered. I.e. QUOTE_VERSION. source_id: type: - string - 'null' description: The ID of the object type that triggered this Approval Request. status: oneOf: - $ref: '#/components/schemas/ApprovalRequestStatus' - type: 'null' description: The current status of the Approval Request. owner_id: type: - string - 'null' description: The ID of the user who owns the Approval Request. created_at: type: - string - 'null' description: The date that the Approval Request was created. reviewed_at: type: - string - 'null' updated_at: type: - string - 'null' description: The date that the Approval Request was updated. reviewers: type: - array - 'null' items: $ref: '#/components/schemas/Reviewer' description: The list of users that have approved or declined the Approval Request. approval_strategy: oneOf: - $ref: '#/components/schemas/ApprovalRequestApprovalStrategy' - type: 'null' description: Approval Strategy applied in the Approval Request. title: ApprovalRequest ApprovalRequestStatus: type: string enum: - PENDING_REVIEW - APPROVED - DECLINED - CANCELLED description: The current status of the Approval Request. title: ApprovalRequestStatus ApiErrorType: type: string enum: - API_ERROR - INVALID_REQUEST title: ApiErrorType ApiErrorResourceType: type: string enum: - CUSTOMER - CUSTOM_FIELD - PLATFORM - PLATFORM_UPTODATE - METER - METER_VALUE - METER_PROPERTY - METER_VALUE_CALCULATION - INGEST_DATA - METER_DATA - CHARGE_DATA - PERSIST_DATA - ADJUSTMENT_DATA - PRODUCT_CATEGORY - PRODUCT - PRODUCT_ITEM - PRICING - PRICING_GROUP - PRICING_ITEM - PRICING_ITEM_CONFIG - PRICING_PLAN_SUBSCRIPTION - PRICING_PLAN_SUBSCRIPTION_GROUP - PRICING_PLAN_SCHEDULE - PRICING_PLAN - PRICING_PLAN_VERSION - QUOTE - QUOTE_VERSION - QUOTE_TEMPLATE - API_KEY - USER - ROLE - PROXY_USER - EXTERNAL_CREDENTIALS - TOKEN - INVOICE - E_INVOICE - PDF - BILLING_ENTITY - FEATURE - MEMBERSHIP - PAYMENT - PAYMENT_ACCEPTOR - PAYMENT_METHOD - PAYMENT_METHOD_OPTIONS - PAYMENT_SCHEDULE - PAYMENT_REQUEST - INTEGRATION - WEBHOOK - FILE - FILE_PROCESSING_SETTINGS - TEAM - DOWNLOAD_URL - CSV_REPORT - REPORT - REPORT_GENERATE_REQUEST - REPORT_CONFIGURATION - REPORT_SUBSCRIPTION - REPORT_DEFINITION - ACCOUNT_GROUP - ENTITY - EVENT_TRACE - EVENT_TRACE_LINK - PRICING_CATEGORY - CONTACT - ALERT_RULE - ALERT - AUDIT_RECORD - PORTAL_URL - AUTHENTICATION_PROVIDER - REPROCESS - APPROVAL_POLICY - APPROVAL_REQUEST - BULK_ACTION - COUPON - PROMOTION_CODE - WALLET - WALLET_TYPE - WALLET_GRANT - WORKFLOW - WORKFLOW_TRIGGER - WORKFLOW_ACTION - CREDIT_TYPE - SIGNATURE_REQUEST - ATTACHMENT - DOCUMENT title: ApiErrorResourceType ApprovalRequestApprovalStrategy: type: string enum: - ALL_LEVELS_MUST_APPROVE - HIGHER_LEVEL_CAN_OVERRIDE - ANYONE_CAN_DECIDE description: Approval Strategy applied in the Approval Request. title: ApprovalRequestApprovalStrategy ApiErrorCode: type: string enum: - RESOURCE_NOT_FOUND - RESOURCES_NOT_FOUND - UNABLE_TO_PROCESS_INSTRUCTIONS - BAD_REQUEST - UNSUPPORTED_MEDIA_TYPE - RESOURCE_ALREADY_EXISTS - CUSTOM_FIELD_VALUE_ALREADY_EXISTS - COULD_NOT_CREATE_RESOURCE - COULD_NOT_UPDATE_RESOURCE - COULD_NOT_DELETE_RESOURCE - MISSING_VERSION - UNSUPPORTED_VERSION - UNAUTHORISED - CUSTOMER_NOT_FOUND - PLATFORM_NOT_FOUND - PRICING_PLAN_NOT_FOUND - PRODUCT_NOT_FOUND - PRODUCT_ITEM_NOT_FOUND - PRICING_NOT_FOUND - PRICING_ITEM_NOT_FOUND - USER_NOT_FOUND - METER_NOT_FOUND - METER_VALUE_NOT_FOUND - METER_PROPERTY_NOT_FOUND - PRICING_ITEM_SUMMARIES_NOT_FOUND - MISSING_ID - INVALID_ID - MISSING_REFERENCE - MISSING_FIELD - INVALID_FIELD - INVALID_OPERATION - INTERNAL_ERROR - USER_NOT_ALLOWED - IDEMPOTENCY_CHECK_FAILED - INVALID_REQUEST title: ApiErrorCode ApiError: type: object properties: type: $ref: '#/components/schemas/ApiErrorType' code: $ref: '#/components/schemas/ApiErrorCode' field: type: - string - 'null' message: type: string resource_id: type: - string - 'null' resource_type: oneOf: - $ref: '#/components/schemas/ApiErrorResourceType' - type: 'null' required: - type - code - message title: ApiError Reviewer: type: object properties: id: type: - string - 'null' status: type: - string - 'null' description: The status that the reviewer gave for the Approval Request. reviewed_at: type: - string - 'null' description: The date when the reviewer approve/declined the Approval Request. level: type: integer description: The hierarchy of the reviewer title: Reviewer ApprovalRequestResponseWrapper: type: object properties: data: type: array items: $ref: '#/components/schemas/ApprovalRequest' limit: type: - integer - 'null' page: type: - integer - 'null' total_number_of_pages: type: - integer - 'null' links: $ref: '#/components/schemas/PaginationLinks' required: - data - links title: ApprovalRequestResponseWrapper PaginationLinks: type: object properties: first: type: - string - 'null' previous: type: - string - 'null' current: type: - string - 'null' next: type: - string - 'null' title: PaginationLinks securitySchemes: API-Key: type: apiKey in: header name: X-API-KEY JWT-Authentication: type: http scheme: bearer