openapi: 3.2.0 info: title: Approvals Process Steps API description: ' The Approvals API is used to submit, preview, and retrieve approval processes. ' version: v1 servers: - url: https://rls.congacloud.com/api/approvals security: [] tags: - name: ProcessSteps paths: /v1/process-steps: post: tags: - ProcessSteps summary: Create an approval process step description: Creates an approval process step based on several required parameters. operationId: ProcessSteps_CreateApprovalProcessStep requestBody: x-name: request content: application/json: schema: $ref: '#/components/schemas/ProcessStepRequest' required: true x-position: 1 responses: '200': description: Approval process step definition content: application/json: schema: $ref: '#/components/schemas/ProcessStepDTO' security: - oauth2: [] - Bearer: [] put: tags: - ProcessSteps summary: Update an approval process step description: Updates an approval process step, using several required parameters. operationId: ProcessSteps_UpdateApprovalProcessStep requestBody: x-name: request content: application/json: schema: $ref: '#/components/schemas/ProcessStepRequest' required: true x-position: 1 responses: '200': description: An approval process definition including the updated step content: application/json: schema: $ref: '#/components/schemas/ApprovalProcessResponse' security: - oauth2: [] - Bearer: [] /v1/process-steps/validate: get: tags: - ProcessSteps summary: Check for a step description: Checks for a step by name to validate its uniqueness for the current approval process. operationId: ProcessSteps_ValidateExistingStepName parameters: - name: approvalProcessId in: query required: true description: The process id to be validated. schema: type: - string - 'null' x-position: 1 - name: stepName in: query required: true description: The step name to be validated. schema: type: - string - 'null' x-position: 2 responses: '200': description: Returns `true` if the named step does not exist in the approval process and is available. content: application/json: schema: type: boolean security: - oauth2: [] - Bearer: [] /v1/process-steps/{id}: get: tags: - ProcessSteps summary: Get an approval process step description: Gets an approval process step by process step ID. operationId: ProcessSteps_GetApprovalProcessStep parameters: - name: id in: path required: true description: The process step ID schema: type: string x-position: 1 responses: '200': description: The requested approval process step content: application/json: schema: $ref: '#/components/schemas/ProcessStepDTO' security: - oauth2: [] - Bearer: [] components: schemas: EscalationDTO: type: object additionalProperties: false properties: EscalationLevel: type: - integer - 'null' format: int32 Days: type: integer format: int32 Hours: type: integer format: int32 Minutes: type: integer format: int32 EscalationToId: type: - string - 'null' EscalationToType: type: - string - 'null' EscalationToName: type: - string - 'null' CustomAssignee: oneOf: - $ref: '#/components/schemas/CustomAssigneePayload' Id: type: - string - 'null' ReminderDTO: type: object additionalProperties: false properties: Name: type: - string - 'null' Sequence: type: - integer - 'null' format: int32 Days: type: integer format: int32 Hours: type: integer format: int32 Minutes: type: integer format: int32 Id: type: - string - 'null' ProcessEntryCriteria: type: object additionalProperties: false properties: Id: type: - string - 'null' Name: type: string Active: type: - boolean - 'null' Field: type: - string - 'null' ComparisonType: type: - string - 'null' FieldValue: type: - string - 'null' Description: type: - string - 'null' FieldKeyValue: type: - string - 'null' BooleanOperator: type: - string - 'null' Sequence: type: - integer - 'null' format: int32 BaseObject: type: object additionalProperties: {} properties: Id: type: - string - 'null' Name: type: - string - 'null' CreatedBy: oneOf: - $ref: '#/components/schemas/LookupObject' CreatedDate: type: string format: date-time ModifiedBy: oneOf: - $ref: '#/components/schemas/LookupObject' ModifiedDate: type: string format: date-time ExternalId: type: - string - 'null' ETag: type: - string - 'null' CustomProperties: type: - object - 'null' additionalProperties: {} ApprovalRuleDimension: allOf: - $ref: '#/components/schemas/BaseObject' - type: object additionalProperties: {} required: - Name - BusinessObject - Datasource - DimensionType properties: Name: type: string minLength: 1 BusinessObject: type: string minLength: 1 Datasource: type: string minLength: 1 Description: type: - string - 'null' DimensionType: type: string minLength: 1 ProcessUpdateAction: type: object additionalProperties: false properties: Id: type: - string - 'null' Name: type: - string - 'null' ActionType: type: - string - 'null' Description: type: - string - 'null' FieldName: type: - string - 'null' FieldNameSource: type: - string - 'null' FieldUpdateType: type: - string - 'null' FieldValue: type: - string - 'null' FieldKeyValue: type: - string - 'null' ApprovalRule: allOf: - $ref: '#/components/schemas/BaseObject' - type: object additionalProperties: {} properties: Active: type: - boolean - 'null' ApprovalCount: type: - number - 'null' format: decimal ApprovalPercent: type: - number - 'null' format: decimal ApprovalPolicy: type: - string - 'null' BusinessObject: type: - string - 'null' ContinuePolicyApprovalOnAReject: type: - boolean - 'null' RuleCriteria: type: - string - 'null' CriteriaFieldNames: type: - string - 'null' Description: type: - string - 'null' Dimension1Id: oneOf: - $ref: '#/components/schemas/ApprovalRuleDimension' Dimension1ValueType: type: - string - 'null' Dimension2Id: oneOf: - $ref: '#/components/schemas/ApprovalRuleDimension' Dimension2ValueType: type: - string - 'null' Dimension3Id: oneOf: - $ref: '#/components/schemas/ApprovalRuleDimension' Dimension3ValueType: type: - string - 'null' Dimension4Id: oneOf: - $ref: '#/components/schemas/ApprovalRuleDimension' Dimension4ValueType: type: - string - 'null' Dimension5Id: oneOf: - $ref: '#/components/schemas/ApprovalRuleDimension' Dimension5ValueType: type: - string - 'null' Dimension6Id: oneOf: - $ref: '#/components/schemas/ApprovalRuleDimension' Dimension6ValueType: type: - string - 'null' EffectiveDate: type: - string - 'null' format: date-time ExpirationDate: type: - string - 'null' format: date-time MatchRule: type: - string - 'null' RuleType: type: - string - 'null' Sequence: type: - number - 'null' format: double StopProcessingMoreRules: type: - boolean - 'null' RuleEntries: type: - array - 'null' items: $ref: '#/components/schemas/ApprovalRuleEntry' ApprovalRuleEntry: allOf: - $ref: '#/components/schemas/BaseObject' - type: object additionalProperties: {} properties: ApprovalRuleAssignees: type: - array - 'null' items: $ref: '#/components/schemas/ApprovalRuleAssignee' Active: type: - boolean - 'null' ApprovalRuleId: oneOf: - $ref: '#/components/schemas/LookupObject' AutoReapprovalCriteria: type: - string - 'null' AutoReapprove: type: - boolean - 'null' Condition: type: - string - 'null' ConditionFieldNames: type: - string - 'null' CriteriaFieldNames: type: - string - 'null' DependsOn: type: - string - 'null' Description: type: - string - 'null' Dimension1Value: type: - string - 'null' Dimension2Value: type: - string - 'null' Dimension3Value: type: - string - 'null' Dimension4Value: type: - string - 'null' Dimension5Value: type: - string - 'null' Dimension6Value: type: - string - 'null' EntryLabel: type: - string - 'null' IncludePrevious: type: - boolean - 'null' Value: type: - string - 'null' ValueType: type: - string - 'null' Sequence: type: - number - 'null' format: double SequenceVisual: type: - number - 'null' format: decimal DependencyKey: type: - string - 'null' ProcessStepEntryCriteriaDTO: allOf: - $ref: '#/components/schemas/ProcessStepEntryCriteria' - type: object additionalProperties: false ProcessStepRequest: type: object additionalProperties: false required: - Active - EscalationEnabled - ReminderEnabled - StepName - StepType - AssigneeType properties: ApprovalProcessId: type: - string - 'null' ProcessName: type: - string - 'null' ObjectType: type: - string - 'null' ProcessStepGroupId: type: - string - 'null' CustomAssigneePayload: oneOf: - $ref: '#/components/schemas/CustomAssigneePayload' Id: type: - string - 'null' Name: type: - string - 'null' Active: type: boolean ApproverType: type: - string - 'null' AssigneeDescription: type: - string - 'null' AutoComplete: type: boolean EscalationEnabled: type: boolean ReminderEnabled: type: boolean AutoReapprovalCriteria: type: - string - 'null' ChildObjectType: type: - string - 'null' CriteriaFieldNames: type: - string - 'null' DependsOn: type: - string - 'null' Description: type: - string - 'null' DisplayFieldNameHeader: type: - string - 'null' DisplayFieldNames: type: - string - 'null' FilterConditionDescription: type: - string - 'null' FilterLogic: type: - string - 'null' HierarchyDriver: type: - string - 'null' KeyFieldNames: type: - string - 'null' NotifyOnly: type: boolean SendEmail: type: boolean SendChat: type: - boolean - 'null' StepName: type: string minLength: 1 StepType: type: string minLength: 1 SubmissionComment1Enabled: type: boolean SubmissionComment2Enabled: type: boolean SubmissionComment3Enabled: type: boolean SubmissionCommentsEnabled: type: boolean SkipUnresolvedAssignee: type: boolean AssigneeId: type: - string - 'null' AssigneeType: type: string minLength: 1 CCEmailRecipients: type: - string - 'null' Escalation: oneOf: - $ref: '#/components/schemas/EscalationDTO' Reminders: type: - array - 'null' items: $ref: '#/components/schemas/ReminderDTO' StepEntryCriteria: type: - array - 'null' items: $ref: '#/components/schemas/ProcessStepEntryCriteriaDTO' CustomAssigneePayload: type: object description: CustomAssigneePayload additionalProperties: false properties: CustomObject: type: string description: CustomObject CustomField: type: string description: CustomField CustomAssigneeAdvancedLogic: type: - string - 'null' description: CustomAssigneeAdvancedLogic AssigneeNameExpression: type: - string - 'null' description: Parsed Expression to be shown in UI FreeFormEnabled: type: boolean description: Custom object filter free form expression FreeFormExpression: type: - string - 'null' description: FreeFormExpression CustomAssigneeFilters: type: - array - 'null' description: Custom assignee filters items: $ref: '#/components/schemas/CustomAssigneeFilterPayload' ProcessStepGroup: allOf: - $ref: '#/components/schemas/BaseObject' - type: object additionalProperties: {} properties: ApprovalProcessId: type: - string - 'null' Active: type: - boolean - 'null' GroupName: type: - string - 'null' GroupSequence: type: - integer - 'null' format: int32 Steps: type: - array - 'null' items: $ref: '#/components/schemas/ProcessStep' ProcessStep: allOf: - $ref: '#/components/schemas/BaseObject' - type: object additionalProperties: {} properties: ApprovalProcessId: type: - string - 'null' CustomAssignee: type: - string - 'null' Active: type: - boolean - 'null' ApproverType: type: - string - 'null' AssigneeDescription: type: - string - 'null' AutoComplete: type: - boolean - 'null' EscalationEnabled: type: boolean ReminderEnabled: type: boolean AutoReapprovalCriteria: type: - string - 'null' AutoReapprove: type: - boolean - 'null' ChildObjectType: type: - string - 'null' CriteriaFieldNames: type: - string - 'null' DependsOn: type: - string - 'null' Description: type: - string - 'null' DisplayFieldNameHeader: type: - string - 'null' DisplayFieldNames: type: - string - 'null' FilterConditionDescription: type: - string - 'null' FilterLogic: type: - string - 'null' HierarchyDriver: type: - string - 'null' KeyFieldNames: type: - string - 'null' NotifyOnly: type: boolean SendEmail: type: boolean SendChat: type: - boolean - 'null' Sequence: type: - number - 'null' format: double StepLabel: type: - string - 'null' StepName: type: - string - 'null' StepSequenceNumber: type: - number - 'null' format: decimal StepSequenceVisual: type: - number - 'null' format: decimal StepType: type: - string - 'null' SkipUnresolvedAssignee: type: boolean SubmissionComment1Enabled: type: - boolean - 'null' SubmissionComment2Enabled: type: - boolean - 'null' SubmissionComment3Enabled: type: - boolean - 'null' SubmissionCommentsEnabled: type: - boolean - 'null' AssigneeId: type: - string - 'null' AssigneeType: type: - string - 'null' CCEmailRecipients: type: - string - 'null' AssigneeName: type: - string - 'null' Rule: oneOf: - $ref: '#/components/schemas/ApprovalRule' Escalation: oneOf: - $ref: '#/components/schemas/Escalation' Reminders: type: array items: $ref: '#/components/schemas/Reminder' StepEntryCriteria: type: array items: $ref: '#/components/schemas/ProcessStepEntryCriteria' DependencyKey: type: - string - 'null' ApprovalRuleAssignee: allOf: - $ref: '#/components/schemas/BaseObject' - type: object additionalProperties: {} properties: Id: type: - string - 'null' Name: type: - string - 'null' NotifyOnly: type: boolean RuleEntryId: oneOf: - $ref: '#/components/schemas/LookupObject' SendEmail: type: boolean SendChat: type: - boolean - 'null' CustomAssignee: type: - string - 'null' AssigneeId: type: - string - 'null' AssigneeType: type: - string - 'null' AssigneeDependsOn: type: - string - 'null' AssigneeSequence: type: number format: double AssigneeDescription: type: - string - 'null' AutoComplete: type: boolean SkipUnresolvedAssignee: type: boolean EscalationEnabled: type: - boolean - 'null' ReminderEnabled: type: - boolean - 'null' Escalation: oneOf: - $ref: '#/components/schemas/Escalation' Reminders: type: - array - 'null' items: $ref: '#/components/schemas/Reminder' Reminder: allOf: - $ref: '#/components/schemas/BaseObject' - type: object additionalProperties: {} properties: Sequence: type: - integer - 'null' format: int32 TimeDuration: type: integer format: int32 TimeDurationUnit: type: - string - 'null' ReminderForId: type: - string - 'null' ReminderForType: type: - string - 'null' ApprovalProcessResponse: allOf: - $ref: '#/components/schemas/BaseObject' - type: object additionalProperties: {} properties: ObjectName: type: - string - 'null' ObjectType: type: - string - 'null' Active: type: boolean AdhocStepAutoReapprove: type: - boolean - 'null' ApprovalSummaryPage: type: - string - 'null' AutoReapprovalStatusLabel: type: - string - 'null' BackupAdminUserId: oneOf: - $ref: '#/components/schemas/LookupObject' ConsolidateApprovals: type: - boolean - 'null' ConsolidateNotifications: type: - boolean - 'null' ContextType: type: - string - 'null' ContinuePendingApprovalsOnAReject: type: - boolean - 'null' CriteriaFieldNames: type: - string - 'null' CustomMyApprovalsPage: type: - string - 'null' CustomPreviewPage: type: - string - 'null' DependsOn: type: - string - 'null' Description: type: - string - 'null' EnableApprovedRequestDelete: type: - boolean - 'null' EntryCriteriaFilterLogic: type: - string - 'null' IsAdhoc: type: boolean EscalationEmailTemplate: oneOf: - $ref: '#/components/schemas/LookupObject' ReminderEmailTemplate: oneOf: - $ref: '#/components/schemas/LookupObject' ErrorEmailTemplate: oneOf: - $ref: '#/components/schemas/LookupObject' AssignmentEmailTemplate: oneOf: - $ref: '#/components/schemas/LookupObject' CancellationEmailTemplate: oneOf: - $ref: '#/components/schemas/LookupObject' CommentsEmailTemplate: oneOf: - $ref: '#/components/schemas/LookupObject' RequestForInformationEmailTemplate: oneOf: - $ref: '#/components/schemas/LookupObject' RejectionEmailTemplate: oneOf: - $ref: '#/components/schemas/LookupObject' NotifyonlyEmailTemplate: oneOf: - $ref: '#/components/schemas/LookupObject' ReassignmentEmailTemplate: oneOf: - $ref: '#/components/schemas/LookupObject' ProcessAutoEscalate: type: - boolean - 'null' ProcessEscalateToId: type: - string - 'null' ProcessEscalateToName: type: - string - 'null' ProcessEscalateToType: type: - string - 'null' ProcessExpectedDaysToComplete: type: - number - 'null' format: double ProcessExpectedHoursToComplete: type: - number - 'null' format: double ProcessExpectedMinutesToComplete: type: - number - 'null' format: double ProcessName: type: - string - 'null' RequireCommentsOnReject: type: - boolean - 'null' RequireCommentsOnApprove: type: - boolean - 'null' RequireCommentsOnRecall: type: - boolean - 'null' RecallCommentsEnabled: type: - boolean - 'null' Sequence: type: - number - 'null' format: double ApproveCommentLabel: type: - string - 'null' RejectCommentLabel: type: - string - 'null' RecallCommentLabel: type: - string - 'null' SubmissionComment1Label: type: - string - 'null' SubmissionComment2Label: type: - string - 'null' SubmissionComment3Label: type: - string - 'null' SubmissionCommentsEnabled: type: - boolean - 'null' SubmissionCommentsMandatory: type: - boolean - 'null' SubmissionCommentsEnabledCount: type: - number - 'null' format: decimal SubmissionCommentsPerStep: type: - string - 'null' SubmissionCommentsType: type: - string - 'null' SummaryPageFieldNameHeader: type: - string - 'null' SummaryPageFieldNames: type: - string - 'null' IsDeleted: type: boolean ProcessEntryCriterias: type: - array - 'null' items: $ref: '#/components/schemas/ProcessEntryCriteria' ProcessUpdateActions: type: - array - 'null' items: $ref: '#/components/schemas/ProcessUpdateAction' ProcessStepGroup: oneOf: - $ref: '#/components/schemas/ProcessStepGroup' ProcessStepDTO: allOf: - $ref: '#/components/schemas/ProcessStep' - type: object description: ProcessStepDTO additionalProperties: {} properties: StepEntryCriteria: type: - array - 'null' items: $ref: '#/components/schemas/ProcessStepEntryCriteriaDTO' CustomAssigneePayload: oneOf: - $ref: '#/components/schemas/CustomAssigneePayload' Escalation: oneOf: - $ref: '#/components/schemas/EscalationDTO' Reminders: type: - array - 'null' items: $ref: '#/components/schemas/ReminderDTO' LookupObject: type: object additionalProperties: false properties: Id: type: - string - 'null' Name: type: - string - 'null' CustomAssigneeFilterPayload: type: object description: CustomAssigneeFilterPayload additionalProperties: false properties: FilterFieldName: type: - string - 'null' FilterFieldNameType: type: - string - 'null' FilterFieldNameRefTo: type: - string - 'null' FilterFieldOperator: type: - string - 'null' FilterFieldValue: type: - string - 'null' FilterFieldValueBindField: type: - string - 'null' UseBindFieldEnabled: type: boolean ProcessStepEntryCriteria: type: object additionalProperties: false properties: BooleanOperator: type: - string - 'null' Comments: type: - string - 'null' ComparisonType: type: - string - 'null' Field: type: - string - 'null' FieldObject: type: - string - 'null' FieldObjectSource: type: - string - 'null' FieldValue: type: - string - 'null' FieldValueObject: type: - string - 'null' FieldValueObjectSource: type: - string - 'null' Sequence: type: - integer - 'null' format: int32 Escalation: allOf: - $ref: '#/components/schemas/BaseObject' - type: object additionalProperties: {} properties: EscalationLevel: type: - integer - 'null' format: int32 TimeDuration: type: integer format: int32 EscalationForId: type: - string - 'null' EscalationForType: type: - string - 'null' EscalationToId: type: - string - 'null' EscalationToType: type: - string - 'null' EscalationToName: type: - string - 'null' CustomAssignee: type: - string - 'null' StepId: type: - string - 'null' Rule: type: - string - 'null' RuleStep: type: - string - 'null' ExpectedDaysToComplete: type: - string - 'null' ExpectedHoursToComplete: type: - string - 'null' ExpectedMinutesToComplete: type: - string - 'null' securitySchemes: Bearer: type: apiKey description: 'Use a JWT Bearer token. (Example: Bearer eyJhbGciO...)' name: Authorization in: header oauth2: type: oauth2 description: Login with a Salesforce or SalesforceSandbox account flows: authorizationCode: authorizationUrl: https://login-rls.congacloud.com/api/v1/auth//connect/authorize tokenUrl: https://login-rls.congacloud.com/api/v1/auth//connect/token scopes: openid: openid profile: profile offline_access: offline_access Auth.Api.Platform: Auth.Api.Platform