Files
kaidi/openapi.yaml
T
2026-08-17 14:08:40 +08:00

14414 lines
336 KiB
YAML

# Generated from Springdoc /api-docs by scripts/export-openapi.sh. Do not edit manually.
---
components:
schemas:
AccountView:
properties:
accountType:
type: string
auxiliaryRequired:
type: boolean
code:
type: string
name:
type: string
publicId:
type: string
type: object
AccountingEventView:
properties:
allowedActions:
items:
type: string
type: array
amount:
type: string
businessDate:
format: date
type: string
businessNo:
type: string
company:
"$ref": "#/components/schemas/ReferenceView"
counterparty:
"$ref": "#/components/schemas/ReferenceView"
createdAt:
format: date-time
type: string
currency:
type: string
eventSequence:
format: int32
type: integer
eventType:
type: string
period:
type: string
project:
"$ref": "#/components/schemas/ReferenceView"
publicId:
type: string
sourceBusinessNo:
type: string
sourceEventKey:
type: string
sourcePublicId:
type: string
sourceType:
type: string
sourceVersion:
type: string
status:
type: string
version:
format: int64
type: integer
voucherPublicId:
type: string
voucherStatus:
type: string
type: object
ApiProblem:
properties:
code:
type: string
detail:
type: string
fieldErrors:
additionalProperties:
type: string
type: object
instance:
format: uri
type: string
requestId:
type: string
status:
format: int32
type: integer
title:
type: string
type:
format: uri
type: string
required:
- type
- title
- status
- detail
- instance
- code
- requestId
type: object
ApiResponseArchiveFileDetailView:
properties:
data:
"$ref": "#/components/schemas/ArchiveFileDetailView"
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseArchiveFileView:
properties:
data:
"$ref": "#/components/schemas/ArchiveFileView"
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseAuditExportView:
properties:
data:
"$ref": "#/components/schemas/AuditExportView"
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseAuditLogView:
properties:
data:
"$ref": "#/components/schemas/AuditLogView"
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseBankAccountView:
properties:
data:
"$ref": "#/components/schemas/BankAccountView"
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseBorrowView:
properties:
data:
"$ref": "#/components/schemas/BorrowView"
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseCompanyView:
properties:
data:
"$ref": "#/components/schemas/CompanyView"
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseContractLedgerDetailView:
properties:
data:
"$ref": "#/components/schemas/ContractLedgerDetailView"
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseContractLedgerPageView:
properties:
data:
"$ref": "#/components/schemas/ContractLedgerPageView"
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseContractView:
properties:
data:
"$ref": "#/components/schemas/ContractView"
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseCounterpartyView:
properties:
data:
"$ref": "#/components/schemas/CounterpartyView"
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseCsrfView:
properties:
data:
"$ref": "#/components/schemas/CsrfView"
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseDictionaryView:
properties:
data:
"$ref": "#/components/schemas/DictionaryView"
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseFileView:
properties:
data:
"$ref": "#/components/schemas/FileView"
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseFilterOptionsView:
properties:
data:
"$ref": "#/components/schemas/FilterOptionsView"
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseFormReferenceOptionsView:
properties:
data:
"$ref": "#/components/schemas/FormReferenceOptionsView"
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseFundLedgerPageView:
properties:
data:
"$ref": "#/components/schemas/FundLedgerPageView"
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseInvoiceView:
properties:
data:
"$ref": "#/components/schemas/InvoiceView"
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseLegacyIdentifierResolutionView:
properties:
data:
"$ref": "#/components/schemas/LegacyIdentifierResolutionView"
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseLegacyIdentifierView:
properties:
data:
"$ref": "#/components/schemas/LegacyIdentifierView"
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseListAccountView:
properties:
data:
items:
"$ref": "#/components/schemas/AccountView"
type: array
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseListAccountingEventView:
properties:
data:
items:
"$ref": "#/components/schemas/AccountingEventView"
type: array
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseListArchiveFileView:
properties:
data:
items:
"$ref": "#/components/schemas/ArchiveFileView"
type: array
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseListAuditLogView:
properties:
data:
items:
"$ref": "#/components/schemas/AuditLogView"
type: array
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseListBankAccountView:
properties:
data:
items:
"$ref": "#/components/schemas/BankAccountView"
type: array
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseListBorrowView:
properties:
data:
items:
"$ref": "#/components/schemas/BorrowView"
type: array
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseListCompanyView:
properties:
data:
items:
"$ref": "#/components/schemas/CompanyView"
type: array
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseListContractListView:
properties:
data:
items:
"$ref": "#/components/schemas/ContractListView"
type: array
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseListContractView:
properties:
data:
items:
"$ref": "#/components/schemas/ContractView"
type: array
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseListCounterpartyView:
properties:
data:
items:
"$ref": "#/components/schemas/CounterpartyView"
type: array
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseListDictionaryView:
properties:
data:
items:
"$ref": "#/components/schemas/DictionaryView"
type: array
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseListInvoiceView:
properties:
data:
items:
"$ref": "#/components/schemas/InvoiceView"
type: array
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseListLegacyIdentifierView:
properties:
data:
items:
"$ref": "#/components/schemas/LegacyIdentifierView"
type: array
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseListMasterDataVersionView:
properties:
data:
items:
"$ref": "#/components/schemas/MasterDataVersionView"
type: array
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseListPackageView:
properties:
data:
items:
"$ref": "#/components/schemas/PackageView"
type: array
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseListPayableListView:
properties:
data:
items:
"$ref": "#/components/schemas/PayableListView"
type: array
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseListPaymentCheckView:
properties:
data:
items:
"$ref": "#/components/schemas/PaymentCheckView"
type: array
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseListPaymentView:
properties:
data:
items:
"$ref": "#/components/schemas/PaymentView"
type: array
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseListProjectDetailView:
properties:
data:
items:
"$ref": "#/components/schemas/ProjectDetailView"
type: array
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseListProjectListItemView:
properties:
data:
items:
"$ref": "#/components/schemas/ProjectListItemView"
type: array
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseListProjectRiskFlagView:
properties:
data:
items:
"$ref": "#/components/schemas/ProjectRiskFlagView"
type: array
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseListProjectTimelineView:
properties:
data:
items:
"$ref": "#/components/schemas/ProjectTimelineView"
type: array
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseListReceiptView:
properties:
data:
items:
"$ref": "#/components/schemas/ReceiptView"
type: array
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseListReceivableView:
properties:
data:
items:
"$ref": "#/components/schemas/ReceivableView"
type: array
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseListReportRow:
properties:
data:
items:
oneOf:
- "$ref": "#/components/schemas/ArchiveCompletenessRow"
- "$ref": "#/components/schemas/ContractExecutionRow"
- "$ref": "#/components/schemas/PaymentProgressRow"
- "$ref": "#/components/schemas/ProjectLedgerRow"
- "$ref": "#/components/schemas/ReceiptInvoiceRow"
- "$ref": "#/components/schemas/WorkflowDurationRow"
type: array
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseListResourceListView:
properties:
data:
items:
"$ref": "#/components/schemas/ResourceListView"
type: array
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseListRoleView:
properties:
data:
items:
"$ref": "#/components/schemas/RoleView"
type: array
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseListSessionSummaryView:
properties:
data:
items:
"$ref": "#/components/schemas/SessionSummaryView"
type: array
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseListSourceFormDetailView:
properties:
data:
items:
"$ref": "#/components/schemas/SourceFormDetailView"
type: array
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseListSourceFormSummaryView:
properties:
data:
items:
"$ref": "#/components/schemas/SourceFormSummaryView"
type: array
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseListTemplateView:
properties:
data:
items:
"$ref": "#/components/schemas/TemplateView"
type: array
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseListVoucherView:
properties:
data:
items:
"$ref": "#/components/schemas/VoucherView"
type: array
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseListWorkflowTaskSummaryView:
properties:
data:
items:
"$ref": "#/components/schemas/WorkflowTaskSummaryView"
type: array
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseMasterDataReferenceOptionsView:
properties:
data:
"$ref": "#/components/schemas/MasterDataReferenceOptionsView"
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseObject:
properties:
data: {}
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponsePackageView:
properties:
data:
"$ref": "#/components/schemas/PackageView"
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponsePaymentDetailView:
properties:
data:
"$ref": "#/components/schemas/PaymentDetailView"
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponsePaymentView:
properties:
data:
"$ref": "#/components/schemas/PaymentView"
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseProjectDetailView:
properties:
data:
"$ref": "#/components/schemas/ProjectDetailView"
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseProjectExportView:
properties:
data:
"$ref": "#/components/schemas/ProjectExportView"
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseProjectImportSummaryView:
properties:
data:
"$ref": "#/components/schemas/ProjectImportSummaryView"
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseProjectReferenceOptionsView:
properties:
data:
"$ref": "#/components/schemas/ProjectReferenceOptionsView"
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseProjectRiskFlagView:
properties:
data:
"$ref": "#/components/schemas/ProjectRiskFlagView"
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseReceiptDetailView:
properties:
data:
"$ref": "#/components/schemas/ReceiptDetailView"
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseReceiptView:
properties:
data:
"$ref": "#/components/schemas/ReceiptView"
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseReferenceOptionsView:
properties:
data:
"$ref": "#/components/schemas/ReferenceOptionsView"
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseReportDrilldownView:
properties:
data:
"$ref": "#/components/schemas/ReportDrilldownView"
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseReportExportPreviewView:
properties:
data:
"$ref": "#/components/schemas/ReportExportPreviewView"
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseReportExportView:
properties:
data:
"$ref": "#/components/schemas/ReportExportView"
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseResourceView:
properties:
data:
"$ref": "#/components/schemas/ResourceView"
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseSessionView:
properties:
data:
"$ref": "#/components/schemas/SessionView"
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseSourceFormDetailView:
properties:
data:
"$ref": "#/components/schemas/SourceFormDetailView"
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseSourceImportSummaryView:
properties:
data:
"$ref": "#/components/schemas/SourceImportSummaryView"
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseSystemUpdateView:
properties:
data:
"$ref": "#/components/schemas/SystemUpdateView"
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseTemplateView:
properties:
data:
"$ref": "#/components/schemas/TemplateView"
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseUserView:
properties:
data:
"$ref": "#/components/schemas/UserView"
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseValidationView:
properties:
data:
"$ref": "#/components/schemas/ValidationView"
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseVoid:
properties:
data: {}
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseVoucherDetailView:
properties:
data:
"$ref": "#/components/schemas/VoucherDetailView"
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseVoucherExportView:
properties:
data:
"$ref": "#/components/schemas/VoucherExportView"
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseWorkbenchView:
properties:
data:
"$ref": "#/components/schemas/WorkbenchView"
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApiResponseWorkflowTaskDetailView:
properties:
data:
"$ref": "#/components/schemas/WorkflowTaskDetailView"
meta:
additionalProperties: {}
type: object
requestId:
type: string
type: object
ApprovalView:
properties:
actedAt:
format: date-time
type: string
action:
type: string
actorName:
type: string
nodeCode:
type: string
nodeName:
type: string
opinion:
type: string
publicId:
type: string
type: object
ArchiveCompletenessRow:
allOf:
- "$ref": "#/components/schemas/ReportRow"
- properties:
businessNo:
type: string
completeness:
type: string
frozen:
type: boolean
missingCount:
format: int64
type: integer
notApplicableCount:
format: int64
type: integer
packageVersion:
format: int32
type: integer
pendingCount:
format: int64
type: integer
presentCount:
format: int64
type: integer
projectName:
type: string
rowId:
type: string
status:
type: string
totalItemCount:
format: int64
type: integer
type: object
ArchiveCompletenessSourceView:
allOf:
- "$ref": "#/components/schemas/ReportSourceView"
- properties:
businessDate:
type: string
businessNo:
type: string
companyName:
type: string
companyPublicId:
type: string
completeness:
type: string
counterpartyPublicId:
type: string
currency:
type: string
frozen:
type: boolean
metricAmount:
type: string
missingCount:
format: int64
type: integer
notApplicableCount:
format: int64
type: integer
packageId:
type: string
packageVersion:
format: int32
type: integer
pendingCount:
format: int64
type: integer
presentCount:
format: int64
type: integer
projectName:
type: string
projectPublicId:
type: string
rowId:
type: string
status:
type: string
totalItemCount:
format: int64
type: integer
updatedAt:
type: string
type: object
ArchiveFileDetailView:
properties:
borrows:
items:
"$ref": "#/components/schemas/BorrowView"
type: array
file:
"$ref": "#/components/schemas/ArchiveFileView"
versions:
items:
"$ref": "#/components/schemas/ArchiveFileView"
type: array
type: object
ArchiveFileView:
properties:
allowedActions:
items:
type: string
type: array
archiveStatus:
type: string
borrowStatus:
type: string
companyName:
type: string
companyPublicId:
type: string
contractPublicId:
type: string
counterpartyPublicId:
type: string
displayName:
type: string
documentType:
type: string
formType:
type: string
mediaType:
type: string
originalType:
type: string
packagePublicId:
type: string
packageStatus:
type: string
projectBusinessNo:
type: string
projectName:
type: string
projectPublicId:
type: string
publicId:
type: string
scanStatus:
type: string
sensitive:
type: boolean
seriesPublicId:
type: string
sha256:
type: string
sizeBytes:
format: int64
type: integer
uploadedAt:
format: date-time
type: string
uploadedBy:
type: string
versionNo:
format: int32
type: integer
type: object
AuditExportRequest:
properties:
action:
maxLength: 100
minLength: 0
type: string
actorId:
maxLength: 26
minLength: 0
type: string
identityCode:
maxLength: 40
minLength: 0
type: string
keyword:
maxLength: 100
minLength: 0
type: string
objectId:
maxLength: 26
minLength: 0
type: string
objectType:
maxLength: 80
minLength: 0
type: string
occurredFrom:
format: date-time
type: string
occurredTo:
format: date-time
type: string
requestId:
maxLength: 26
minLength: 0
type: string
result:
maxLength: 40
minLength: 0
type: string
sort:
enum:
- occurredAt,asc
- occurredAt,desc
- eventSequence,asc
- eventSequence,desc
pattern: "(occurredAt|eventSequence),(asc|desc)"
type: string
type: object
AuditExportView:
properties:
content:
type: string
exportId:
type: string
fileName:
type: string
rowCount:
format: int32
type: integer
sha256:
type: string
type: object
AuditLogView:
properties:
actionCode:
type: string
activeRole:
type: string
afterJson:
type: string
allowedActions:
items:
type: string
type: array
beforeJson:
type: string
companyPublicId:
type: string
eventSequence:
format: int64
type: integer
objectPublicId:
type: string
objectType:
type: string
occurredAt:
format: date-time
type: string
projectPublicId:
type: string
publicId:
type: string
reason:
type: string
requestId:
type: string
resultCode:
type: string
userPublicId:
type: string
username:
type: string
type: object
AuthorizationScopeView:
properties:
amountLimit:
type: number
companyCode:
type: string
companyName:
type: string
companyPublicId:
type: string
permissionCount:
format: int64
type: integer
projectCode:
type: string
projectName:
type: string
projectPublicId:
type: string
roleCode:
type: string
roleName:
type: string
scopeType:
type: string
type: object
BankAccountCreateRequest:
properties:
accountCategory:
minLength: 1
type: string
accountName:
maxLength: 200
minLength: 0
type: string
accountNo:
maxLength: 64
minLength: 6
type: string
bankName:
maxLength: 200
minLength: 0
type: string
ownerId:
minLength: 1
type: string
ownerType:
minLength: 1
type: string
validFrom:
format: date
type: string
validTo:
format: date
type: string
required:
- accountCategory
- accountName
- accountNo
- bankName
- ownerId
- ownerType
- validFrom
type: object
BankAccountReferenceView:
properties:
accountName:
type: string
bankName:
type: string
maskedAccountNo:
type: string
publicId:
type: string
supplierId:
type: string
versionNo:
format: int32
type: integer
type: object
BankAccountUpdateRequest:
properties:
accountCategory:
minLength: 1
type: string
accountName:
maxLength: 200
minLength: 0
type: string
accountNo:
maxLength: 64
minLength: 6
type: string
bankName:
maxLength: 200
minLength: 0
type: string
validFrom:
format: date
type: string
validTo:
format: date
type: string
version:
format: int64
type: integer
required:
- accountCategory
- accountName
- bankName
- validFrom
- version
type: object
BankAccountView:
properties:
accountCategory:
type: string
accountName:
type: string
allowedActions:
items:
type: string
type: array
uniqueItems: true
bankName:
type: string
createdAt:
format: date-time
type: string
maskedAccountNo:
type: string
owner:
"$ref": "#/components/schemas/MasterDataReferenceView"
ownerType:
type: string
publicId:
type: string
status:
type: string
updatedAt:
format: date-time
type: string
validFrom:
format: date
type: string
validTo:
format: date
type: string
version:
format: int64
type: integer
versionNo:
format: int32
type: integer
type: object
BorrowCommandRequest:
properties:
opinion:
maxLength: 1000
minLength: 2
type: string
returnCondition:
maxLength: 500
minLength: 0
type: string
version:
format: int64
type: integer
required:
- version
type: object
BorrowCreateRequest:
properties:
dueAt:
format: date-time
type: string
fileId:
maxLength: 26
minLength: 0
type: string
purpose:
maxLength: 500
minLength: 2
type: string
required:
- dueAt
- fileId
- purpose
type: object
BorrowView:
properties:
allowedActions:
items:
type: string
type: array
applicantName:
type: string
approvedAt:
format: date-time
type: string
approvedByName:
type: string
businessNo:
type: string
dueAt:
format: date-time
type: string
fileName:
type: string
filePublicId:
type: string
projectName:
type: string
projectPublicId:
type: string
publicId:
type: string
purpose:
type: string
returnCondition:
type: string
returnedAt:
format: date-time
type: string
returnedByName:
type: string
reviewOpinion:
type: string
status:
type: string
version:
format: int64
type: integer
type: object
CompanyCreateRequest:
properties:
businessNo:
maxLength: 64
minLength: 0
type: string
name:
maxLength: 200
minLength: 0
type: string
taxNo:
maxLength: 64
minLength: 0
type: string
required:
- businessNo
- name
type: object
CompanyUpdateRequest:
properties:
name:
maxLength: 200
minLength: 0
type: string
taxNo:
maxLength: 64
minLength: 0
type: string
version:
format: int64
type: integer
required:
- name
- version
type: object
CompanyView:
properties:
allowedActions:
items:
type: string
type: array
uniqueItems: true
businessNo:
type: string
createdAt:
format: date-time
type: string
name:
type: string
publicId:
type: string
status:
type: string
taxNo:
type: string
updatedAt:
format: date-time
type: string
version:
format: int64
type: integer
type: object
ContractChangeCreateRequest:
properties:
changeAmount:
type: number
changeNo:
maxLength: 64
minLength: 0
type: string
contractVersion:
format: int64
type: integer
effectiveDate:
format: date
type: string
reason:
maxLength: 1000
minLength: 0
type: string
required:
- changeAmount
- changeNo
- contractVersion
- effectiveDate
- reason
type: object
ContractChangeLineView:
properties:
allowedActions:
items:
type: string
type: array
changeAmount:
type: string
changeNo:
type: string
createdAt:
format: date-time
type: string
createdByName:
type: string
effectiveDate:
format: date
type: string
publicId:
type: string
reason:
type: string
status:
type: string
version:
format: int64
type: integer
type: object
ContractCreateRequest:
properties:
businessNo:
maxLength: 64
minLength: 0
type: string
companyId:
minLength: 1
type: string
counterpartyId:
minLength: 1
type: string
currency:
minLength: 1
pattern: "[A-Za-z]{3}"
type: string
name:
maxLength: 200
minLength: 0
type: string
originalAmount:
minLength: 1
pattern: "\\d{1,18}(\\.\\d{1,2})?"
type: string
projectId:
minLength: 1
type: string
required:
- businessNo
- companyId
- counterpartyId
- currency
- name
- originalAmount
- projectId
type: object
ContractExecutionRow:
allOf:
- "$ref": "#/components/schemas/ReportRow"
- properties:
approvedChangeAmount:
type: string
availableAmount:
type: string
businessNo:
type: string
currency:
type: string
invoicedAmount:
type: string
name:
type: string
originalAmount:
type: string
paidAmount:
type: string
payableAmount:
type: string
pendingPayableAmount:
type: string
projectName:
type: string
rowId:
type: string
settlementAmount:
type: string
status:
type: string
type: object
ContractExecutionSourceView:
allOf:
- "$ref": "#/components/schemas/ReportSourceView"
- properties:
approvedChangeAmount:
type: string
availableAmount:
type: string
businessDate:
type: string
businessNo:
type: string
companyName:
type: string
companyPublicId:
type: string
counterpartyPublicId:
type: string
currency:
type: string
invoicedAmount:
type: string
metricAmount:
type: string
name:
type: string
originalAmount:
type: string
paidAmount:
type: string
payableAmount:
type: string
pendingPayableAmount:
type: string
projectName:
type: string
projectPublicId:
type: string
rowId:
type: string
settlementAmount:
type: string
status:
type: string
updatedAt:
type: string
type: object
ContractLedgerDetailView:
properties:
changes:
items:
"$ref": "#/components/schemas/ContractChangeLineView"
type: array
contract:
"$ref": "#/components/schemas/ContractLedgerItemView"
invoices:
items:
"$ref": "#/components/schemas/InvoiceLineView"
type: array
payables:
items:
"$ref": "#/components/schemas/PayableLineView"
type: array
payments:
items:
"$ref": "#/components/schemas/PaymentLineView"
type: array
settlements:
items:
"$ref": "#/components/schemas/ContractSettlementLineView"
type: array
type: object
ContractLedgerItemView:
properties:
allowedActions:
items:
type: string
type: array
approvedChangeAmount:
type: string
availableAmount:
type: string
businessNo:
type: string
company:
"$ref": "#/components/schemas/ReferenceView"
counterparty:
"$ref": "#/components/schemas/ReferenceView"
currency:
type: string
invoicedAmount:
type: string
name:
type: string
originalAmount:
type: string
paidAmount:
type: string
payableAmount:
type: string
pendingPayableAmount:
type: string
project:
"$ref": "#/components/schemas/ReferenceView"
publicId:
type: string
settlementAmount:
type: string
status:
type: string
updatedAt:
format: date-time
type: string
version:
format: int64
type: integer
type: object
ContractLedgerPageView:
properties:
items:
items:
"$ref": "#/components/schemas/ContractLedgerItemView"
type: array
summary:
"$ref": "#/components/schemas/ContractLedgerSummaryView"
type: object
ContractLedgerSummaryView:
properties:
approvedChangeAmount:
type: string
availableAmount:
type: string
contractCount:
format: int64
type: integer
invoicedAmount:
type: string
originalAmount:
type: string
paidAmount:
type: string
payableAmount:
type: string
pendingPayableAmount:
type: string
settlementAmount:
type: string
type: object
ContractListView:
properties:
business_no:
type: string
change_amount:
type: string
company_name:
type: string
contract_amount:
type: string
counterparty_name:
type: string
currency:
type: string
name:
type: string
project_business_no:
type: string
project_name:
type: string
public_id:
type: string
settlement_amount:
type: string
status:
type: string
updated_at:
format: date-time
type: string
type: object
ContractReferenceView:
properties:
businessNo:
type: string
companyId:
type: string
counterpartyId:
type: string
counterpartyName:
type: string
counterpartyType:
type: string
name:
type: string
projectId:
type: string
publicId:
type: string
type: object
ContractSettlementCreateRequest:
properties:
contractVersion:
format: int64
type: integer
settlementAmount:
minimum: 0.0
type: number
settlementDate:
format: date
type: string
settlementNo:
maxLength: 64
minLength: 0
type: string
sourceDocumentId:
maxLength: 26
minLength: 26
type: string
required:
- contractVersion
- settlementAmount
- settlementDate
- settlementNo
- sourceDocumentId
type: object
ContractSettlementLineView:
properties:
allowedActions:
items:
type: string
type: array
createdAt:
format: date-time
type: string
createdByName:
type: string
publicId:
type: string
settlementAmount:
type: string
settlementDate:
format: date
type: string
settlementNo:
type: string
sourceDocumentId:
type: string
sourceVersionId:
type: string
status:
type: string
version:
format: int64
type: integer
type: object
ContractUpdateRequest:
properties:
companyId:
minLength: 1
type: string
counterpartyId:
minLength: 1
type: string
currency:
minLength: 1
pattern: "[A-Za-z]{3}"
type: string
name:
maxLength: 200
minLength: 0
type: string
originalAmount:
minLength: 1
pattern: "\\d{1,18}(\\.\\d{1,2})?"
type: string
projectId:
minLength: 1
type: string
version:
format: int64
type: integer
required:
- companyId
- counterpartyId
- currency
- name
- originalAmount
- projectId
- version
type: object
ContractView:
properties:
allowedActions:
items:
type: string
type: array
uniqueItems: true
approvedChangeAmount:
type: string
businessNo:
type: string
company:
"$ref": "#/components/schemas/MasterDataReferenceView"
counterparty:
"$ref": "#/components/schemas/MasterDataReferenceView"
createdAt:
format: date-time
type: string
currency:
type: string
name:
type: string
originalAmount:
type: string
project:
"$ref": "#/components/schemas/MasterDataReferenceView"
publicId:
type: string
settlementAmount:
type: string
status:
type: string
updatedAt:
format: date-time
type: string
version:
format: int64
type: integer
type: object
CounterpartyCreateRequest:
properties:
businessNo:
maxLength: 64
minLength: 0
type: string
contactName:
maxLength: 100
minLength: 0
type: string
contactPhone:
maxLength: 32
minLength: 0
type: string
name:
maxLength: 200
minLength: 0
type: string
taxNo:
maxLength: 64
minLength: 0
type: string
type:
minLength: 1
type: string
required:
- businessNo
- name
- type
type: object
CounterpartyUpdateRequest:
properties:
contactName:
maxLength: 100
minLength: 0
type: string
contactPhone:
maxLength: 32
minLength: 0
type: string
name:
maxLength: 200
minLength: 0
type: string
taxNo:
maxLength: 64
minLength: 0
type: string
type:
minLength: 1
type: string
version:
format: int64
type: integer
required:
- name
- type
- version
type: object
CounterpartyView:
properties:
allowedActions:
items:
type: string
type: array
uniqueItems: true
businessNo:
type: string
contactName:
type: string
contactPhone:
type: string
createdAt:
format: date-time
type: string
name:
type: string
publicId:
type: string
status:
type: string
taxNo:
type: string
type:
type: string
updatedAt:
format: date-time
type: string
version:
format: int64
type: integer
type: object
CsrfView:
properties:
headerName:
type: string
parameterName:
type: string
token:
type: string
type: object
DictionaryCreateRequest:
properties:
accountType:
type: string
auxiliaryRequired:
type: boolean
code:
maxLength: 64
minLength: 0
type: string
name:
maxLength: 128
minLength: 0
type: string
parentId:
type: string
rate:
maxLength: 16
minLength: 0
type: string
required:
- code
- name
type: object
DictionaryUpdateRequest:
properties:
accountType:
type: string
auxiliaryRequired:
type: boolean
name:
maxLength: 128
minLength: 0
type: string
parentId:
type: string
rate:
maxLength: 16
minLength: 0
type: string
version:
format: int64
type: integer
required:
- name
- version
type: object
DictionaryView:
properties:
accountType:
type: string
allowedActions:
items:
type: string
type: array
uniqueItems: true
auxiliaryRequired:
type: boolean
code:
type: string
createdAt:
format: date-time
type: string
name:
type: string
parent:
"$ref": "#/components/schemas/MasterDataReferenceView"
publicId:
type: string
rate:
type: string
resource:
type: string
status:
type: string
updatedAt:
format: date-time
type: string
version:
format: int64
type: integer
type: object
DownloadUpdateRequest:
properties:
version:
minLength: 1
pattern: "^[0-9A-Za-z][0-9A-Za-z._+\\-]{0,63}$"
type: string
required:
- version
type: object
FailureResultRequest:
properties:
reason:
maxLength: 1000
minLength: 0
type: string
receiptFileIds:
items:
maxLength: 26
minLength: 0
type: string
maxItems: 20
minItems: 0
type: array
remark:
maxLength: 1000
minLength: 0
type: string
resultAt:
format: date
type: string
version:
format: int64
type: integer
required:
- reason
- resultAt
- version
type: object
FileLinkMetadata:
properties:
contractId:
maxLength: 26
minLength: 0
type: string
counterpartyId:
maxLength: 26
minLength: 0
type: string
fileType:
maxLength: 64
minLength: 0
type: string
formType:
maxLength: 32
minLength: 0
type: string
notApplicableReason:
maxLength: 500
minLength: 0
type: string
originalType:
maxLength: 64
minLength: 0
type: string
packageId:
maxLength: 26
minLength: 0
type: string
packageItemId:
maxLength: 26
minLength: 0
type: string
projectId:
maxLength: 26
minLength: 0
type: string
replacementReason:
maxLength: 500
minLength: 0
type: string
replacesFileId:
maxLength: 26
minLength: 0
type: string
required:
- fileType
- projectId
type: object
FileView:
properties:
createdAt:
format: date-time
type: string
extension:
type: string
mediaType:
type: string
originalName:
type: string
publicId:
type: string
scanDetail:
type: string
scanStatus:
type: string
scannedAt:
format: date-time
type: string
sha256:
type: string
sizeBytes:
format: int64
type: integer
type: object
FilterOptionsView:
properties:
companies:
items:
"$ref": "#/components/schemas/ReferenceView"
type: array
costCategories:
items:
"$ref": "#/components/schemas/ReferenceView"
type: array
counterparties:
items:
"$ref": "#/components/schemas/ReferenceView"
type: array
projects:
items:
"$ref": "#/components/schemas/ReferenceView"
type: array
type: object
FormReferenceOptionsView:
properties:
companies:
items:
"$ref": "#/components/schemas/ReferenceView"
type: array
contracts:
items:
"$ref": "#/components/schemas/ContractReferenceView"
type: array
costCategories:
items:
"$ref": "#/components/schemas/ReferenceView"
type: array
customers:
items:
"$ref": "#/components/schemas/ReferenceView"
type: array
payables:
items:
"$ref": "#/components/schemas/PayableReferenceView"
type: array
projects:
items:
"$ref": "#/components/schemas/ReferenceView"
type: array
suppliers:
items:
"$ref": "#/components/schemas/ReferenceView"
type: array
type: object
FreezeRequest:
properties:
reason:
maxLength: 1000
minLength: 0
type: string
version:
format: int64
type: integer
required:
- reason
- version
type: object
FundControlView:
properties:
approvedAdjustment:
type: string
approvedUnpaid:
type: string
availableBalance:
type: string
confirmedDeduction:
type: string
confirmedReceipt:
type: string
currency:
type: string
frozenAmount:
type: string
paidAmount:
type: string
projectCode:
type: string
projectId:
type: string
projectName:
type: string
version:
format: int64
type: integer
type: object
FundLedgerEntryView:
properties:
approvedAdjustmentAfter:
type: string
approvedAdjustmentDelta:
type: string
approvedUnpaidAfter:
type: string
approvedUnpaidDelta:
type: string
balanceAfter:
type: string
confirmedDeductionAfter:
type: string
confirmedDeductionDelta:
type: string
confirmedReceiptAfter:
type: string
confirmedReceiptDelta:
type: string
controlVersionAfter:
format: int64
type: integer
createdByName:
type: string
currency:
type: string
deltaAmount:
type: string
description:
type: string
entryType:
type: string
eventAmount:
type: string
frozenAmountAfter:
type: string
frozenAmountDelta:
type: string
occurredAt:
format: date-time
type: string
paidAmountAfter:
type: string
paidAmountDelta:
type: string
publicId:
type: string
sourceBusinessNo:
type: string
sourcePublicId:
type: string
sourceType:
type: string
type: object
FundLedgerPageView:
properties:
control:
"$ref": "#/components/schemas/FundControlView"
items:
items:
"$ref": "#/components/schemas/FundLedgerEntryView"
type: array
meta:
additionalProperties: {}
type: object
type: object
GenerateDraftRequest:
properties:
ruleVersion:
maxLength: 64
minLength: 0
type: string
version:
format: int64
type: integer
required:
- ruleVersion
- version
type: object
InstallUpdateRequest:
properties:
reason:
maxLength: 500
minLength: 0
type: string
version:
minLength: 1
pattern: "^[0-9A-Za-z][0-9A-Za-z._+\\-]{0,63}$"
type: string
required:
- version
type: object
InvoiceCreateRequest:
properties:
amount:
minimum: 0.01
type: number
companyId:
maxLength: 26
minLength: 0
type: string
contractId:
maxLength: 26
minLength: 0
type: string
counterpartyId:
maxLength: 26
minLength: 0
type: string
invoiceType:
minLength: 1
pattern: SPECIAL|NORMAL|RECEIPT
type: string
projectId:
maxLength: 26
minLength: 0
type: string
requestedDate:
format: date
type: string
taxRate:
maximum: 1
minimum: 0
type: number
required:
- amount
- companyId
- counterpartyId
- invoiceType
- projectId
- requestedDate
- taxRate
type: object
InvoiceLineView:
properties:
amount:
type: string
businessNo:
type: string
invoiceNo:
type: string
invoiceType:
type: string
issuedDate:
format: date
type: string
publicId:
type: string
requestedDate:
format: date
type: string
status:
type: string
taxRate:
type: string
updatedAt:
format: date-time
type: string
type: object
InvoiceResultRequest:
properties:
invoiceNo:
maxLength: 100
minLength: 0
type: string
issuedDate:
format: date
type: string
resultFileId:
maxLength: 26
minLength: 0
type: string
version:
format: int64
type: integer
required:
- invoiceNo
- issuedDate
- version
type: object
InvoiceReviewRequest:
properties:
decision:
minLength: 1
pattern: APPROVE|RETURN|REJECT
type: string
opinion:
maxLength: 1000
minLength: 0
type: string
returnPoints:
items:
maxLength: 64
minLength: 0
type: string
maxItems: 32
minItems: 0
type: array
version:
format: int64
type: integer
required:
- decision
- opinion
- version
type: object
InvoiceUpdateRequest:
properties:
amount:
minimum: 0.01
type: number
companyId:
maxLength: 26
minLength: 0
type: string
contractId:
maxLength: 26
minLength: 0
type: string
counterpartyId:
maxLength: 26
minLength: 0
type: string
invoiceType:
minLength: 1
pattern: SPECIAL|NORMAL|RECEIPT
type: string
projectId:
maxLength: 26
minLength: 0
type: string
requestedDate:
format: date
type: string
taxRate:
maximum: 1
minimum: 0
type: number
version:
format: int64
type: integer
required:
- amount
- companyId
- counterpartyId
- invoiceType
- projectId
- requestedDate
- taxRate
- version
type: object
InvoiceView:
properties:
allowedActions:
items:
type: string
type: array
amount:
type: string
businessNo:
type: string
company:
"$ref": "#/components/schemas/ReferenceView"
contract:
"$ref": "#/components/schemas/ReferenceView"
contractAvailableAmount:
type: string
contractCommittedAmount:
type: string
contractLimit:
type: string
counterparty:
"$ref": "#/components/schemas/ReferenceView"
createdAt:
format: date-time
type: string
currency:
type: string
invoiceNo:
type: string
invoiceType:
type: string
issuedDate:
format: date
type: string
originalInvoiceId:
type: string
project:
"$ref": "#/components/schemas/ReferenceView"
publicId:
type: string
requestedDate:
format: date
type: string
resultFileId:
type: string
resultRecordedAt:
format: date-time
type: string
resultRecordedByName:
type: string
reviewOpinion:
type: string
reviewedAt:
format: date-time
type: string
reviewedByName:
type: string
sourceDocumentId:
type: string
sourceVersionId:
type: string
status:
type: string
submittedAt:
format: date-time
type: string
submittedByName:
type: string
taxRate:
type: string
terminationReason:
type: string
updatedAt:
format: date-time
type: string
version:
format: int64
type: integer
type: object
JsonNode: {}
LegacyIdentifierCreateRequest:
properties:
legacyCode:
maxLength: 128
minLength: 0
type: string
sourceSystem:
maxLength: 64
minLength: 0
type: string
required:
- legacyCode
- sourceSystem
type: object
LegacyIdentifierResolutionView:
properties:
legacyCode:
type: string
mappingPublicId:
type: string
resource:
type: string
sourceSystem:
type: string
targetPublicId:
type: string
type: object
LegacyIdentifierView:
properties:
allowedActions:
items:
type: string
type: array
uniqueItems: true
createdAt:
format: date-time
type: string
legacyCode:
type: string
publicId:
type: string
resource:
type: string
sourceSystem:
type: string
status:
type: string
targetPublicId:
type: string
updatedAt:
format: date-time
type: string
version:
format: int64
type: integer
type: object
LoginRequest:
properties:
password:
maxLength: 64
minLength: 12
type: string
username:
maxLength: 64
minLength: 0
type: string
required:
- password
- username
type: object
MasterDataReferenceOptionsView:
properties:
companies:
items:
"$ref": "#/components/schemas/MasterDataReferenceView"
type: array
costCategories:
items:
"$ref": "#/components/schemas/MasterDataReferenceView"
type: array
counterparties:
items:
"$ref": "#/components/schemas/MasterDataReferenceView"
type: array
projects:
items:
"$ref": "#/components/schemas/MasterDataReferenceView"
type: array
type: object
MasterDataReferenceView:
properties:
code:
type: string
name:
type: string
publicId:
type: string
type: object
MasterDataVersionView:
properties:
actionCode:
type: string
actorName:
type: string
after:
"$ref": "#/components/schemas/JsonNode"
auditId:
type: string
before:
"$ref": "#/components/schemas/JsonNode"
changedAt:
format: date-time
type: string
status:
type: string
version:
format: int64
type: integer
type: object
NotApplicableRequest:
properties:
reason:
maxLength: 500
minLength: 2
type: string
version:
format: int64
type: integer
required:
- reason
- version
type: object
NotApplicableReviewRequest:
properties:
approved:
type: boolean
opinion:
maxLength: 1000
minLength: 2
type: string
version:
format: int64
type: integer
required:
- approved
- opinion
- version
type: object
OfflineResultRequest:
properties:
amount:
minimum: 0.01
type: number
receiptFileIds:
items:
maxLength: 26
minLength: 0
type: string
maxItems: 20
minItems: 0
type: array
remark:
maxLength: 1000
minLength: 0
type: string
resultAt:
format: date
type: string
version:
format: int64
type: integer
required:
- amount
- receiptFileIds
- resultAt
- version
type: object
PackageActionView:
properties:
actionCode:
type: string
actorName:
type: string
fromStatus:
type: string
manifestSha256:
type: string
occurredAt:
format: date-time
type: string
opinion:
type: string
sequenceNo:
format: int32
type: integer
toStatus:
type: string
type: object
PackageCommandRequest:
properties:
opinion:
maxLength: 1000
minLength: 0
type: string
returnItemIds:
items:
pattern: "[0-9A-HJKMNP-TV-Z]{26}"
type: string
maxItems: 50
minItems: 0
type: array
version:
format: int64
type: integer
required:
- version
type: object
PackageCreateRequest:
properties:
physicalLocation:
maxLength: 500
minLength: 0
type: string
projectId:
maxLength: 26
minLength: 0
type: string
retentionYears:
format: int32
minimum: 1
type: integer
required:
- projectId
type: object
PackageItemView:
properties:
allowedActions:
items:
type: string
type: array
fileName:
type: string
filePublicId:
type: string
fileSha256:
type: string
itemName:
type: string
itemType:
type: string
missingReason:
type: string
notApplicableReason:
type: string
notApplicableRequestedAt:
format: date-time
type: string
notApplicableRequestedByName:
type: string
notApplicableReviewOpinion:
type: string
notApplicableReviewedAt:
format: date-time
type: string
notApplicableReviewedByName:
type: string
objectPublicId:
type: string
objectType:
type: string
publicId:
type: string
required:
type: boolean
returnReason:
type: string
status:
type: string
type: object
PackageObjectSnapshotView:
properties:
capturedAt:
format: date-time
type: string
itemType:
type: string
objectBusinessNo:
type: string
objectFormType:
type: string
objectName:
type: string
objectPublicId:
type: string
objectStatus:
type: string
objectType:
type: string
objectVersion:
format: int64
type: integer
publicId:
type: string
snapshotSha256:
type: string
sourceVersionPublicId:
type: string
type: object
PackageRevisionRequest:
properties:
reason:
maxLength: 1000
minLength: 2
type: string
version:
format: int64
type: integer
required:
- reason
- version
type: object
PackageView:
properties:
actions:
items:
"$ref": "#/components/schemas/PackageActionView"
type: array
allowedActions:
items:
type: string
type: array
archivedAt:
format: date-time
type: string
businessNo:
type: string
company:
"$ref": "#/components/schemas/ReferenceView"
completeness:
type: string
frozen:
type: boolean
items:
items:
"$ref": "#/components/schemas/PackageItemView"
type: array
manifestSha256:
type: string
missingCount:
format: int32
type: integer
objectSnapshots:
items:
"$ref": "#/components/schemas/PackageObjectSnapshotView"
type: array
packageVersion:
format: int32
type: integer
physicalLocation:
type: string
project:
"$ref": "#/components/schemas/ReferenceView"
publicId:
type: string
retentionExpiresOn:
format: date
type: string
retentionStatus:
type: string
retentionYears:
format: int32
type: integer
reviewedByName:
type: string
revisionReason:
type: string
rootPackagePublicId:
type: string
ruleVersion:
type: string
status:
type: string
submittedAt:
format: date-time
type: string
submittedByName:
type: string
supersedesPackagePublicId:
type: string
updatedAt:
format: date-time
type: string
version:
format: int64
type: integer
type: object
PasswordChangeRequest:
properties:
confirmPassword:
minLength: 1
type: string
currentPassword:
minLength: 1
type: string
newPassword:
maxLength: 100
minLength: 12
type: string
required:
- confirmPassword
- currentPassword
- newPassword
type: object
PayableCreateRequest:
properties:
amount:
minimum: 0.01
type: number
businessDate:
format: date
type: string
businessNo:
maxLength: 64
minLength: 0
type: string
contractVersion:
format: int64
type: integer
costCategoryId:
maxLength: 26
minLength: 0
type: string
sourceDocumentId:
maxLength: 26
minLength: 26
type: string
required:
- amount
- businessDate
- businessNo
- contractVersion
- costCategoryId
- sourceDocumentId
type: object
PayableLineView:
properties:
allowedActions:
items:
type: string
type: array
amount:
type: string
businessDate:
format: date
type: string
businessNo:
type: string
costCategory:
"$ref": "#/components/schemas/ReferenceView"
invoicedAmount:
type: string
paidAmount:
type: string
publicId:
type: string
sourceDocumentId:
type: string
sourceVersionId:
type: string
status:
type: string
unpaidAmount:
type: string
updatedAt:
format: date-time
type: string
version:
format: int64
type: integer
type: object
PayableListView:
properties:
amount:
type: string
business_date:
format: date
type: string
business_no:
type: string
cost_category_name:
type: string
counterparty_name:
type: string
invoiced_amount:
type: string
paid_amount:
type: string
project_business_no:
type: string
project_name:
type: string
public_id:
type: string
status:
type: string
updated_at:
format: date-time
type: string
type: object
PayableReferenceView:
properties:
amount:
type: string
businessNo:
type: string
contractId:
type: string
paidAmount:
type: string
projectId:
type: string
publicId:
type: string
remainingAmount:
type: string
supplierId:
type: string
type: object
PaymentAttachmentExceptionInput:
properties:
documentType:
minLength: 1
pattern: "[A-Z][A-Z0-9_]{1,63}"
type: string
reason:
maxLength: 500
minLength: 0
type: string
required:
- documentType
- reason
type: object
PaymentAttachmentExceptionReviewRequest:
properties:
decision:
minLength: 1
pattern: APPROVE|REJECT
type: string
opinion:
maxLength: 1000
minLength: 0
type: string
version:
format: int64
type: integer
required:
- decision
- opinion
- version
type: object
PaymentAttachmentExceptionView:
properties:
allowedActions:
items:
type: string
type: array
consumedAt:
format: date-time
type: string
documentName:
type: string
documentType:
type: string
publicId:
type: string
reason:
type: string
requestedAt:
format: date-time
type: string
requestedByName:
type: string
reviewOpinion:
type: string
reviewedAt:
format: date-time
type: string
reviewedByName:
type: string
status:
type: string
version:
format: int64
type: integer
type: object
PaymentAttachmentInput:
properties:
documentType:
minLength: 1
pattern: "[A-Z][A-Z0-9_]{1,63}"
type: string
fileId:
maxLength: 26
minLength: 0
type: string
required:
- documentType
- fileId
type: object
PaymentAttachmentView:
properties:
createdAt:
format: date-time
type: string
documentType:
type: string
fileId:
type: string
fileName:
type: string
publicId:
type: string
scanStatus:
type: string
type: object
PaymentCheckView:
properties:
checkedAt:
format: date-time
type: string
code:
type: string
message:
type: string
publicId:
type: string
result:
type: string
type: object
PaymentControlExceptionRequest:
properties:
controlCode:
minLength: 1
pattern: "[A-Z][A-Z0-9_]{1,63}"
type: string
paymentVersion:
format: int64
type: integer
reason:
maxLength: 500
minLength: 0
type: string
validUntil:
format: date
type: string
required:
- controlCode
- paymentVersion
- reason
- validUntil
type: object
PaymentControlExceptionReviewRequest:
properties:
decision:
minLength: 1
pattern: APPROVE|REJECT
type: string
opinion:
maxLength: 1000
minLength: 0
type: string
paymentVersion:
format: int64
type: integer
version:
format: int64
type: integer
required:
- decision
- opinion
- paymentVersion
- version
type: object
PaymentControlExceptionView:
properties:
allowedActions:
items:
type: string
type: array
consumedAt:
format: date-time
type: string
controlCode:
type: string
findingSummary:
type: string
publicId:
type: string
reason:
type: string
requestedAt:
format: date-time
type: string
requestedByName:
type: string
reviewOpinion:
type: string
reviewedAt:
format: date-time
type: string
reviewedByName:
type: string
status:
type: string
validUntil:
format: date
type: string
version:
format: int64
type: integer
type: object
PaymentCreateRequest:
properties:
attachmentExceptions:
items:
"$ref": "#/components/schemas/PaymentAttachmentExceptionInput"
maxItems: 20
minItems: 0
type: array
attachmentFileIds:
items:
maxLength: 26
minLength: 0
type: string
maxItems: 20
minItems: 0
type: array
attachments:
items:
"$ref": "#/components/schemas/PaymentAttachmentInput"
maxItems: 20
minItems: 0
type: array
bankAccountVersionId:
maxLength: 26
minLength: 0
type: string
companyId:
maxLength: 26
minLength: 0
type: string
contractId:
maxLength: 26
minLength: 0
type: string
currency:
minLength: 1
pattern: "[A-Z]{3}"
type: string
payableId:
maxLength: 26
minLength: 0
type: string
projectId:
maxLength: 26
minLength: 0
type: string
purpose:
maxLength: 500
minLength: 0
type: string
requestedAmount:
minimum: 0.01
type: number
requestedDate:
format: date
type: string
sourceDocumentId:
maxLength: 26
minLength: 0
type: string
supplierId:
maxLength: 26
minLength: 0
type: string
required:
- bankAccountVersionId
- companyId
- contractId
- currency
- projectId
- purpose
- requestedAmount
- requestedDate
- supplierId
type: object
PaymentDetailView:
properties:
attachmentExceptions:
items:
"$ref": "#/components/schemas/PaymentAttachmentExceptionView"
type: array
attachments:
items:
"$ref": "#/components/schemas/PaymentAttachmentView"
type: array
checks:
items:
"$ref": "#/components/schemas/PaymentCheckView"
type: array
controlExceptions:
items:
"$ref": "#/components/schemas/PaymentControlExceptionView"
type: array
payment:
"$ref": "#/components/schemas/PaymentView"
results:
items:
"$ref": "#/components/schemas/PaymentResultView"
type: array
type: object
PaymentExportRequest:
properties:
companyId:
maxLength: 26
minLength: 0
type: string
keyword:
maxLength: 100
minLength: 0
type: string
projectId:
maxLength: 26
minLength: 0
type: string
riskCode:
maxLength: 32
minLength: 0
type: string
sort:
maxLength: 40
minLength: 0
type: string
status:
maxLength: 32
minLength: 0
type: string
submittedDateFrom:
format: date
type: string
submittedDateTo:
format: date
type: string
supplierId:
maxLength: 26
minLength: 0
type: string
tab:
maxLength: 32
minLength: 0
type: string
type: object
PaymentLineView:
properties:
approvedAmount:
type: string
businessNo:
type: string
publicId:
type: string
purpose:
type: string
requestedAmount:
type: string
requestedDate:
format: date
type: string
status:
type: string
updatedAt:
format: date-time
type: string
type: object
PaymentProgressRow:
allOf:
- "$ref": "#/components/schemas/ReportRow"
- properties:
accountingStatus:
type: string
approvedAmount:
type: string
approvedAt:
type: string
businessNo:
type: string
checkedAt:
type: string
offlineResult:
type: string
paidDate:
type: string
projectName:
type: string
receiptFileCount:
format: int64
type: integer
requestedAmount:
type: string
requestedDate:
type: string
resultAmount:
type: string
rowId:
type: string
status:
type: string
submittedAt:
type: string
transactionNo:
type: string
type: object
PaymentProgressSourceView:
allOf:
- "$ref": "#/components/schemas/ReportSourceView"
- properties:
accountingStatus:
type: string
approvedAmount:
type: string
approvedAt:
type: string
businessDate:
type: string
businessNo:
type: string
checkedAt:
type: string
companyName:
type: string
companyPublicId:
type: string
counterpartyPublicId:
type: string
currency:
type: string
metricAmount:
type: string
offlineResult:
type: string
paidDate:
type: string
projectName:
type: string
projectPublicId:
type: string
receiptFileCount:
format: int64
type: integer
requestedAmount:
type: string
requestedDate:
type: string
resultAmount:
type: string
resultId:
type: string
rowId:
type: string
sourceDocumentId:
type: string
status:
type: string
submittedAt:
type: string
transactionNo:
type: string
updatedAt:
type: string
type: object
PaymentResultView:
properties:
amount:
type: string
failureReason:
type: string
publicId:
type: string
receiptFileIds:
items:
type: string
type: array
recordedAt:
format: date-time
type: string
recordedByName:
type: string
recordedFromStatus:
type: string
remark:
type: string
resultAt:
format: date
type: string
resultNo:
type: string
resultType:
type: string
returnOpinion:
type: string
returnedAt:
format: date-time
type: string
returnedByName:
type: string
status:
type: string
verificationOpinion:
type: string
verifiedAt:
format: date-time
type: string
verifiedByName:
type: string
version:
format: int64
type: integer
type: object
PaymentUpdateRequest:
properties:
attachmentExceptions:
items:
"$ref": "#/components/schemas/PaymentAttachmentExceptionInput"
maxItems: 20
minItems: 0
type: array
attachmentFileIds:
items:
maxLength: 26
minLength: 0
type: string
maxItems: 20
minItems: 0
type: array
attachments:
items:
"$ref": "#/components/schemas/PaymentAttachmentInput"
maxItems: 20
minItems: 0
type: array
bankAccountVersionId:
maxLength: 26
minLength: 0
type: string
companyId:
maxLength: 26
minLength: 0
type: string
contractId:
maxLength: 26
minLength: 0
type: string
currency:
minLength: 1
pattern: "[A-Z]{3}"
type: string
payableId:
maxLength: 26
minLength: 0
type: string
projectId:
maxLength: 26
minLength: 0
type: string
purpose:
maxLength: 500
minLength: 0
type: string
requestedAmount:
minimum: 0.01
type: number
requestedDate:
format: date
type: string
sourceDocumentId:
maxLength: 26
minLength: 0
type: string
supplierId:
maxLength: 26
minLength: 0
type: string
version:
format: int64
type: integer
required:
- bankAccountVersionId
- companyId
- contractId
- currency
- projectId
- purpose
- requestedAmount
- requestedDate
- supplierId
- version
type: object
PaymentView:
properties:
allowedActions:
items:
type: string
type: array
approvedAmount:
type: string
approvedByName:
type: string
bankAccount:
"$ref": "#/components/schemas/BankAccountReferenceView"
businessNo:
type: string
company:
"$ref": "#/components/schemas/ReferenceView"
contract:
"$ref": "#/components/schemas/ReferenceView"
createdAt:
format: date-time
type: string
currency:
type: string
frozenAmount:
type: string
originalPaymentId:
type: string
paidAmount:
type: string
payable:
"$ref": "#/components/schemas/ReferenceView"
project:
"$ref": "#/components/schemas/ReferenceView"
publicId:
type: string
purpose:
type: string
repaymentSequence:
format: int32
type: integer
requestedAmount:
type: string
requestedDate:
format: date
type: string
resultRecordedByName:
type: string
resultVerifiedByName:
type: string
sourceDocumentId:
type: string
status:
type: string
submittedByName:
type: string
supplier:
"$ref": "#/components/schemas/ReferenceView"
updatedAt:
format: date-time
type: string
version:
format: int64
type: integer
type: object
ProjectCreateRequest:
properties:
businessNo:
maxLength: 64
minLength: 0
type: string
companyId:
minLength: 1
pattern: "[0-9A-HJKMNP-TV-Z]{26}"
type: string
currency:
minLength: 1
pattern: "[A-Za-z]{3}"
type: string
customerId:
pattern: "[0-9A-HJKMNP-TV-Z]{26}"
type: string
description:
maxLength: 1000
minLength: 0
type: string
endDate:
format: date
type: string
name:
maxLength: 200
minLength: 0
type: string
ownerId:
minLength: 1
pattern: "[0-9A-HJKMNP-TV-Z]{26}"
type: string
startDate:
format: date
type: string
required:
- businessNo
- companyId
- currency
- name
- ownerId
type: object
ProjectDetailView:
properties:
allowedActions:
items:
type: string
type: array
uniqueItems: true
archiveStatus:
type: string
businessNo:
type: string
company:
"$ref": "#/components/schemas/ProjectReferenceView"
createdAt:
format: date-time
type: string
currency:
type: string
customer:
"$ref": "#/components/schemas/ProjectReferenceView"
description:
type: string
endDate:
format: date
type: string
financeStatus:
type: string
name:
type: string
overview:
"$ref": "#/components/schemas/ProjectOverviewView"
owner:
"$ref": "#/components/schemas/ProjectReferenceView"
publicId:
type: string
riskFlags:
items:
"$ref": "#/components/schemas/ProjectRiskFlagView"
type: array
stage:
type: string
startDate:
format: date
type: string
status:
type: string
timeline:
items:
"$ref": "#/components/schemas/ProjectTimelineView"
type: array
updatedAt:
format: date-time
type: string
version:
format: int64
type: integer
type: object
ProjectExportRequest:
properties:
archiveStatus:
maxLength: 32
minLength: 0
type: string
columns:
items:
type: string
maxItems: 20
minItems: 0
type: array
companyId:
maxLength: 26
minLength: 0
type: string
customerId:
maxLength: 26
minLength: 0
type: string
endDateFrom:
format: date
type: string
endDateTo:
format: date
type: string
financeStatus:
maxLength: 32
minLength: 0
type: string
keyword:
maxLength: 100
minLength: 0
type: string
ownerId:
maxLength: 26
minLength: 0
type: string
sort:
maxLength: 40
minLength: 0
type: string
stage:
maxLength: 32
minLength: 0
type: string
startDateFrom:
format: date
type: string
startDateTo:
format: date
type: string
status:
maxLength: 32
minLength: 0
type: string
type: object
ProjectExportView:
properties:
columns:
items:
type: string
type: array
content:
type: string
exportId:
type: string
fileName:
type: string
filterHash:
type: string
rowCount:
format: int32
type: integer
sha256:
type: string
type: object
ProjectImportIssueView:
properties:
fieldCode:
type: string
message:
type: string
rowNo:
format: int32
type: integer
type: object
ProjectImportRequest:
properties:
fileSha256:
minLength: 1
pattern: "[0-9a-fA-F]{64}"
type: string
rows:
items:
"$ref": "#/components/schemas/ProjectImportRowRequest"
maxItems: 10000
minItems: 0
type: array
sourceFileId:
maxLength: 26
minLength: 0
type: string
required:
- fileSha256
- sourceFileId
type: object
ProjectImportRowRequest:
properties:
businessNo:
maxLength: 64
minLength: 0
type: string
companyId:
maxLength: 26
minLength: 0
type: string
currency:
minLength: 1
pattern: "[A-Za-z]{3}"
type: string
customerId:
maxLength: 26
minLength: 0
type: string
description:
maxLength: 1000
minLength: 0
type: string
endDate:
format: date
type: string
name:
maxLength: 200
minLength: 0
type: string
ownerId:
maxLength: 26
minLength: 0
type: string
rowNo:
format: int32
type: integer
startDate:
format: date
type: string
required:
- businessNo
- companyId
- currency
- name
- ownerId
- rowNo
type: object
ProjectImportSummaryView:
properties:
batchNo:
type: string
createdAt:
format: date-time
type: string
errorRows:
format: int32
type: integer
fileSha256:
type: string
issues:
items:
"$ref": "#/components/schemas/ProjectImportIssueView"
type: array
publicId:
type: string
sourceFileId:
type: string
status:
type: string
totalRows:
format: int32
type: integer
updatedAt:
format: date-time
type: string
validRows:
format: int32
type: integer
version:
format: int64
type: integer
type: object
ProjectLedgerRow:
allOf:
- "$ref": "#/components/schemas/ReportRow"
- properties:
archiveStatus:
type: string
businessNo:
type: string
companyName:
type: string
completedVoucherCount:
format: int64
type: integer
completeness:
type: string
contractAmount:
type: string
costAmount:
type: string
fileCount:
format: int64
type: integer
financeStatus:
type: string
paymentAmount:
type: string
pendingAccountingCount:
format: int64
type: integer
projectName:
type: string
receiptAmount:
type: string
rowId:
type: string
status:
type: string
type: object
ProjectLedgerSourceView:
allOf:
- "$ref": "#/components/schemas/ReportSourceView"
- properties:
archiveStatus:
type: string
businessDate:
type: string
businessNo:
type: string
companyName:
type: string
companyPublicId:
type: string
completedVoucherCount:
format: int64
type: integer
completeness:
type: string
contractAmount:
type: string
costAmount:
type: string
counterpartyPublicId:
type: string
currency:
type: string
fileCount:
format: int64
type: integer
financeStatus:
type: string
latestPackageStatus:
type: string
metricAmount:
type: string
paymentAmount:
type: string
pendingAccountingCount:
format: int64
type: integer
projectName:
type: string
projectPublicId:
type: string
receiptAmount:
type: string
rowId:
type: string
stage:
type: string
status:
type: string
updatedAt:
type: string
type: object
ProjectListItemView:
properties:
allowedActions:
items:
type: string
type: array
uniqueItems: true
archiveStatus:
type: string
businessNo:
type: string
company:
"$ref": "#/components/schemas/ProjectReferenceView"
contractAmount:
type: string
currency:
type: string
customer:
"$ref": "#/components/schemas/ProjectReferenceView"
documentCompleteness:
format: int32
type: integer
endDate:
format: date
type: string
financeStatus:
type: string
name:
type: string
owner:
"$ref": "#/components/schemas/ProjectReferenceView"
paidAmount:
type: string
pendingTaskCount:
format: int32
type: integer
publicId:
type: string
receivedAmount:
type: string
stage:
type: string
startDate:
format: date
type: string
status:
type: string
updatedAt:
format: date-time
type: string
version:
format: int64
type: integer
type: object
ProjectOverviewView:
properties:
accountingCount:
format: int32
type: integer
activeRiskCount:
format: int32
type: integer
availableBalance:
type: string
contractAmount:
type: string
contractCount:
format: int32
type: integer
documentCompleteness:
format: int32
type: integer
fileCount:
format: int32
type: integer
invoiceCount:
format: int32
type: integer
paidAmount:
type: string
paymentCount:
format: int32
type: integer
pendingTaskCount:
format: int32
type: integer
peopleCount:
format: int32
type: integer
progressCount:
format: int32
type: integer
receiptCount:
format: int32
type: integer
receivedAmount:
type: string
sourceFormCount:
format: int32
type: integer
voucherCount:
format: int32
type: integer
type: object
ProjectReferenceOptionsView:
properties:
companies:
items:
"$ref": "#/components/schemas/ProjectReferenceView"
type: array
customers:
items:
"$ref": "#/components/schemas/ProjectReferenceView"
type: array
owners:
items:
"$ref": "#/components/schemas/ProjectReferenceView"
type: array
type: object
ProjectReferenceView:
properties:
name:
type: string
publicId:
type: string
type: object
ProjectRiskFlagCreateRequest:
properties:
blocking:
type: boolean
effectiveFrom:
format: date-time
type: string
effectiveUntil:
format: date-time
type: string
reason:
maxLength: 1000
minLength: 0
type: string
riskType:
maxLength: 32
minLength: 0
type: string
required:
- blocking
- reason
- riskType
type: object
ProjectRiskFlagResolveRequest:
properties:
reason:
maxLength: 1000
minLength: 0
type: string
version:
format: int64
type: integer
required:
- reason
- version
type: object
ProjectRiskFlagView:
properties:
allowedActions:
items:
type: string
type: array
uniqueItems: true
blocking:
type: boolean
createdAt:
format: date-time
type: string
createdByName:
type: string
effectiveFrom:
format: date-time
type: string
effectiveUntil:
format: date-time
type: string
publicId:
type: string
reason:
type: string
resolvedAt:
format: date-time
type: string
resolvedByName:
type: string
resolvedReason:
type: string
riskType:
type: string
status:
type: string
version:
format: int64
type: integer
type: object
ProjectTimelineView:
properties:
actionCode:
type: string
activeRole:
type: string
occurredAt:
format: date-time
type: string
publicId:
type: string
reason:
type: string
resultCode:
type: string
username:
type: string
type: object
ProjectUpdateRequest:
properties:
customerId:
pattern: "[0-9A-HJKMNP-TV-Z]{26}"
type: string
description:
maxLength: 1000
minLength: 0
type: string
endDate:
format: date
type: string
name:
maxLength: 200
minLength: 0
type: string
ownerId:
minLength: 1
pattern: "[0-9A-HJKMNP-TV-Z]{26}"
type: string
startDate:
format: date
type: string
version:
format: int64
type: integer
required:
- name
- ownerId
- version
type: object
ReasonCommandRequest:
properties:
opinion:
maxLength: 1000
minLength: 0
type: string
version:
format: int64
type: integer
required:
- opinion
- version
type: object
ReceiptAllocationRequest:
properties:
amount:
minimum: 0.01
type: number
note:
maxLength: 500
minLength: 0
type: string
receivableId:
maxLength: 26
minLength: 0
type: string
version:
format: int64
type: integer
required:
- amount
- receivableId
- version
type: object
ReceiptAllocationView:
properties:
amount:
type: string
contract:
"$ref": "#/components/schemas/ReferenceView"
createdAt:
format: date-time
type: string
createdByName:
type: string
note:
type: string
project:
"$ref": "#/components/schemas/ReferenceView"
publicId:
type: string
receivable:
"$ref": "#/components/schemas/ReferenceView"
receivableAmount:
type: string
receivableOutstandingAmount:
type: string
sequenceNo:
format: int32
type: integer
type: object
ReceiptCreateRequest:
properties:
amount:
minimum: 0.01
type: number
companyId:
maxLength: 26
minLength: 0
type: string
currency:
minLength: 1
pattern: "[A-Z]{3}"
type: string
customerId:
maxLength: 26
minLength: 0
type: string
payerName:
maxLength: 200
minLength: 0
type: string
projectId:
maxLength: 26
minLength: 0
type: string
receiptDate:
format: date
type: string
referenceNo:
maxLength: 100
minLength: 0
type: string
required:
- amount
- companyId
- currency
- payerName
- receiptDate
type: object
ReceiptDetailView:
properties:
allocations:
items:
"$ref": "#/components/schemas/ReceiptAllocationView"
type: array
receipt:
"$ref": "#/components/schemas/ReceiptView"
type: object
ReceiptInvoiceRow:
allOf:
- "$ref": "#/components/schemas/ReportRow"
- properties:
allocatedAmount:
type: string
amount:
type: string
businessDate:
type: string
businessNo:
type: string
cumulativeInvoiceAmount:
type: string
cumulativeReceiptAmount:
type: string
invoiceNo:
type: string
invoiceType:
type: string
outstandingAmount:
type: string
projectName:
type: string
recordType:
type: string
rowId:
type: string
status:
type: string
type: object
ReceiptInvoiceSourceView:
allOf:
- "$ref": "#/components/schemas/ReportSourceView"
- properties:
allocatedAmount:
type: string
amount:
type: string
businessDate:
type: string
businessNo:
type: string
companyName:
type: string
companyPublicId:
type: string
counterpartyPublicId:
type: string
cumulativeInvoiceAmount:
type: string
cumulativeReceiptAmount:
type: string
currency:
type: string
invoiceNo:
type: string
invoiceType:
type: string
metricAmount:
type: string
outstandingAmount:
type: string
projectName:
type: string
projectPublicId:
type: string
recordType:
type: string
rowId:
type: string
sourceDocumentId:
type: string
status:
type: string
updatedAt:
type: string
type: object
ReceiptUpdateRequest:
properties:
amount:
minimum: 0.01
type: number
companyId:
maxLength: 26
minLength: 0
type: string
currency:
minLength: 1
pattern: "[A-Z]{3}"
type: string
customerId:
maxLength: 26
minLength: 0
type: string
payerName:
maxLength: 200
minLength: 0
type: string
projectId:
maxLength: 26
minLength: 0
type: string
receiptDate:
format: date
type: string
referenceNo:
maxLength: 100
minLength: 0
type: string
version:
format: int64
type: integer
required:
- amount
- companyId
- currency
- payerName
- receiptDate
- version
type: object
ReceiptView:
properties:
allocatedAmount:
type: string
allowedActions:
items:
type: string
type: array
amount:
type: string
businessNo:
type: string
company:
"$ref": "#/components/schemas/ReferenceView"
confirmedAt:
format: date-time
type: string
confirmedByName:
type: string
createdAt:
format: date-time
type: string
currency:
type: string
customer:
"$ref": "#/components/schemas/ReferenceView"
payerName:
type: string
project:
"$ref": "#/components/schemas/ReferenceView"
publicId:
type: string
receiptDate:
format: date
type: string
referenceNo:
type: string
status:
type: string
unallocatedAmount:
type: string
updatedAt:
format: date-time
type: string
version:
format: int64
type: integer
voidReason:
type: string
type: object
ReceivableOptionView:
properties:
amount:
type: string
businessNo:
type: string
counterparty:
"$ref": "#/components/schemas/ReferenceView"
currency:
type: string
outstandingAmount:
type: string
project:
"$ref": "#/components/schemas/ReferenceView"
publicId:
type: string
type: object
ReceivableView:
properties:
amount:
type: string
businessDate:
format: date
type: string
businessNo:
type: string
company:
"$ref": "#/components/schemas/ReferenceView"
contract:
"$ref": "#/components/schemas/ReferenceView"
counterparty:
"$ref": "#/components/schemas/ReferenceView"
createdAt:
format: date-time
type: string
currency:
type: string
outstandingAmount:
type: string
project:
"$ref": "#/components/schemas/ReferenceView"
publicId:
type: string
settledAmount:
type: string
sourceInvoiceId:
type: string
status:
type: string
updatedAt:
format: date-time
type: string
version:
format: int64
type: integer
type: object
RecentLoginView:
properties:
deviceSummary:
type: string
maskedIp:
type: string
occurredAt:
format: date-time
type: string
type: object
RedLetterRequest:
properties:
invoiceNo:
maxLength: 100
minLength: 0
type: string
issuedDate:
format: date
type: string
reason:
maxLength: 1000
minLength: 0
type: string
resultFileId:
maxLength: 26
minLength: 0
type: string
version:
format: int64
type: integer
required:
- invoiceNo
- issuedDate
- reason
- version
type: object
ReferenceOptionsView:
properties:
companies:
items:
"$ref": "#/components/schemas/ReferenceView"
type: array
contracts:
items:
"$ref": "#/components/schemas/ReferenceView"
type: array
counterparties:
items:
"$ref": "#/components/schemas/ReferenceView"
type: array
projects:
items:
"$ref": "#/components/schemas/ReferenceView"
type: array
receivables:
items:
"$ref": "#/components/schemas/ReceivableOptionView"
type: array
type: object
ReferenceView:
properties:
name:
type: string
publicId:
type: string
type: object
RefundResultRequest:
properties:
amount:
minimum: 0.01
type: number
reason:
maxLength: 1000
minLength: 0
type: string
receiptFileIds:
items:
maxLength: 26
minLength: 0
type: string
maxItems: 20
minItems: 0
type: array
remark:
maxLength: 1000
minLength: 0
type: string
resultAt:
format: date
type: string
version:
format: int64
type: integer
required:
- amount
- reason
- receiptFileIds
- resultAt
- version
type: object
ReopenResultRequest:
properties:
reason:
maxLength: 1000
minLength: 2
pattern: "(?s).*\\S.*\\S.*"
type: string
version:
format: int64
type: integer
required:
- reason
- version
type: object
RepaymentRequest:
properties:
purpose:
maxLength: 500
minLength: 0
type: string
requestedAmount:
minimum: 0.01
type: number
requestedDate:
format: date
type: string
version:
format: int64
type: integer
required:
- purpose
- requestedAmount
- requestedDate
- version
type: object
ReportApprovalEventView:
properties:
actedAt:
type: string
action:
type: string
actorName:
type: string
nodeCode:
type: string
opinion:
type: string
publicId:
type: string
sourceDocumentId:
type: string
sourceVersionId:
type: string
type: object
ReportAttachmentView:
properties:
displayName:
type: string
documentType:
type: string
fileId:
type: string
ownerId:
type: string
ownerType:
type: string
scanStatus:
type: string
sourceDocumentId:
type: string
versionNo:
format: int32
type: integer
type: object
ReportDrilldownView:
properties:
approvals:
items:
"$ref": "#/components/schemas/ReportApprovalEventView"
type: array
attachments:
items:
"$ref": "#/components/schemas/ReportAttachmentView"
type: array
definitionVersion:
type: string
filterHash:
type: string
groups:
items:
"$ref": "#/components/schemas/ReportMetricGroupView"
type: array
relatedRecords:
items:
"$ref": "#/components/schemas/ReportRelatedRecordView"
type: array
reportCode:
type: string
rowId:
type: string
source:
oneOf:
- "$ref": "#/components/schemas/ArchiveCompletenessSourceView"
- "$ref": "#/components/schemas/ContractExecutionSourceView"
- "$ref": "#/components/schemas/PaymentProgressSourceView"
- "$ref": "#/components/schemas/ProjectLedgerSourceView"
- "$ref": "#/components/schemas/ReceiptInvoiceSourceView"
- "$ref": "#/components/schemas/WorkflowDurationSourceView"
sourceForms:
items:
"$ref": "#/components/schemas/ReportSourceFormView"
type: array
type: object
ReportExportConfirmRequest:
properties:
exportId:
minLength: 1
pattern: "[0-9A-HJKMNP-TV-Z]{26}"
type: string
maskingConfirmed:
type: boolean
required:
- exportId
- maskingConfirmed
type: object
ReportExportPrepareRequest:
properties:
columns:
items:
type: string
type: array
companyId:
maxLength: 26
minLength: 0
type: string
counterpartyId:
maxLength: 26
minLength: 0
type: string
dateFrom:
format: date
type: string
dateTo:
format: date
type: string
expectedDefinitionVersion:
maxLength: 64
minLength: 0
type: string
expectedFilterHash:
minLength: 1
pattern: "[a-fA-F0-9]{64}"
type: string
keyword:
maxLength: 100
minLength: 0
type: string
projectId:
maxLength: 26
minLength: 0
type: string
sort:
maxLength: 64
minLength: 0
type: string
status:
maxLength: 32
minLength: 0
type: string
required:
- expectedDefinitionVersion
- expectedFilterHash
- sort
type: object
ReportExportPreviewView:
properties:
columns:
items:
type: string
type: array
definitionVersion:
type: string
estimatedRows:
format: int32
type: integer
expiresAt:
type: string
exportId:
type: string
filterHash:
type: string
maskingNotice:
type: string
reportCode:
type: string
sort:
type: string
status:
type: string
type: object
ReportExportView:
properties:
content:
type: string
definitionVersion:
type: string
estimatedRows:
format: int32
type: integer
exportId:
type: string
fileName:
type: string
filterHash:
type: string
reportCode:
type: string
rowCount:
format: int32
type: integer
sha256:
type: string
status:
type: string
type: object
ReportMetricGroupView:
properties:
code:
type: string
label:
type: string
value:
type: string
type: object
ReportRelatedRecordView:
properties:
amount:
type: string
businessDate:
type: string
businessNo:
type: string
objectType:
type: string
publicId:
type: string
relationType:
type: string
sourceDocumentId:
type: string
status:
type: string
type: object
ReportRow: {}
ReportSourceFormView:
properties:
businessNo:
type: string
exactVersion:
type: boolean
formType:
type: string
ownerPublicId:
type: string
ownerType:
type: string
publicId:
type: string
relationType:
type: string
sourceNo:
type: string
sourceSystem:
type: string
sourceVersionId:
type: string
status:
type: string
versionNo:
format: int32
type: integer
type: object
ReportSourceView: {}
ResourceCommandRequest:
properties:
reason:
maxLength: 1000
minLength: 0
type: string
version:
format: int64
type: integer
required:
- version
type: object
ResourceCreateRequest:
properties:
amountLimit:
minimum: 0.0
type: number
code:
maxLength: 64
minLength: 0
type: string
companyId:
maxLength: 26
minLength: 0
type: string
departmentName:
maxLength: 128
minLength: 0
type: string
description:
maxLength: 255
minLength: 0
type: string
displayName:
maxLength: 128
minLength: 0
type: string
formType:
maxLength: 32
minLength: 0
type: string
name:
maxLength: 128
minLength: 0
type: string
parameterGroup:
maxLength: 80
minLength: 0
type: string
password:
maxLength: 64
minLength: 0
type: string
permissionCode:
maxLength: 100
minLength: 0
type: string
permissionCodes:
items:
maxLength: 100
minLength: 0
type: string
type: array
projectId:
maxLength: 26
minLength: 0
type: string
roleCode:
maxLength: 40
minLength: 0
type: string
roleCodes:
items:
maxLength: 40
minLength: 0
type: string
type: array
schemaVersion:
format: int32
type: integer
scopeType:
maxLength: 16
minLength: 0
type: string
templateVersion:
format: int32
type: integer
userId:
maxLength: 26
minLength: 0
type: string
username:
maxLength: 64
minLength: 0
type: string
valueJson:
maxLength: 10000
minLength: 0
type: string
versionNo:
format: int32
type: integer
type: object
ResourceListView:
properties:
amountLimit:
type: string
code:
type: string
companyPublicId:
type: string
createdAt:
format: date-time
type: string
departmentName:
type: string
description:
type: string
displayName:
type: string
effectiveAt:
format: date-time
type: string
enabled:
type: boolean
formType:
type: string
memberCount:
format: int64
type: integer
mustChangePassword:
type: boolean
name:
type: string
parameterGroup:
type: string
permissionCode:
type: string
projectPublicId:
type: string
publicId:
type: string
publishedAt:
format: date-time
type: string
resource:
type: string
roleCode:
type: string
roleCodes:
items:
type: string
type: array
schemaVersion:
format: int32
type: integer
scopeType:
type: string
sortOrder:
format: int32
type: integer
status:
type: string
templateVersion:
format: int32
type: integer
updatedAt:
format: date-time
type: string
userPublicId:
type: string
username:
type: string
version:
format: int64
type: integer
versionNo:
format: int32
type: integer
type: object
ResourceUpdateRequest:
properties:
amountLimit:
minimum: 0.0
type: number
companyId:
maxLength: 26
minLength: 0
type: string
departmentName:
maxLength: 128
minLength: 0
type: string
description:
maxLength: 255
minLength: 0
type: string
displayName:
maxLength: 128
minLength: 0
type: string
enabled:
type: boolean
name:
maxLength: 128
minLength: 0
type: string
permissionCodes:
items:
maxLength: 100
minLength: 0
type: string
type: array
projectId:
maxLength: 26
minLength: 0
type: string
roleCodes:
items:
maxLength: 40
minLength: 0
type: string
type: array
scopeType:
maxLength: 16
minLength: 0
type: string
valueJson:
maxLength: 10000
minLength: 0
type: string
version:
format: int64
type: integer
required:
- version
type: object
ResourceView:
properties:
allowedActions:
items:
type: string
type: array
businessCode:
type: string
publicId:
type: string
resource:
type: string
status:
type: string
values:
additionalProperties: {}
type: object
version:
format: int64
type: integer
type: object
ResultEvidenceFileView:
properties:
mediaType:
type: string
originalName:
type: string
publicId:
type: string
scanStatus:
type: string
sha256:
type: string
sizeBytes:
format: int64
type: integer
type: object
ResultRequest:
properties:
evidenceFileIds:
items:
maxLength: 26
minLength: 0
type: string
maxItems: 20
minItems: 0
type: array
externalVoucherNo:
maxLength: 100
minLength: 0
type: string
remark:
maxLength: 1000
minLength: 0
type: string
resultAt:
format: date
type: string
version:
format: int64
type: integer
required:
- evidenceFileIds
- externalVoucherNo
- resultAt
- version
type: object
ReturnRequest:
properties:
opinion:
maxLength: 1000
minLength: 0
type: string
version:
format: int64
type: integer
required:
- opinion
- version
type: object
ReturnResultRequest:
properties:
opinion:
maxLength: 1000
minLength: 0
type: string
version:
format: int64
type: integer
required:
- opinion
- version
type: object
ReverseResultRequest:
properties:
reason:
maxLength: 1000
minLength: 2
pattern: "(?s).*\\S.*\\S.*"
type: string
version:
format: int64
type: integer
required:
- reason
- version
type: object
ReviewRequest:
properties:
decision:
minLength: 1
type: string
opinion:
maxLength: 1000
minLength: 2
type: string
version:
format: int64
type: integer
required:
- decision
- opinion
- version
type: object
RoleView:
properties:
code:
type: string
description:
type: string
name:
type: string
workbenchRoute:
type: string
type: object
SelectRoleRequest:
properties:
roleCode:
minLength: 1
type: string
required:
- roleCode
type: object
SessionSummaryView:
properties:
createdAt:
format: date-time
type: string
current:
type: boolean
deviceSummary:
type: string
expiresAt:
format: date-time
type: string
lastAccessedAt:
format: date-time
type: string
maskedIp:
type: string
sessionId:
type: string
type: object
SessionView:
properties:
absoluteSessionExpiresAt:
format: date-time
type: string
activeRole:
type: string
authenticated:
type: boolean
permissionVersion:
type: string
permissions:
items:
type: string
type: array
uniqueItems: true
roles:
items:
"$ref": "#/components/schemas/RoleView"
type: array
sessionExpiresAt:
format: date-time
type: string
user:
"$ref": "#/components/schemas/UserView"
type: object
SourceFormCreateRequest:
properties:
applicantName:
maxLength: 100
minLength: 0
type: string
businessDate:
format: date
type: string
companyId:
maxLength: 26
minLength: 0
type: string
formType:
minLength: 1
pattern: OA-(0[1-9]|1[0-4])
type: string
projectId:
maxLength: 26
minLength: 0
type: string
sourceNo:
maxLength: 100
minLength: 0
type: string
sourceSystem:
maxLength: 32
minLength: 0
type: string
sourceVersion:
maxLength: 32
minLength: 0
type: string
templateVersion:
format: int32
type: integer
values:
"$ref": "#/components/schemas/JsonNode"
required:
- applicantName
- businessDate
- companyId
- formType
- sourceNo
- sourceSystem
- sourceVersion
- values
type: object
SourceFormDetailView:
properties:
approvals:
items:
"$ref": "#/components/schemas/ApprovalView"
type: array
documentVersion:
format: int32
type: integer
fields:
items:
"$ref": "#/components/schemas/TemplateFieldView"
type: array
snapshotSha256:
type: string
summary:
"$ref": "#/components/schemas/SourceFormSummaryView"
validation:
"$ref": "#/components/schemas/ValidationView"
values:
"$ref": "#/components/schemas/JsonNode"
type: object
SourceFormSummaryView:
properties:
allowedActions:
items:
type: string
type: array
applicantName:
type: string
businessDate:
format: date
type: string
businessNo:
type: string
company:
"$ref": "#/components/schemas/ReferenceView"
createdAt:
format: date-time
type: string
createdByName:
type: string
currentNodeCode:
type: string
currentNodeName:
type: string
formName:
type: string
formType:
type: string
project:
"$ref": "#/components/schemas/ReferenceView"
publicId:
type: string
sourceNo:
type: string
sourceSystem:
type: string
sourceVersion:
type: string
status:
type: string
templateVersion:
format: int32
type: integer
updatedAt:
format: date-time
type: string
version:
format: int64
type: integer
type: object
SourceFormUpdateRequest:
properties:
applicantName:
maxLength: 100
minLength: 0
type: string
businessDate:
format: date
type: string
companyId:
maxLength: 26
minLength: 0
type: string
projectId:
maxLength: 26
minLength: 0
type: string
sourceNo:
maxLength: 100
minLength: 0
type: string
sourceVersion:
maxLength: 32
minLength: 0
type: string
values:
"$ref": "#/components/schemas/JsonNode"
version:
format: int64
type: integer
required:
- applicantName
- businessDate
- companyId
- sourceNo
- sourceVersion
- values
- version
type: object
SourceImportIssueView:
properties:
fieldCode:
type: string
message:
type: string
rowNo:
format: int32
type: integer
type: object
SourceImportRequest:
properties:
fileSha256:
minLength: 1
pattern: "[0-9a-fA-F]{64}"
type: string
formType:
minLength: 1
pattern: OA-(0[1-9]|1[0-4])
type: string
rows:
items:
"$ref": "#/components/schemas/SourceImportRowRequest"
maxItems: 500
minItems: 1
type: array
sourceFileId:
maxLength: 26
minLength: 0
type: string
sourceSystem:
minLength: 1
pattern: EXCEL_IMPORT|OA_EXPORT
type: string
templateVersion:
format: int32
type: integer
required:
- fileSha256
- formType
- rows
- sourceFileId
- sourceSystem
- templateVersion
type: object
SourceImportRowRequest:
properties:
applicantName:
maxLength: 100
minLength: 0
type: string
businessDate:
format: date
type: string
companyId:
maxLength: 26
minLength: 0
type: string
projectId:
maxLength: 26
minLength: 0
type: string
rowNo:
format: int32
type: integer
sourceNo:
maxLength: 100
minLength: 0
type: string
sourceVersion:
maxLength: 32
minLength: 0
type: string
values:
"$ref": "#/components/schemas/JsonNode"
required:
- applicantName
- businessDate
- companyId
- rowNo
- sourceNo
- sourceVersion
- values
type: object
SourceImportSummaryView:
properties:
batchNo:
type: string
createdAt:
format: date-time
type: string
errorRows:
format: int32
type: integer
fileSha256:
type: string
formType:
type: string
issues:
items:
"$ref": "#/components/schemas/SourceImportIssueView"
type: array
publicId:
type: string
sourceFileId:
type: string
sourceSystem:
type: string
status:
type: string
totalRows:
format: int32
type: integer
updatedAt:
format: date-time
type: string
validRows:
format: int32
type: integer
version:
format: int64
type: integer
type: object
SystemUpdateView:
properties:
allowedActions:
items:
type: string
type: array
checkedAt:
format: date-time
type: string
currentVersion:
type: string
enabled:
type: boolean
latestVersion:
type: string
message:
type: string
publishedAt:
format: date-time
type: string
releaseNotes:
type: string
state:
type: string
statusUpdatedAt:
format: date-time
type: string
updateAvailable:
type: boolean
type: object
TemplateFieldView:
properties:
code:
type: string
dataType:
type: string
helpText:
type: string
label:
type: string
maskingRule:
type: string
maxLength:
format: int32
type: integer
numericPrecision:
format: int32
type: integer
numericScale:
format: int32
type: integer
options:
"$ref": "#/components/schemas/JsonNode"
repeatable:
type: boolean
required:
type: boolean
sectionCode:
type: string
sectionName:
type: string
sensitivity:
type: string
sortOrder:
format: int32
type: integer
unit:
type: string
type: object
TemplateView:
properties:
canCreate:
type: boolean
fields:
items:
"$ref": "#/components/schemas/TemplateFieldView"
type: array
formType:
type: string
groupCode:
type: string
groupName:
type: string
initiatorRoles:
items:
type: string
type: array
myDraftCount:
format: int64
type: integer
myPendingCount:
format: int64
type: integer
name:
type: string
publicId:
type: string
publishedAt:
format: date-time
type: string
purpose:
type: string
status:
type: string
templateVersion:
format: int32
type: integer
type: object
UserView:
properties:
authorizationScopes:
items:
"$ref": "#/components/schemas/AuthorizationScopeView"
type: array
departmentName:
type: string
displayName:
type: string
mustChangePassword:
type: boolean
publicId:
type: string
recentLogins:
items:
"$ref": "#/components/schemas/RecentLoginView"
type: array
username:
type: string
type: object
ValidationIssueView:
properties:
fieldCode:
type: string
level:
type: string
message:
type: string
rowNo:
format: int32
type: integer
sectionCode:
type: string
type: object
ValidationView:
properties:
canSubmit:
type: boolean
documentId:
type: string
errors:
items:
"$ref": "#/components/schemas/ValidationIssueView"
type: array
valid:
type: boolean
validatedAt:
format: date-time
type: string
version:
format: int64
type: integer
warnings:
items:
"$ref": "#/components/schemas/ValidationIssueView"
type: array
type: object
VerifyResultRequest:
properties:
opinion:
maxLength: 1000
minLength: 0
type: string
version:
format: int64
type: integer
required:
- opinion
- version
type: object
VersionCommandRequest:
properties:
version:
format: int64
type: integer
required:
- version
type: object
VersionReasonCommandRequest:
properties:
reason:
maxLength: 1000
minLength: 0
type: string
version:
format: int64
type: integer
required:
- reason
- version
type: object
VoidRequest:
properties:
reason:
maxLength: 1000
minLength: 0
type: string
version:
format: int64
type: integer
required:
- reason
- version
type: object
VoucherDetailView:
properties:
entries:
items:
"$ref": "#/components/schemas/VoucherEntryView"
type: array
event:
"$ref": "#/components/schemas/AccountingEventView"
evidenceFiles:
items:
"$ref": "#/components/schemas/ResultEvidenceFileView"
type: array
resultActions:
items:
"$ref": "#/components/schemas/VoucherResultActionView"
type: array
voucher:
"$ref": "#/components/schemas/VoucherView"
type: object
VoucherEntryRequest:
properties:
accountId:
maxLength: 26
minLength: 0
type: string
amount:
minimum: 0.01
type: number
auxiliaryJson:
maxLength: 4000
minLength: 0
type: string
direction:
minLength: 1
pattern: DEBIT|CREDIT
type: string
lineNo:
format: int32
type: integer
summary:
maxLength: 500
minLength: 0
type: string
required:
- accountId
- amount
- direction
- lineNo
- summary
type: object
VoucherEntryView:
properties:
account:
"$ref": "#/components/schemas/ReferenceView"
amount:
type: string
auxiliaryJson:
type: string
direction:
type: string
lineNo:
format: int32
type: integer
publicId:
type: string
summary:
type: string
type: object
VoucherExportView:
properties:
batchNo:
type: string
fileId:
type: string
rowCount:
format: int32
type: integer
sha256:
type: string
voucher:
"$ref": "#/components/schemas/VoucherView"
type: object
VoucherResultActionView:
properties:
actionType:
type: string
evidenceFiles:
items:
"$ref": "#/components/schemas/ResultEvidenceFileView"
type: array
externalVoucherNo:
type: string
operatedAt:
format: date-time
type: string
operatedByName:
type: string
publicId:
type: string
reason:
type: string
resultAt:
format: date
type: string
resultCycleNo:
format: int32
type: integer
resultRecordRemark:
type: string
resultRecordedAt:
format: date-time
type: string
resultRecordedByName:
type: string
resultVerifiedAt:
format: date-time
type: string
resultVerifiedByName:
type: string
resultVerifyOpinion:
type: string
sequenceNo:
format: int32
type: integer
versionAfter:
format: int64
type: integer
versionBefore:
format: int64
type: integer
type: object
VoucherUpdateRequest:
properties:
businessDate:
format: date
type: string
changeReason:
maxLength: 1000
minLength: 0
type: string
entries:
items:
"$ref": "#/components/schemas/VoucherEntryRequest"
maxItems: 100
minItems: 0
type: array
period:
minLength: 1
pattern: "\\d{4}-\\d{2}"
type: string
summary:
maxLength: 500
minLength: 0
type: string
version:
format: int64
type: integer
required:
- businessDate
- changeReason
- entries
- period
- summary
- version
type: object
VoucherView:
properties:
allowedActions:
items:
type: string
type: array
balanceStatus:
type: string
businessDate:
format: date
type: string
businessNo:
type: string
company:
"$ref": "#/components/schemas/ReferenceView"
createdAt:
format: date-time
type: string
creditTotal:
type: string
debitTotal:
type: string
eventBusinessNo:
type: string
eventPublicId:
type: string
evidenceFileIds:
items:
type: string
type: array
exportBatchNo:
type: string
exportFileId:
type: string
exportSha256:
type: string
exportedAt:
format: date-time
type: string
externalVoucherNo:
type: string
period:
type: string
project:
"$ref": "#/components/schemas/ReferenceView"
publicId:
type: string
resultAt:
format: date
type: string
resultCycleNo:
format: int32
type: integer
resultRecordRemark:
type: string
resultRecordedAt:
format: date-time
type: string
resultRecordedByName:
type: string
resultVerifiedAt:
format: date-time
type: string
resultVerifiedByName:
type: string
resultVerifyOpinion:
type: string
reviewedByName:
type: string
ruleVersion:
type: string
status:
type: string
submittedByName:
type: string
summary:
type: string
updatedAt:
format: date-time
type: string
version:
format: int64
type: integer
voidReason:
type: string
type: object
WorkbenchActivityView:
properties:
actionCode:
type: string
objectPublicId:
type: string
objectType:
type: string
occurredAt:
format: date-time
type: string
publicId:
type: string
resultCode:
type: string
targetRoute:
type: string
title:
type: string
type: object
WorkbenchArchiveItemView:
properties:
completeness:
type: string
dueAt:
format: date-time
type: string
kind:
type: string
missingCount:
format: int64
type: integer
publicId:
type: string
status:
type: string
subtitle:
type: string
targetRoute:
type: string
title:
type: string
updatedAt:
format: date-time
type: string
type: object
WorkbenchFundView:
properties:
approvedUnpaid:
type: string
availableAmount:
type: string
confirmedReceipt:
type: string
currency:
type: string
frozenAmount:
type: string
paidAmount:
type: string
projectName:
type: string
projectPublicId:
type: string
targetRoute:
type: string
type: object
WorkbenchIssueView:
properties:
code:
type: string
count:
format: int64
type: integer
detail:
type: string
label:
type: string
severity:
type: string
targetRoute:
type: string
type: object
WorkbenchMetricView:
properties:
code:
type: string
label:
type: string
targetRoute:
type: string
value:
format: int64
type: integer
type: object
WorkbenchProjectView:
properties:
businessNo:
type: string
companyName:
type: string
contractAmount:
type: string
name:
type: string
publicId:
type: string
stage:
type: string
status:
type: string
targetRoute:
type: string
updatedAt:
format: date-time
type: string
type: object
WorkbenchTodoView:
properties:
arrivedAt:
format: date-time
type: string
businessNo:
type: string
dueAt:
format: date-time
type: string
formName:
type: string
formType:
type: string
nodeCode:
type: string
projectName:
type: string
projectPublicId:
type: string
publicId:
type: string
status:
type: string
targetRoute:
type: string
type: object
WorkbenchView:
properties:
activities:
items:
"$ref": "#/components/schemas/WorkbenchActivityView"
type: array
archiveItems:
items:
"$ref": "#/components/schemas/WorkbenchArchiveItemView"
type: array
funds:
items:
"$ref": "#/components/schemas/WorkbenchFundView"
type: array
issues:
items:
"$ref": "#/components/schemas/WorkbenchIssueView"
type: array
metrics:
items:
"$ref": "#/components/schemas/WorkbenchMetricView"
type: array
projects:
items:
"$ref": "#/components/schemas/WorkbenchProjectView"
type: array
refreshedAt:
format: date-time
type: string
roleCode:
type: string
title:
type: string
todos:
items:
"$ref": "#/components/schemas/WorkbenchTodoView"
type: array
type: object
WorkflowActionRequest:
properties:
opinion:
maxLength: 1000
minLength: 0
type: string
returnPoints:
items:
maxLength: 100
minLength: 0
type: string
type: array
version:
format: int64
type: integer
required:
- opinion
- version
type: object
WorkflowDurationRow:
allOf:
- "$ref": "#/components/schemas/ReportRow"
- properties:
arrivedAt:
type: string
businessNo:
type: string
completedAt:
type: string
durationSeconds:
format: int64
type: integer
formType:
type: string
nodeCode:
type: string
pendingTaskCount:
format: int64
type: integer
projectName:
type: string
returnCount:
format: int64
type: integer
rowId:
type: string
status:
type: string
type: object
WorkflowDurationSourceView:
allOf:
- "$ref": "#/components/schemas/ReportSourceView"
- properties:
arrivedAt:
type: string
businessDate:
type: string
businessNo:
type: string
companyName:
type: string
companyPublicId:
type: string
completedAt:
type: string
counterpartyPublicId:
type: string
currency:
type: string
durationSeconds:
format: int64
type: integer
formType:
type: string
metricAmount:
type: string
nodeCode:
type: string
pendingTaskCount:
format: int64
type: integer
projectName:
type: string
projectPublicId:
type: string
returnCount:
format: int64
type: integer
rowId:
type: string
sourceDocumentId:
type: string
sourceVersionId:
type: string
status:
type: string
updatedAt:
type: string
workflowInstanceId:
type: string
type: object
WorkflowTaskDetailView:
properties:
form:
"$ref": "#/components/schemas/SourceFormDetailView"
task:
"$ref": "#/components/schemas/WorkflowTaskSummaryView"
timeline:
items:
"$ref": "#/components/schemas/ApprovalView"
type: array
type: object
WorkflowTaskSummaryView:
properties:
allowedActions:
items:
type: string
type: array
arrivedAt:
format: date-time
type: string
assigneeName:
type: string
dueAt:
format: date-time
type: string
form:
"$ref": "#/components/schemas/SourceFormSummaryView"
instancePublicId:
type: string
keyAmount:
type: string
nodeCode:
type: string
nodeName:
type: string
publicId:
type: string
sequenceNo:
format: int32
type: integer
status:
type: string
updatedAt:
format: date-time
type: string
version:
format: int64
type: integer
type: object
info:
title: Kaidi Finance API
version: 1.0.0-preview.8
openapi: 3.1.0
paths:
"/api/v1/accounting/accounts":
get:
operationId: listAccountingAccounts
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseListAccountView"
description: OK
summary: 查询会计科目
tags:
- accounting-controller
"/api/v1/accounting/events":
get:
operationId: listAccountingEvents
parameters:
- in: query
name: period
required: false
schema:
type: string
- in: query
name: projectId
required: false
schema:
type: string
- in: query
name: eventType
required: false
schema:
type: string
- in: query
name: keyword
required: false
schema:
type: string
- in: query
name: sort
required: false
schema:
default: businessDate,asc
type: string
- in: query
name: page
required: false
schema:
default: 1
format: int32
type: integer
- in: query
name: size
required: false
schema:
default: 20
format: int32
type: integer
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseListAccountingEventView"
description: OK
summary: 查询财务事件
tags:
- accounting-controller
"/api/v1/accounting/events/{publicId}/generate-draft":
post:
operationId: generateVoucherDraft
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/GenerateDraftRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseVoucherDetailView"
description: OK
summary: 生成凭证草稿
tags:
- accounting-controller
"/api/v1/accounting/vouchers":
get:
operationId: listVouchers
parameters:
- in: query
name: tab
required: false
schema:
type: string
- in: query
name: period
required: false
schema:
type: string
- in: query
name: projectId
required: false
schema:
type: string
- in: query
name: eventType
required: false
schema:
type: string
- in: query
name: status
required: false
schema:
type: string
- in: query
name: externalVoucherNo
required: false
schema:
type: string
- in: query
name: keyword
required: false
schema:
type: string
- in: query
name: sort
required: false
schema:
default: updatedAt,desc
type: string
- in: query
name: page
required: false
schema:
default: 1
format: int32
type: integer
- in: query
name: size
required: false
schema:
default: 20
format: int32
type: integer
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseListVoucherView"
description: OK
summary: 查询凭证草稿
tags:
- accounting-controller
"/api/v1/accounting/vouchers/{publicId}":
get:
operationId: getVoucher
parameters:
- in: path
name: publicId
required: true
schema:
type: string
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseVoucherDetailView"
description: OK
summary: 查询凭证详情
tags:
- accounting-controller
patch:
operationId: updateVoucher
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/VoucherUpdateRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseVoucherDetailView"
description: OK
summary: 修改凭证草稿
tags:
- accounting-controller
"/api/v1/accounting/vouchers/{publicId}/approve":
post:
operationId: approveVoucher
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/VersionCommandRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseVoucherDetailView"
description: OK
summary: 复核通过凭证
tags:
- accounting-controller
"/api/v1/accounting/vouchers/{publicId}/export":
post:
operationId: exportVoucher
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/VersionCommandRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseVoucherExportView"
description: OK
summary: 导出凭证
tags:
- accounting-controller
"/api/v1/accounting/vouchers/{publicId}/export-file":
get:
operationId: downloadVoucherExport
parameters:
- in: path
name: publicId
required: true
schema:
type: string
responses:
'200':
content:
"*/*":
schema:
format: binary
type: string
description: OK
summary: 下载凭证导出文件
tags:
- accounting-controller
"/api/v1/accounting/vouchers/{publicId}/record-result":
post:
operationId: recordVoucherResult
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/ResultRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseVoucherDetailView"
description: OK
summary: 登记人工记账结果
tags:
- accounting-controller
"/api/v1/accounting/vouchers/{publicId}/reopen-result":
post:
operationId: reopenVoucherResult
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/ReopenResultRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseVoucherDetailView"
description: OK
summary: 重开已冲销人工记账结果
tags:
- accounting-controller
"/api/v1/accounting/vouchers/{publicId}/return":
post:
operationId: returnVoucher
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/ReturnRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseVoucherDetailView"
description: OK
summary: 退回凭证
tags:
- accounting-controller
"/api/v1/accounting/vouchers/{publicId}/reverse-result":
post:
operationId: reverseVoucherResult
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/ReverseResultRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseVoucherDetailView"
description: OK
summary: 冲销已复核人工记账结果
tags:
- accounting-controller
"/api/v1/accounting/vouchers/{publicId}/submit":
post:
operationId: submitVoucher
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/VersionCommandRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseVoucherDetailView"
description: OK
summary: 提交凭证复核
tags:
- accounting-controller
"/api/v1/accounting/vouchers/{publicId}/verify-result":
post:
operationId: verifyVoucherResult
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/VerifyResultRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseVoucherDetailView"
description: OK
summary: 复核人工记账结果
tags:
- accounting-controller
"/api/v1/accounting/vouchers/{publicId}/void":
post:
operationId: voidVoucher
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/VoidRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseVoucherDetailView"
description: OK
summary: 作废凭证
tags:
- accounting-controller
"/api/v1/accounting/vouchers/{voucherPublicId}/result-files/{filePublicId}/content":
get:
operationId: downloadVoucherResultEvidence
parameters:
- in: path
name: voucherPublicId
required: true
schema:
type: string
- in: path
name: filePublicId
required: true
schema:
type: string
responses:
'200':
content:
"*/*":
schema:
format: binary
type: string
description: OK
summary: 下载凭证结果附件
tags:
- accounting-controller
"/api/v1/admin/system-update":
get:
operationId: getSystemUpdateStatus
responses:
'200':
content:
application/json:
schema:
"$ref": "#/components/schemas/ApiResponseSystemUpdateView"
description: OK
summary: 读取系统版本与更新状态
tags:
- system-update-controller
"/api/v1/admin/system-update/check":
post:
operationId: checkSystemUpdate
responses:
'200':
content:
application/json:
schema:
"$ref": "#/components/schemas/ApiResponseSystemUpdateView"
description: OK
summary: 检查最新签名发布版本
tags:
- system-update-controller
"/api/v1/admin/system-update/download":
post:
operationId: downloadSystemUpdate
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/DownloadUpdateRequest"
required: true
responses:
'200':
content:
application/json:
schema:
"$ref": "#/components/schemas/ApiResponseSystemUpdateView"
description: OK
summary: 下载并校验最新签名发布版本
tags:
- system-update-controller
"/api/v1/admin/system-update/install":
post:
operationId: installSystemUpdate
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/InstallUpdateRequest"
required: true
responses:
'200':
content:
application/json:
schema:
"$ref": "#/components/schemas/ApiResponseSystemUpdateView"
description: OK
summary: 排队安装最新签名发布版本
tags:
- system-update-controller
"/api/v1/admin/{resource}":
get:
operationId: listGovernanceResources
parameters:
- in: path
name: resource
required: true
schema:
enum:
- users
- roles
- scopes
- templates
- parameters
type: string
- in: query
name: keyword
required: false
schema:
type: string
- in: query
name: page
required: false
schema:
default: 1
format: int32
type: integer
- in: query
name: size
required: false
schema:
default: 20
format: int32
type: integer
responses:
'200':
content:
application/json:
schema:
"$ref": "#/components/schemas/ApiResponseListResourceListView"
description: OK
summary: 查询系统治理资源
tags:
- governance-controller
post:
operationId: createGovernanceResource
parameters:
- in: path
name: resource
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/ResourceCreateRequest"
required: true
responses:
'200':
content:
application/json:
schema:
"$ref": "#/components/schemas/ApiResponseResourceView"
description: OK
summary: 创建系统治理资源
tags:
- governance-controller
"/api/v1/admin/{resource}/{publicId}":
get:
operationId: getGovernanceResource
parameters:
- in: path
name: resource
required: true
schema:
type: string
- in: path
name: publicId
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
"$ref": "#/components/schemas/ApiResponseResourceView"
description: OK
summary: 读取系统治理资源详情
tags:
- governance-controller
patch:
operationId: updateGovernanceResource
parameters:
- in: path
name: resource
required: true
schema:
type: string
- in: path
name: publicId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/ResourceUpdateRequest"
required: true
responses:
'200':
content:
application/json:
schema:
"$ref": "#/components/schemas/ApiResponseResourceView"
description: OK
summary: 更新系统治理资源
tags:
- governance-controller
"/api/v1/admin/{resource}/{publicId}/{command}":
post:
operationId: commandGovernanceResource
parameters:
- in: path
name: resource
required: true
schema:
type: string
- in: path
name: publicId
required: true
schema:
type: string
- in: path
name: command
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/ResourceCommandRequest"
required: true
responses:
'200':
content:
application/json:
schema:
"$ref": "#/components/schemas/ApiResponseResourceView"
description: OK
summary: 执行系统治理资源命令
tags:
- governance-controller
"/api/v1/archive/borrows":
get:
operationId: listBorrows
parameters:
- in: query
name: status
required: false
schema:
type: string
- in: query
name: keyword
required: false
schema:
type: string
- in: query
name: page
required: false
schema:
default: 1
format: int32
type: integer
- in: query
name: size
required: false
schema:
default: 20
format: int32
type: integer
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseListBorrowView"
description: OK
summary: 查询档案借阅
tags:
- archive-controller
post:
operationId: createBorrow
parameters:
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/BorrowCreateRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseBorrowView"
description: OK
summary: 申请档案借阅
tags:
- archive-controller
"/api/v1/archive/borrows/{publicId}/approve":
post:
operationId: approveBorrow
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/BorrowCommandRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseBorrowView"
description: OK
summary: 批准档案借阅
tags:
- archive-controller
"/api/v1/archive/borrows/{publicId}/reject":
post:
operationId: rejectBorrow
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/BorrowCommandRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseBorrowView"
description: OK
summary: 驳回档案借阅
tags:
- archive-controller
"/api/v1/archive/borrows/{publicId}/return":
post:
operationId: returnBorrow
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/BorrowCommandRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseBorrowView"
description: OK
summary: 登记档案归还
tags:
- archive-controller
"/api/v1/archive/files":
get:
operationId: listArchiveFiles
parameters:
- in: query
name: companyId
required: false
schema:
type: string
- in: query
name: projectId
required: false
schema:
type: string
- in: query
name: contractId
required: false
schema:
type: string
- in: query
name: counterpartyId
required: false
schema:
type: string
- in: query
name: formType
required: false
schema:
type: string
- in: query
name: fileName
required: false
schema:
type: string
- in: query
name: uploadedBy
required: false
schema:
type: string
- in: query
name: uploadedDateFrom
required: false
schema:
format: date
type: string
- in: query
name: uploadedDateTo
required: false
schema:
format: date
type: string
- in: query
name: originalType
required: false
schema:
type: string
- in: query
name: archiveStatus
required: false
schema:
type: string
- in: query
name: scanStatus
required: false
schema:
type: string
- in: query
name: sort
required: false
schema:
default: uploadedAt,desc
type: string
- in: query
name: page
required: false
schema:
default: 1
format: int32
type: integer
- in: query
name: size
required: false
schema:
default: 20
format: int32
type: integer
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseListArchiveFileView"
description: OK
summary: 查询档案文件
tags:
- archive-controller
post:
operationId: uploadArchiveFile
parameters:
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
multipart/form-data:
schema:
properties:
file:
format: binary
type: string
metadata:
"$ref": "#/components/schemas/FileLinkMetadata"
required:
- file
- metadata
type: object
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseArchiveFileView"
description: OK
summary: 上传档案文件
tags:
- archive-controller
"/api/v1/archive/files/{publicId}":
get:
operationId: getArchiveFile
parameters:
- in: path
name: publicId
required: true
schema:
type: string
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseArchiveFileDetailView"
description: OK
summary: 查询档案文件详情
tags:
- archive-controller
"/api/v1/archive/files/{publicId}/content":
get:
operationId: getArchiveFileContent
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: query
name: preview
required: false
schema:
default: false
type: boolean
responses:
'200':
content:
"*/*":
schema:
format: binary
type: string
description: OK
summary: 读取档案文件内容
tags:
- archive-controller
"/api/v1/archive/files/{publicId}/rescan":
post:
operationId: rescanArchiveFile
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseArchiveFileView"
description: OK
summary: 重新扫描业务范围内的隔离档案
tags:
- archive-controller
"/api/v1/archive/packages":
get:
operationId: listArchivePackages
parameters:
- in: query
name: view
required: false
schema:
type: string
- in: query
name: companyId
required: false
schema:
type: string
- in: query
name: projectId
required: false
schema:
type: string
- in: query
name: status
required: false
schema:
type: string
- in: query
name: completeness
required: false
schema:
type: string
- in: query
name: frozen
required: false
schema:
type: boolean
- in: query
name: keyword
required: false
schema:
type: string
- in: query
name: sort
required: false
schema:
default: updatedAt,desc
type: string
- in: query
name: page
required: false
schema:
default: 1
format: int32
type: integer
- in: query
name: size
required: false
schema:
default: 20
format: int32
type: integer
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseListPackageView"
description: OK
summary: 查询项目档案包
tags:
- archive-controller
post:
operationId: createArchivePackage
parameters:
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/PackageCreateRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponsePackageView"
description: OK
summary: 生成档案包
tags:
- archive-controller
"/api/v1/archive/packages/{packageId}/items/{itemId}/not-applicable":
post:
operationId: markArchiveItemNotApplicable
parameters:
- in: path
name: packageId
required: true
schema:
type: string
- in: path
name: itemId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/NotApplicableRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponsePackageView"
description: OK
summary: 申请档案项不涉及
tags:
- archive-controller
"/api/v1/archive/packages/{packageId}/items/{itemId}/not-applicable/review":
post:
operationId: reviewArchiveItemNotApplicable
parameters:
- in: path
name: packageId
required: true
schema:
type: string
- in: path
name: itemId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/NotApplicableReviewRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponsePackageView"
description: OK
summary: 复核档案项不涉及
tags:
- archive-controller
"/api/v1/archive/packages/{publicId}":
get:
operationId: getArchivePackage
parameters:
- in: path
name: publicId
required: true
schema:
type: string
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponsePackageView"
description: OK
summary: 查询档案包详情
tags:
- archive-controller
"/api/v1/archive/packages/{publicId}/archive":
post:
operationId: archivePackage
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/PackageCommandRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponsePackageView"
description: OK
summary: 确认归档
tags:
- archive-controller
"/api/v1/archive/packages/{publicId}/check":
post:
operationId: checkArchivePackage
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/PackageCommandRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponsePackageView"
description: OK
summary: 检查档案包完整性
tags:
- archive-controller
"/api/v1/archive/packages/{publicId}/freeze":
post:
operationId: freezeArchivePackage
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/FreezeRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponsePackageView"
description: OK
summary: 冻结档案包
tags:
- archive-controller
"/api/v1/archive/packages/{publicId}/return":
post:
operationId: returnArchivePackage
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/PackageCommandRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponsePackageView"
description: OK
summary: 退回档案包
tags:
- archive-controller
"/api/v1/archive/packages/{publicId}/revise":
post:
operationId: reviseArchivePackage
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/PackageRevisionRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponsePackageView"
description: OK
summary: 生成档案包补件版本
tags:
- archive-controller
"/api/v1/archive/packages/{publicId}/submit":
post:
operationId: submitArchivePackage
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/PackageCommandRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponsePackageView"
description: OK
summary: 提交档案包审核
tags:
- archive-controller
"/api/v1/archive/packages/{publicId}/unfreeze":
post:
operationId: unfreezeArchivePackage
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/PackageCommandRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponsePackageView"
description: OK
summary: 解冻档案包
tags:
- archive-controller
"/api/v1/archives/borrows":
get:
operationId: listBorrows
parameters:
- in: query
name: status
required: false
schema:
type: string
- in: query
name: keyword
required: false
schema:
type: string
- in: query
name: page
required: false
schema:
default: 1
format: int32
type: integer
- in: query
name: size
required: false
schema:
default: 20
format: int32
type: integer
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseListBorrowView"
description: OK
summary: 查询档案借阅
tags:
- archive-controller
post:
operationId: createBorrow
parameters:
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/BorrowCreateRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseBorrowView"
description: OK
summary: 申请档案借阅
tags:
- archive-controller
"/api/v1/archives/borrows/{publicId}/approve":
post:
operationId: approveBorrow
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/BorrowCommandRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseBorrowView"
description: OK
summary: 批准档案借阅
tags:
- archive-controller
"/api/v1/archives/borrows/{publicId}/reject":
post:
operationId: rejectBorrow
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/BorrowCommandRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseBorrowView"
description: OK
summary: 驳回档案借阅
tags:
- archive-controller
"/api/v1/archives/borrows/{publicId}/return":
post:
operationId: returnBorrow
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/BorrowCommandRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseBorrowView"
description: OK
summary: 登记档案归还
tags:
- archive-controller
"/api/v1/archives/files":
get:
operationId: listArchiveFiles
parameters:
- in: query
name: companyId
required: false
schema:
type: string
- in: query
name: projectId
required: false
schema:
type: string
- in: query
name: contractId
required: false
schema:
type: string
- in: query
name: counterpartyId
required: false
schema:
type: string
- in: query
name: formType
required: false
schema:
type: string
- in: query
name: fileName
required: false
schema:
type: string
- in: query
name: uploadedBy
required: false
schema:
type: string
- in: query
name: uploadedDateFrom
required: false
schema:
format: date
type: string
- in: query
name: uploadedDateTo
required: false
schema:
format: date
type: string
- in: query
name: originalType
required: false
schema:
type: string
- in: query
name: archiveStatus
required: false
schema:
type: string
- in: query
name: scanStatus
required: false
schema:
type: string
- in: query
name: sort
required: false
schema:
default: uploadedAt,desc
type: string
- in: query
name: page
required: false
schema:
default: 1
format: int32
type: integer
- in: query
name: size
required: false
schema:
default: 20
format: int32
type: integer
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseListArchiveFileView"
description: OK
summary: 查询档案文件
tags:
- archive-controller
post:
operationId: uploadArchiveFile
parameters:
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
multipart/form-data:
schema:
properties:
file:
format: binary
type: string
metadata:
"$ref": "#/components/schemas/FileLinkMetadata"
required:
- file
- metadata
type: object
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseArchiveFileView"
description: OK
summary: 上传档案文件
tags:
- archive-controller
"/api/v1/archives/files/{publicId}":
get:
operationId: getArchiveFile
parameters:
- in: path
name: publicId
required: true
schema:
type: string
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseArchiveFileDetailView"
description: OK
summary: 查询档案文件详情
tags:
- archive-controller
"/api/v1/archives/files/{publicId}/content":
get:
operationId: getArchiveFileContent
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: query
name: preview
required: false
schema:
default: false
type: boolean
responses:
'200':
content:
"*/*":
schema:
format: binary
type: string
description: OK
summary: 读取档案文件内容
tags:
- archive-controller
"/api/v1/archives/files/{publicId}/rescan":
post:
operationId: rescanArchiveFile
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseArchiveFileView"
description: OK
summary: 重新扫描业务范围内的隔离档案
tags:
- archive-controller
"/api/v1/archives/packages":
get:
operationId: listArchivePackages
parameters:
- in: query
name: view
required: false
schema:
type: string
- in: query
name: companyId
required: false
schema:
type: string
- in: query
name: projectId
required: false
schema:
type: string
- in: query
name: status
required: false
schema:
type: string
- in: query
name: completeness
required: false
schema:
type: string
- in: query
name: frozen
required: false
schema:
type: boolean
- in: query
name: keyword
required: false
schema:
type: string
- in: query
name: sort
required: false
schema:
default: updatedAt,desc
type: string
- in: query
name: page
required: false
schema:
default: 1
format: int32
type: integer
- in: query
name: size
required: false
schema:
default: 20
format: int32
type: integer
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseListPackageView"
description: OK
summary: 查询项目档案包
tags:
- archive-controller
post:
operationId: createArchivePackage
parameters:
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/PackageCreateRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponsePackageView"
description: OK
summary: 生成档案包
tags:
- archive-controller
"/api/v1/archives/packages/{packageId}/items/{itemId}/not-applicable":
post:
operationId: markArchiveItemNotApplicable
parameters:
- in: path
name: packageId
required: true
schema:
type: string
- in: path
name: itemId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/NotApplicableRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponsePackageView"
description: OK
summary: 申请档案项不涉及
tags:
- archive-controller
"/api/v1/archives/packages/{packageId}/items/{itemId}/not-applicable/review":
post:
operationId: reviewArchiveItemNotApplicable
parameters:
- in: path
name: packageId
required: true
schema:
type: string
- in: path
name: itemId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/NotApplicableReviewRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponsePackageView"
description: OK
summary: 复核档案项不涉及
tags:
- archive-controller
"/api/v1/archives/packages/{publicId}":
get:
operationId: getArchivePackage
parameters:
- in: path
name: publicId
required: true
schema:
type: string
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponsePackageView"
description: OK
summary: 查询档案包详情
tags:
- archive-controller
"/api/v1/archives/packages/{publicId}/archive":
post:
operationId: archivePackage
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/PackageCommandRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponsePackageView"
description: OK
summary: 确认归档
tags:
- archive-controller
"/api/v1/archives/packages/{publicId}/check":
post:
operationId: checkArchivePackage
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/PackageCommandRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponsePackageView"
description: OK
summary: 检查档案包完整性
tags:
- archive-controller
"/api/v1/archives/packages/{publicId}/freeze":
post:
operationId: freezeArchivePackage
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/FreezeRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponsePackageView"
description: OK
summary: 冻结档案包
tags:
- archive-controller
"/api/v1/archives/packages/{publicId}/return":
post:
operationId: returnArchivePackage
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/PackageCommandRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponsePackageView"
description: OK
summary: 退回档案包
tags:
- archive-controller
"/api/v1/archives/packages/{publicId}/revise":
post:
operationId: reviseArchivePackage
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/PackageRevisionRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponsePackageView"
description: OK
summary: 生成档案包补件版本
tags:
- archive-controller
"/api/v1/archives/packages/{publicId}/submit":
post:
operationId: submitArchivePackage
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/PackageCommandRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponsePackageView"
description: OK
summary: 提交档案包审核
tags:
- archive-controller
"/api/v1/archives/packages/{publicId}/unfreeze":
post:
operationId: unfreezeArchivePackage
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/PackageCommandRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponsePackageView"
description: OK
summary: 解冻档案包
tags:
- archive-controller
"/api/v1/audit/exports":
post:
operationId: exportAuditLogs
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/AuditExportRequest"
responses:
'200':
content:
application/json:
schema:
"$ref": "#/components/schemas/ApiResponseAuditExportView"
description: OK
'400':
content:
application/problem+json:
schema:
"$ref": "#/components/schemas/ApiProblem"
description: 请求体格式无效
'401':
content:
application/problem+json:
schema:
"$ref": "#/components/schemas/ApiProblem"
description: 登录会话缺失或失效
'403':
content:
application/problem+json:
schema:
"$ref": "#/components/schemas/ApiProblem"
description: 缺少审计导出权限
'422':
content:
application/problem+json:
schema:
"$ref": "#/components/schemas/ApiProblem"
description: 导出筛选参数无效
summary: 导出审计日志
tags:
- audit-controller
"/api/v1/audit/logs":
get:
operationId: listAuditLogs
parameters:
- in: query
name: occurredFrom
required: false
schema:
format: date-time
type: string
- in: query
name: occurredTo
required: false
schema:
format: date-time
type: string
- in: query
name: actorId
required: false
schema:
maxLength: 26
minLength: 0
type: string
- in: query
name: identityCode
required: false
schema:
maxLength: 40
minLength: 0
type: string
- in: query
name: objectType
required: false
schema:
maxLength: 80
minLength: 0
type: string
- in: query
name: objectId
required: false
schema:
maxLength: 26
minLength: 0
type: string
- in: query
name: action
required: false
schema:
maxLength: 100
minLength: 0
type: string
- in: query
name: requestId
required: false
schema:
maxLength: 26
minLength: 0
type: string
- in: query
name: result
required: false
schema:
enum:
- SUCCESS
- FAILED
- DENIED
- BLOCKED
maxLength: 40
minLength: 0
type: string
- in: query
name: keyword
required: false
schema:
maxLength: 100
minLength: 0
type: string
- in: query
name: sort
required: false
schema:
enum:
- occurredAt,asc
- occurredAt,desc
- eventSequence,asc
- eventSequence,desc
pattern: "(occurredAt|eventSequence),(asc|desc)"
type: string
- in: query
name: page
required: false
schema:
default: 1
format: int32
type: integer
- in: query
name: size
required: false
schema:
enum:
- 20
- 50
- 100
format: int32
type: integer
responses:
'200':
content:
application/json:
schema:
"$ref": "#/components/schemas/ApiResponseListAuditLogView"
description: OK
'400':
content:
application/problem+json:
schema:
"$ref": "#/components/schemas/ApiProblem"
description: 查询参数不受支持
'401':
content:
application/problem+json:
schema:
"$ref": "#/components/schemas/ApiProblem"
description: 登录会话缺失或失效
'403':
content:
application/problem+json:
schema:
"$ref": "#/components/schemas/ApiProblem"
description: 缺少审计查看权限
'422':
content:
application/problem+json:
schema:
"$ref": "#/components/schemas/ApiProblem"
description: 筛选或分页参数无效
summary: 查询审计日志
tags:
- audit-controller
"/api/v1/audit/logs/{publicId}":
get:
operationId: getAuditLog
parameters:
- in: path
name: publicId
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
"$ref": "#/components/schemas/ApiResponseAuditLogView"
description: OK
'401':
content:
application/problem+json:
schema:
"$ref": "#/components/schemas/ApiProblem"
description: 登录会话缺失或失效
'403':
content:
application/problem+json:
schema:
"$ref": "#/components/schemas/ApiProblem"
description: 缺少权限或数据范围不匹配
'404':
content:
application/problem+json:
schema:
"$ref": "#/components/schemas/ApiProblem"
description: 审计日志不存在
summary: 读取审计日志详情
tags:
- audit-controller
"/api/v1/auth/csrf":
get:
operationId: csrf
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseCsrfView"
description: OK
tags:
- auth-controller
"/api/v1/auth/login":
post:
operationId: login
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/LoginRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseSessionView"
description: OK
tags:
- auth-controller
"/api/v1/auth/logout":
post:
operationId: logout
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseVoid"
description: OK
tags:
- auth-controller
"/api/v1/auth/password":
patch:
operationId: changePassword
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/PasswordChangeRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseSessionView"
description: OK
tags:
- auth-controller
"/api/v1/auth/profile":
get:
operationId: profile
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseUserView"
description: OK
tags:
- auth-controller
"/api/v1/auth/roles":
get:
operationId: roles
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseListRoleView"
description: OK
tags:
- auth-controller
"/api/v1/auth/select-role":
post:
operationId: selectRole
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/SelectRoleRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseSessionView"
description: OK
tags:
- auth-controller
"/api/v1/auth/session":
get:
operationId: session
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseSessionView"
description: OK
tags:
- auth-controller
"/api/v1/auth/sessions":
delete:
operationId: deleteAllSessions
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseVoid"
description: OK
tags:
- auth-controller
get:
operationId: sessions
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseListSessionSummaryView"
description: OK
tags:
- auth-controller
"/api/v1/auth/sessions/{sessionId}":
delete:
operationId: deleteSession
parameters:
- in: path
name: sessionId
required: true
schema:
type: string
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseVoid"
description: OK
tags:
- auth-controller
"/api/v1/contract-costs/changes/{changeId}/void":
post:
operationId: voidChange
parameters:
- in: path
name: changeId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/VersionReasonCommandRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseContractLedgerDetailView"
description: OK
tags:
- contract-cost-controller
"/api/v1/contract-costs/contracts":
get:
operationId: list_1
parameters:
- in: query
name: companyId
required: false
schema:
type: string
- in: query
name: projectId
required: false
schema:
type: string
- in: query
name: counterpartyId
required: false
schema:
type: string
- in: query
name: keyword
required: false
schema:
type: string
- in: query
name: status
required: false
schema:
type: string
- in: query
name: costCategoryId
required: false
schema:
type: string
- in: query
name: businessDateFrom
required: false
schema:
format: date
type: string
- in: query
name: businessDateTo
required: false
schema:
format: date
type: string
- in: query
name: sort
required: false
schema:
default: updatedAt,desc
type: string
- in: query
name: page
required: false
schema:
default: 1
format: int32
type: integer
- in: query
name: size
required: false
schema:
default: 20
format: int32
type: integer
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseContractLedgerPageView"
description: OK
tags:
- contract-cost-controller
"/api/v1/contract-costs/contracts/export":
get:
operationId: export_3
parameters:
- in: query
name: companyId
required: false
schema:
type: string
- in: query
name: projectId
required: false
schema:
type: string
- in: query
name: counterpartyId
required: false
schema:
type: string
- in: query
name: keyword
required: false
schema:
type: string
- in: query
name: status
required: false
schema:
type: string
- in: query
name: costCategoryId
required: false
schema:
type: string
- in: query
name: businessDateFrom
required: false
schema:
format: date
type: string
- in: query
name: businessDateTo
required: false
schema:
format: date
type: string
- in: query
name: sort
required: false
schema:
default: updatedAt,desc
type: string
responses:
'200':
content:
text/csv:
schema:
format: byte
type: string
description: OK
tags:
- contract-cost-controller
"/api/v1/contract-costs/contracts/{contractId}/changes":
post:
operationId: createChange
parameters:
- in: path
name: contractId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/ContractChangeCreateRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseContractLedgerDetailView"
description: OK
tags:
- contract-cost-controller
"/api/v1/contract-costs/contracts/{contractId}/payables":
post:
operationId: createPayable
parameters:
- in: path
name: contractId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/PayableCreateRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseContractLedgerDetailView"
description: OK
tags:
- contract-cost-controller
"/api/v1/contract-costs/contracts/{contractId}/settlements":
post:
operationId: createSettlement
parameters:
- in: path
name: contractId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/ContractSettlementCreateRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseContractLedgerDetailView"
description: OK
tags:
- contract-cost-controller
"/api/v1/contract-costs/contracts/{publicId}":
get:
operationId: detail_1
parameters:
- in: path
name: publicId
required: true
schema:
type: string
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseContractLedgerDetailView"
description: OK
tags:
- contract-cost-controller
"/api/v1/contract-costs/payables/{payableId}/confirm":
post:
operationId: confirmPayable
parameters:
- in: path
name: payableId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/VersionCommandRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseContractLedgerDetailView"
description: OK
tags:
- contract-cost-controller
"/api/v1/contract-costs/payables/{payableId}/void":
post:
operationId: voidPayable
parameters:
- in: path
name: payableId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/VersionReasonCommandRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseContractLedgerDetailView"
description: OK
tags:
- contract-cost-controller
"/api/v1/contract-costs/references":
get:
operationId: references_6
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseFilterOptionsView"
description: OK
tags:
- contract-cost-controller
"/api/v1/contract-costs/settlements/{settlementId}/void":
post:
operationId: voidSettlement
parameters:
- in: path
name: settlementId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/VersionReasonCommandRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseContractLedgerDetailView"
description: OK
tags:
- contract-cost-controller
"/api/v1/contracts":
get:
operationId: listFinanceContracts
parameters:
- in: query
name: keyword
required: false
schema:
type: string
- in: query
name: status
required: false
schema:
enum:
- DRAFT
- REVIEWING
- RETURNED
- ACTIVE
- SETTLED
- DISABLED
- VOID
type: string
- in: query
name: page
required: false
schema:
default: 1
format: int32
type: integer
- in: query
name: size
required: false
schema:
default: 20
format: int32
type: integer
- description: 可重复;格式 field,asc|desc
in: query
name: sort
schema:
items:
pattern: "^(updatedAt|businessNo|name|status|contractAmount|settlementAmount),(asc|desc)$"
type: string
type: array
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseListContractListView"
description: OK
summary: 查询合同运营台账
tags:
- finance-operations-controller
"/api/v1/costs":
get:
operationId: listFinanceCosts
parameters:
- in: query
name: keyword
required: false
schema:
type: string
- in: query
name: status
required: false
schema:
enum:
- PENDING
- CONFIRMED
- PART_PAID
- PAID
- VOID
type: string
- in: query
name: page
required: false
schema:
default: 1
format: int32
type: integer
- in: query
name: size
required: false
schema:
default: 20
format: int32
type: integer
- description: 可重复;格式 field,asc|desc
in: query
name: sort
schema:
items:
pattern: "^(updatedAt|businessNo|businessDate|amount|status|projectName|counterpartyName),(asc|desc)$"
type: string
type: array
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseListPayableListView"
description: OK
summary: 查询成本运营台账
tags:
- finance-operations-controller
"/api/v1/files":
post:
operationId: upload
parameters:
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
multipart/form-data:
schema:
properties:
file:
format: binary
type: string
required:
- file
type: object
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseFileView"
description: OK
tags:
- file-controller
"/api/v1/files/{publicId}":
get:
operationId: metadata
parameters:
- in: path
name: publicId
required: true
schema:
type: string
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseFileView"
description: OK
tags:
- file-controller
"/api/v1/files/{publicId}/content":
get:
operationId: download
parameters:
- in: path
name: publicId
required: true
schema:
type: string
responses:
'200':
content:
"*/*":
schema:
format: binary
type: string
description: OK
tags:
- file-controller
"/api/v1/files/{publicId}/rescan":
post:
operationId: rescanOwnedFile
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseFileView"
description: OK
summary: 重新扫描本人上传的隔离文件
tags:
- file-controller
"/api/v1/funds/ledger":
get:
operationId: listFundLedger
parameters:
- in: query
name: projectId
required: true
schema:
type: string
- in: query
name: currency
required: false
schema:
default: CNY
type: string
- in: query
name: entryType
required: false
schema:
type: string
- in: query
name: dateFrom
required: false
schema:
format: date
type: string
- in: query
name: dateTo
required: false
schema:
format: date
type: string
- in: query
name: page
required: false
schema:
default: 1
format: int32
type: integer
- in: query
name: size
required: false
schema:
default: 20
format: int32
type: integer
- in: query
name: sortBy
required: false
schema:
default: occurredAt
type: string
- in: query
name: sortDirection
required: false
schema:
default: desc
type: string
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseFundLedgerPageView"
description: OK
summary: 查询项目逐笔资金流水
tags:
- fund-ledger-controller
"/api/v1/invoices":
get:
operationId: invoices
parameters:
- in: query
name: companyId
required: false
schema:
type: string
- in: query
name: projectId
required: false
schema:
type: string
- in: query
name: counterpartyId
required: false
schema:
type: string
- in: query
name: keyword
required: false
schema:
type: string
- in: query
name: status
required: false
schema:
type: string
- in: query
name: dateFrom
required: false
schema:
format: date
type: string
- in: query
name: dateTo
required: false
schema:
format: date
type: string
- in: query
name: sort
required: false
schema:
default: updatedAt,desc
type: string
- in: query
name: page
required: false
schema:
default: 1
format: int32
type: integer
- in: query
name: size
required: false
schema:
default: 20
format: int32
type: integer
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseListInvoiceView"
description: OK
tags:
- receivable-controller
post:
operationId: createInvoice
parameters:
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/InvoiceCreateRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseInvoiceView"
description: OK
tags:
- receivable-controller
"/api/v1/invoices/export":
get:
operationId: exportInvoices
parameters:
- in: query
name: companyId
required: false
schema:
type: string
- in: query
name: projectId
required: false
schema:
type: string
- in: query
name: counterpartyId
required: false
schema:
type: string
- in: query
name: keyword
required: false
schema:
type: string
- in: query
name: status
required: false
schema:
type: string
- in: query
name: dateFrom
required: false
schema:
format: date
type: string
- in: query
name: dateTo
required: false
schema:
format: date
type: string
- in: query
name: sort
required: false
schema:
default: updatedAt,desc
type: string
responses:
'200':
content:
text/csv:
schema:
format: byte
type: string
description: OK
tags:
- receivable-controller
"/api/v1/invoices/{publicId}":
get:
operationId: invoice
parameters:
- in: path
name: publicId
required: true
schema:
type: string
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseInvoiceView"
description: OK
tags:
- receivable-controller
patch:
operationId: updateInvoice
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/InvoiceUpdateRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseInvoiceView"
description: OK
tags:
- receivable-controller
"/api/v1/invoices/{publicId}/record-result":
post:
operationId: recordInvoiceResult
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/InvoiceResultRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseInvoiceView"
description: OK
tags:
- receivable-controller
"/api/v1/invoices/{publicId}/red-letter":
post:
operationId: redLetterInvoice
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/RedLetterRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseInvoiceView"
description: OK
tags:
- receivable-controller
"/api/v1/invoices/{publicId}/review":
post:
operationId: reviewInvoice
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/InvoiceReviewRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseInvoiceView"
description: OK
tags:
- receivable-controller
"/api/v1/invoices/{publicId}/submit":
post:
operationId: submitInvoice
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/VersionCommandRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseInvoiceView"
description: OK
tags:
- receivable-controller
"/api/v1/invoices/{publicId}/void":
post:
operationId: voidInvoice
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/ReasonCommandRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseInvoiceView"
description: OK
tags:
- receivable-controller
"/api/v1/masterdata/bank-accounts":
get:
operationId: listBankAccounts
parameters:
- in: query
name: keyword
required: false
schema:
type: string
- in: query
name: status
required: false
schema:
type: string
- in: query
name: page
required: false
schema:
default: 1
format: int32
type: integer
- in: query
name: size
required: false
schema:
default: 20
format: int32
type: integer
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseListBankAccountView"
description: OK
tags:
- master-data-controller
post:
operationId: createBankAccount
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/BankAccountCreateRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseBankAccountView"
description: OK
tags:
- master-data-controller
"/api/v1/masterdata/bank-accounts/{publicId}":
get:
operationId: getBankAccount
parameters:
- in: path
name: publicId
required: true
schema:
type: string
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseBankAccountView"
description: OK
tags:
- master-data-controller
patch:
operationId: updateBankAccount
parameters:
- in: path
name: publicId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/BankAccountUpdateRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseBankAccountView"
description: OK
tags:
- master-data-controller
"/api/v1/masterdata/bank-accounts/{publicId}/disable":
post:
operationId: disableBankAccount
parameters:
- in: path
name: publicId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/VersionCommandRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseBankAccountView"
description: OK
tags:
- master-data-controller
"/api/v1/masterdata/bank-accounts/{publicId}/review":
post:
operationId: reviewBankAccount
parameters:
- in: path
name: publicId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/ReviewRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseBankAccountView"
description: OK
tags:
- master-data-controller
"/api/v1/masterdata/bank-accounts/{publicId}/submit":
post:
operationId: submitBankAccount
parameters:
- in: path
name: publicId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/VersionCommandRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseBankAccountView"
description: OK
tags:
- master-data-controller
"/api/v1/masterdata/companies":
get:
operationId: listCompanies
parameters:
- in: query
name: keyword
required: false
schema:
type: string
- in: query
name: status
required: false
schema:
type: string
- in: query
name: page
required: false
schema:
default: 1
format: int32
type: integer
- in: query
name: size
required: false
schema:
default: 20
format: int32
type: integer
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseListCompanyView"
description: OK
tags:
- master-data-controller
post:
operationId: createCompany
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/CompanyCreateRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseCompanyView"
description: OK
tags:
- master-data-controller
"/api/v1/masterdata/companies/{publicId}":
get:
operationId: getCompany
parameters:
- in: path
name: publicId
required: true
schema:
type: string
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseCompanyView"
description: OK
tags:
- master-data-controller
patch:
operationId: updateCompany
parameters:
- in: path
name: publicId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/CompanyUpdateRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseCompanyView"
description: OK
tags:
- master-data-controller
"/api/v1/masterdata/companies/{publicId}/disable":
post:
operationId: disableCompany
parameters:
- in: path
name: publicId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/VersionCommandRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseCompanyView"
description: OK
tags:
- master-data-controller
"/api/v1/masterdata/companies/{publicId}/review":
post:
operationId: reviewCompany
parameters:
- in: path
name: publicId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/ReviewRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseCompanyView"
description: OK
tags:
- master-data-controller
"/api/v1/masterdata/companies/{publicId}/submit":
post:
operationId: submitCompany
parameters:
- in: path
name: publicId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/VersionCommandRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseCompanyView"
description: OK
tags:
- master-data-controller
"/api/v1/masterdata/contracts":
get:
operationId: listContracts
parameters:
- in: query
name: keyword
required: false
schema:
type: string
- in: query
name: status
required: false
schema:
type: string
- in: query
name: page
required: false
schema:
default: 1
format: int32
type: integer
- in: query
name: size
required: false
schema:
default: 20
format: int32
type: integer
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseListContractView"
description: OK
tags:
- master-data-controller
post:
operationId: createContract
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/ContractCreateRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseContractView"
description: OK
tags:
- master-data-controller
"/api/v1/masterdata/contracts/{publicId}":
get:
operationId: getContract
parameters:
- in: path
name: publicId
required: true
schema:
type: string
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseContractView"
description: OK
tags:
- master-data-controller
patch:
operationId: updateContract
parameters:
- in: path
name: publicId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/ContractUpdateRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseContractView"
description: OK
tags:
- master-data-controller
"/api/v1/masterdata/contracts/{publicId}/disable":
post:
operationId: disableContract
parameters:
- in: path
name: publicId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/VersionCommandRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseContractView"
description: OK
tags:
- master-data-controller
"/api/v1/masterdata/contracts/{publicId}/review":
post:
operationId: reviewContract
parameters:
- in: path
name: publicId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/ReviewRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseContractView"
description: OK
tags:
- master-data-controller
"/api/v1/masterdata/contracts/{publicId}/submit":
post:
operationId: submitContract
parameters:
- in: path
name: publicId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/VersionCommandRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseContractView"
description: OK
tags:
- master-data-controller
"/api/v1/masterdata/counterparties":
get:
operationId: listCounterparties
parameters:
- in: query
name: keyword
required: false
schema:
type: string
- in: query
name: status
required: false
schema:
type: string
- in: query
name: type
required: false
schema:
type: string
- in: query
name: page
required: false
schema:
default: 1
format: int32
type: integer
- in: query
name: size
required: false
schema:
default: 20
format: int32
type: integer
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseListCounterpartyView"
description: OK
tags:
- master-data-controller
post:
operationId: createCounterparty
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/CounterpartyCreateRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseCounterpartyView"
description: OK
tags:
- master-data-controller
"/api/v1/masterdata/counterparties/{publicId}":
get:
operationId: getCounterparty
parameters:
- in: path
name: publicId
required: true
schema:
type: string
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseCounterpartyView"
description: OK
tags:
- master-data-controller
patch:
operationId: updateCounterparty
parameters:
- in: path
name: publicId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/CounterpartyUpdateRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseCounterpartyView"
description: OK
tags:
- master-data-controller
"/api/v1/masterdata/counterparties/{publicId}/disable":
post:
operationId: disableCounterparty
parameters:
- in: path
name: publicId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/VersionCommandRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseCounterpartyView"
description: OK
tags:
- master-data-controller
"/api/v1/masterdata/counterparties/{publicId}/review":
post:
operationId: reviewCounterparty
parameters:
- in: path
name: publicId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/ReviewRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseCounterpartyView"
description: OK
tags:
- master-data-controller
"/api/v1/masterdata/counterparties/{publicId}/submit":
post:
operationId: submitCounterparty
parameters:
- in: path
name: publicId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/VersionCommandRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseCounterpartyView"
description: OK
tags:
- master-data-controller
"/api/v1/masterdata/references":
get:
operationId: references_5
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseMasterDataReferenceOptionsView"
description: OK
tags:
- master-data-controller
"/api/v1/masterdata/{resource}":
get:
operationId: listDictionaries
parameters:
- in: path
name: resource
required: true
schema:
type: string
- in: query
name: keyword
required: false
schema:
type: string
- in: query
name: status
required: false
schema:
type: string
- in: query
name: page
required: false
schema:
default: 1
format: int32
type: integer
- in: query
name: size
required: false
schema:
default: 20
format: int32
type: integer
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseListDictionaryView"
description: OK
tags:
- master-data-controller
post:
operationId: createDictionary
parameters:
- in: path
name: resource
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/DictionaryCreateRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseDictionaryView"
description: OK
tags:
- master-data-controller
"/api/v1/masterdata/{resource}/legacy-identifiers/resolve":
get:
operationId: resolveLegacyIdentifier
parameters:
- in: path
name: resource
required: true
schema:
type: string
- in: query
name: sourceSystem
required: true
schema:
type: string
- in: query
name: legacyCode
required: true
schema:
type: string
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseLegacyIdentifierResolutionView"
description: OK
tags:
- master-data-controller
"/api/v1/masterdata/{resource}/{publicId}":
get:
operationId: getDictionary
parameters:
- in: path
name: resource
required: true
schema:
type: string
- in: path
name: publicId
required: true
schema:
type: string
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseDictionaryView"
description: OK
tags:
- master-data-controller
patch:
operationId: updateDictionary
parameters:
- in: path
name: resource
required: true
schema:
type: string
- in: path
name: publicId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/DictionaryUpdateRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseDictionaryView"
description: OK
tags:
- master-data-controller
"/api/v1/masterdata/{resource}/{publicId}/disable":
post:
operationId: disableDictionary
parameters:
- in: path
name: resource
required: true
schema:
type: string
- in: path
name: publicId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/VersionCommandRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseDictionaryView"
description: OK
tags:
- master-data-controller
"/api/v1/masterdata/{resource}/{publicId}/legacy-identifiers":
get:
operationId: listLegacyIdentifiers
parameters:
- in: path
name: resource
required: true
schema:
type: string
- in: path
name: publicId
required: true
schema:
type: string
- in: query
name: status
required: false
schema:
type: string
- in: query
name: keyword
required: false
schema:
type: string
- in: query
name: page
required: false
schema:
default: 1
format: int32
type: integer
- in: query
name: size
required: false
schema:
default: 20
format: int32
type: integer
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseListLegacyIdentifierView"
description: OK
tags:
- master-data-controller
post:
operationId: createLegacyIdentifier
parameters:
- in: path
name: resource
required: true
schema:
type: string
- in: path
name: publicId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/LegacyIdentifierCreateRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseLegacyIdentifierView"
description: OK
tags:
- master-data-controller
"/api/v1/masterdata/{resource}/{publicId}/legacy-identifiers/{mappingPublicId}/disable":
post:
operationId: disableLegacyIdentifier
parameters:
- in: path
name: resource
required: true
schema:
type: string
- in: path
name: publicId
required: true
schema:
type: string
- in: path
name: mappingPublicId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/VersionCommandRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseLegacyIdentifierView"
description: OK
tags:
- master-data-controller
"/api/v1/masterdata/{resource}/{publicId}/review":
post:
operationId: reviewDictionary
parameters:
- in: path
name: resource
required: true
schema:
type: string
- in: path
name: publicId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/ReviewRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseDictionaryView"
description: OK
tags:
- master-data-controller
"/api/v1/masterdata/{resource}/{publicId}/submit":
post:
operationId: submitDictionary
parameters:
- in: path
name: resource
required: true
schema:
type: string
- in: path
name: publicId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/VersionCommandRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseDictionaryView"
description: OK
tags:
- master-data-controller
"/api/v1/masterdata/{resource}/{publicId}/versions":
get:
operationId: listMasterDataVersions
parameters:
- in: path
name: resource
required: true
schema:
type: string
- in: path
name: publicId
required: true
schema:
type: string
- in: query
name: page
required: false
schema:
default: 1
format: int32
type: integer
- in: query
name: size
required: false
schema:
enum:
- 20
- 50
- 100
format: int32
type: integer
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseListMasterDataVersionView"
description: OK
'400':
content:
application/problem+json:
schema:
"$ref": "#/components/schemas/ApiProblem"
description: 请求参数格式无效
'401':
content:
application/problem+json:
schema:
"$ref": "#/components/schemas/ApiProblem"
description: 登录会话缺失或失效
'403':
content:
application/problem+json:
schema:
"$ref": "#/components/schemas/ApiProblem"
description: 缺少资源查看权限
'404':
content:
application/problem+json:
schema:
"$ref": "#/components/schemas/ApiProblem"
description: 主数据对象或版本不存在
'422':
content:
application/problem+json:
schema:
"$ref": "#/components/schemas/ApiProblem"
description: 分页参数无效
summary: 查询主数据版本记录
tags:
- master-data-controller
"/api/v1/payables":
get:
operationId: listFinancePayables
parameters:
- in: query
name: keyword
required: false
schema:
type: string
- in: query
name: status
required: false
schema:
enum:
- PENDING
- CONFIRMED
- PART_PAID
- PAID
- VOID
type: string
- in: query
name: page
required: false
schema:
default: 1
format: int32
type: integer
- in: query
name: size
required: false
schema:
default: 20
format: int32
type: integer
- description: 可重复;格式 field,asc|desc
in: query
name: sort
schema:
items:
pattern: "^(updatedAt|businessNo|businessDate|amount|status|projectName|counterpartyName),(asc|desc)$"
type: string
type: array
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseListPayableListView"
description: OK
summary: 查询应付运营台账
tags:
- finance-operations-controller
"/api/v1/payments":
get:
operationId: payments
parameters:
- in: query
name: tab
required: false
schema:
type: string
- in: query
name: companyId
required: false
schema:
type: string
- in: query
name: projectId
required: false
schema:
type: string
- in: query
name: supplierId
required: false
schema:
type: string
- in: query
name: status
required: false
schema:
type: string
- in: query
name: keyword
required: false
schema:
type: string
- in: query
name: riskCode
required: false
schema:
type: string
- in: query
name: submittedDateFrom
required: false
schema:
format: date
type: string
- in: query
name: submittedDateTo
required: false
schema:
format: date
type: string
- in: query
name: sort
required: false
schema:
default: updatedAt,desc
type: string
- in: query
name: page
required: false
schema:
default: 1
format: int32
type: integer
- in: query
name: size
required: false
schema:
default: 20
format: int32
type: integer
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseListPaymentView"
description: OK
tags:
- payment-controller
post:
operationId: create_2
parameters:
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/PaymentCreateRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponsePaymentView"
description: OK
tags:
- payment-controller
"/api/v1/payments/export":
get:
operationId: export_2
parameters:
- in: query
name: tab
required: false
schema:
type: string
- in: query
name: companyId
required: false
schema:
type: string
- in: query
name: projectId
required: false
schema:
type: string
- in: query
name: supplierId
required: false
schema:
type: string
- in: query
name: status
required: false
schema:
type: string
- in: query
name: keyword
required: false
schema:
type: string
- in: query
name: riskCode
required: false
schema:
type: string
- in: query
name: submittedDateFrom
required: false
schema:
format: date
type: string
- in: query
name: submittedDateTo
required: false
schema:
format: date
type: string
- in: query
name: sort
required: false
schema:
default: updatedAt,desc
type: string
responses:
'200':
content:
text/csv:
schema:
format: byte
type: string
description: OK
tags:
- payment-controller
"/api/v1/payments/exports":
post:
operationId: export_1
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/PaymentExportRequest"
responses:
'200':
content:
text/csv:
schema:
format: byte
type: string
description: OK
tags:
- payment-controller
"/api/v1/payments/references":
get:
operationId: references_4
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseReferenceOptionsView"
description: OK
tags:
- payment-controller
"/api/v1/payments/{publicId}":
get:
operationId: detail
parameters:
- in: path
name: publicId
required: true
schema:
type: string
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponsePaymentDetailView"
description: OK
tags:
- payment-controller
patch:
operationId: update_2
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/PaymentUpdateRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponsePaymentView"
description: OK
tags:
- payment-controller
"/api/v1/payments/{publicId}/approve":
post:
operationId: approve
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/VersionCommandRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponsePaymentView"
description: OK
tags:
- payment-controller
"/api/v1/payments/{publicId}/attachment-exceptions/{exceptionPublicId}/review":
post:
operationId: reviewAttachmentException
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: path
name: exceptionPublicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/PaymentAttachmentExceptionReviewRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponsePaymentView"
description: OK
tags:
- payment-controller
"/api/v1/payments/{publicId}/checks":
get:
operationId: checks
parameters:
- in: path
name: publicId
required: true
schema:
type: string
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseListPaymentCheckView"
description: OK
tags:
- payment-controller
"/api/v1/payments/{publicId}/confirm-offline-result":
post:
operationId: confirmOfflineResult
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/OfflineResultRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponsePaymentView"
description: OK
tags:
- payment-controller
"/api/v1/payments/{publicId}/control-exceptions":
post:
operationId: requestControlException
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/PaymentControlExceptionRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponsePaymentView"
description: OK
tags:
- payment-controller
"/api/v1/payments/{publicId}/control-exceptions/{exceptionPublicId}/review":
post:
operationId: reviewControlException
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: path
name: exceptionPublicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/PaymentControlExceptionReviewRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponsePaymentView"
description: OK
tags:
- payment-controller
"/api/v1/payments/{publicId}/create-repayment":
post:
operationId: createRepayment
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/RepaymentRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponsePaymentView"
description: OK
tags:
- payment-controller
"/api/v1/payments/{publicId}/record-failure":
post:
operationId: recordFailure
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/FailureResultRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponsePaymentView"
description: OK
tags:
- payment-controller
"/api/v1/payments/{publicId}/record-refund":
post:
operationId: recordRefund
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/RefundResultRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponsePaymentView"
description: OK
tags:
- payment-controller
"/api/v1/payments/{publicId}/return":
post:
operationId: returnPayment
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/ReturnRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponsePaymentView"
description: OK
tags:
- payment-controller
"/api/v1/payments/{publicId}/return-result":
post:
operationId: returnResult
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/ReturnResultRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponsePaymentView"
description: OK
tags:
- payment-controller
"/api/v1/payments/{publicId}/submit":
post:
operationId: submit_1
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/VersionCommandRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponsePaymentView"
description: OK
tags:
- payment-controller
"/api/v1/payments/{publicId}/verify-result":
post:
operationId: verifyResult
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/VerifyResultRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponsePaymentView"
description: OK
tags:
- payment-controller
"/api/v1/payments/{publicId}/void":
post:
operationId: voidPayment
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/ReturnRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponsePaymentView"
description: OK
tags:
- payment-controller
"/api/v1/projects":
get:
operationId: list
parameters:
- in: query
name: companyId
required: false
schema:
type: string
- in: query
name: keyword
required: false
schema:
type: string
- in: query
name: ownerId
required: false
schema:
type: string
- in: query
name: customerId
required: false
schema:
type: string
- in: query
name: stage
required: false
schema:
type: string
- in: query
name: financeStatus
required: false
schema:
type: string
- in: query
name: archiveStatus
required: false
schema:
type: string
- in: query
name: status
required: false
schema:
type: string
- in: query
name: startDateFrom
required: false
schema:
format: date
type: string
- in: query
name: startDateTo
required: false
schema:
format: date
type: string
- in: query
name: endDateFrom
required: false
schema:
format: date
type: string
- in: query
name: endDateTo
required: false
schema:
format: date
type: string
- in: query
name: sort
required: false
schema:
default: updatedAt,desc
type: string
- in: query
name: page
required: false
schema:
default: 1
format: int32
type: integer
- in: query
name: size
required: false
schema:
default: 20
format: int32
type: integer
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseListProjectListItemView"
description: OK
tags:
- project-controller
post:
operationId: create_1
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/ProjectCreateRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseProjectDetailView"
description: OK
tags:
- project-controller
"/api/v1/projects/exports":
post:
operationId: export
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/ProjectExportRequest"
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseProjectExportView"
description: OK
tags:
- project-controller
"/api/v1/projects/imports":
post:
operationId: importProjects
parameters:
- in: header
name: Idempotency-Key
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/ProjectImportRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseProjectImportSummaryView"
description: OK
tags:
- project-controller
"/api/v1/projects/imports/{publicId}":
get:
operationId: getImport
parameters:
- in: path
name: publicId
required: true
schema:
type: string
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseProjectImportSummaryView"
description: OK
tags:
- project-controller
"/api/v1/projects/imports/{publicId}/confirm":
post:
operationId: confirmImport_1
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/VersionCommandRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseListProjectDetailView"
description: OK
tags:
- project-controller
"/api/v1/projects/references":
get:
operationId: references_3
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseProjectReferenceOptionsView"
description: OK
tags:
- project-controller
"/api/v1/projects/{projectPublicId}/accounting":
get:
operationId: getProjectAccounting
parameters:
- in: path
name: projectPublicId
required: true
schema:
type: string
- in: query
name: view
required: false
schema:
default: events
type: string
- in: query
name: period
required: false
schema:
type: string
- in: query
name: eventType
required: false
schema:
type: string
- in: query
name: status
required: false
schema:
type: string
- in: query
name: externalVoucherNo
required: false
schema:
type: string
- in: query
name: keyword
required: false
schema:
type: string
- in: query
name: tab
required: false
schema:
type: string
- in: query
name: sort
required: false
schema:
default: updatedAt,desc
type: string
- in: query
name: page
required: false
schema:
default: 1
format: int32
type: integer
- in: query
name: size
required: false
schema:
default: 20
format: int32
type: integer
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseObject"
description: OK
summary: 查询项目记账准备
tags:
- project-subresource-controller
"/api/v1/projects/{projectPublicId}/archives":
get:
operationId: getProjectArchives
parameters:
- in: path
name: projectPublicId
required: true
schema:
type: string
- in: query
name: view
required: false
schema:
default: packages
type: string
- in: query
name: status
required: false
schema:
type: string
- in: query
name: completeness
required: false
schema:
type: string
- in: query
name: frozen
required: false
schema:
type: boolean
- in: query
name: keyword
required: false
schema:
type: string
- in: query
name: formType
required: false
schema:
type: string
- in: query
name: fileName
required: false
schema:
type: string
- in: query
name: originalType
required: false
schema:
type: string
- in: query
name: sort
required: false
schema:
type: string
- in: query
name: page
required: false
schema:
default: 1
format: int32
type: integer
- in: query
name: size
required: false
schema:
default: 20
format: int32
type: integer
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseObject"
description: OK
summary: 查询项目资料与档案
tags:
- project-subresource-controller
"/api/v1/projects/{projectPublicId}/contracts":
get:
operationId: getProjectContracts
parameters:
- in: path
name: projectPublicId
required: true
schema:
type: string
- in: query
name: counterpartyId
required: false
schema:
type: string
- in: query
name: keyword
required: false
schema:
type: string
- in: query
name: status
required: false
schema:
type: string
- in: query
name: costCategoryId
required: false
schema:
type: string
- in: query
name: businessDateFrom
required: false
schema:
format: date
type: string
- in: query
name: businessDateTo
required: false
schema:
format: date
type: string
- in: query
name: sort
required: false
schema:
default: updatedAt,desc
type: string
- in: query
name: page
required: false
schema:
default: 1
format: int32
type: integer
- in: query
name: size
required: false
schema:
default: 20
format: int32
type: integer
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseContractLedgerPageView"
description: OK
summary: 查询项目合同与成本
tags:
- project-subresource-controller
"/api/v1/projects/{projectPublicId}/forms":
get:
operationId: getProjectForms
parameters:
- in: path
name: projectPublicId
required: true
schema:
type: string
- in: query
name: formType
required: false
schema:
type: string
- in: query
name: status
required: false
schema:
type: string
- in: query
name: sourceSystem
required: false
schema:
type: string
- in: query
name: createdByMe
required: false
schema:
type: boolean
- in: query
name: keyword
required: false
schema:
type: string
- in: query
name: page
required: false
schema:
default: 1
format: int32
type: integer
- in: query
name: size
required: false
schema:
default: 20
format: int32
type: integer
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseListSourceFormSummaryView"
description: OK
summary: 查询项目来源表单
tags:
- project-subresource-controller
"/api/v1/projects/{projectPublicId}/invoices":
get:
operationId: getProjectInvoices
parameters:
- in: path
name: projectPublicId
required: true
schema:
type: string
- in: query
name: counterpartyId
required: false
schema:
type: string
- in: query
name: keyword
required: false
schema:
type: string
- in: query
name: status
required: false
schema:
type: string
- in: query
name: dateFrom
required: false
schema:
format: date
type: string
- in: query
name: dateTo
required: false
schema:
format: date
type: string
- in: query
name: sort
required: false
schema:
default: updatedAt,desc
type: string
- in: query
name: page
required: false
schema:
default: 1
format: int32
type: integer
- in: query
name: size
required: false
schema:
default: 20
format: int32
type: integer
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseListInvoiceView"
description: OK
summary: 查询项目发票
tags:
- project-subresource-controller
"/api/v1/projects/{projectPublicId}/payments":
get:
operationId: getProjectPayments
parameters:
- in: path
name: projectPublicId
required: true
schema:
type: string
- in: query
name: tab
required: false
schema:
type: string
- in: query
name: supplierId
required: false
schema:
type: string
- in: query
name: status
required: false
schema:
type: string
- in: query
name: keyword
required: false
schema:
type: string
- in: query
name: riskCode
required: false
schema:
type: string
- in: query
name: dateFrom
required: false
schema:
format: date
type: string
- in: query
name: dateTo
required: false
schema:
format: date
type: string
- in: query
name: sort
required: false
schema:
default: updatedAt,desc
type: string
- in: query
name: page
required: false
schema:
default: 1
format: int32
type: integer
- in: query
name: size
required: false
schema:
default: 20
format: int32
type: integer
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseListPaymentView"
description: OK
summary: 查询项目付款
tags:
- project-subresource-controller
"/api/v1/projects/{projectPublicId}/people":
get:
operationId: getProjectPeople
parameters:
- in: path
name: projectPublicId
required: true
schema:
type: string
- in: query
name: view
required: false
schema:
type: string
- in: query
name: formType
required: false
schema:
type: string
- in: query
name: status
required: false
schema:
type: string
- in: query
name: keyword
required: false
schema:
type: string
- in: query
name: page
required: false
schema:
default: 1
format: int32
type: integer
- in: query
name: size
required: false
schema:
default: 20
format: int32
type: integer
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseListSourceFormSummaryView"
description: OK
summary: 查询项目人员
tags:
- project-subresource-controller
"/api/v1/projects/{projectPublicId}/progress":
get:
operationId: getProjectProgress
parameters:
- in: path
name: projectPublicId
required: true
schema:
type: string
- in: query
name: view
required: false
schema:
type: string
- in: query
name: formType
required: false
schema:
type: string
- in: query
name: status
required: false
schema:
type: string
- in: query
name: keyword
required: false
schema:
type: string
- in: query
name: page
required: false
schema:
default: 1
format: int32
type: integer
- in: query
name: size
required: false
schema:
default: 20
format: int32
type: integer
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseListSourceFormSummaryView"
description: OK
summary: 查询项目履约与验收进度
tags:
- project-subresource-controller
"/api/v1/projects/{projectPublicId}/receipts":
get:
operationId: getProjectReceipts
parameters:
- in: path
name: projectPublicId
required: true
schema:
type: string
- in: query
name: view
required: false
schema:
default: receipts
type: string
- in: query
name: counterpartyId
required: false
schema:
type: string
- in: query
name: keyword
required: false
schema:
type: string
- in: query
name: status
required: false
schema:
type: string
- in: query
name: dateFrom
required: false
schema:
format: date
type: string
- in: query
name: dateTo
required: false
schema:
format: date
type: string
- in: query
name: sort
required: false
schema:
default: updatedAt,desc
type: string
- in: query
name: page
required: false
schema:
default: 1
format: int32
type: integer
- in: query
name: size
required: false
schema:
default: 20
format: int32
type: integer
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseObject"
description: OK
summary: 查询项目应收、收款与发票
tags:
- project-subresource-controller
"/api/v1/projects/{projectPublicId}/risk-flags":
get:
operationId: getProjectRiskFlags
parameters:
- in: path
name: projectPublicId
required: true
schema:
type: string
- in: query
name: page
required: false
schema:
default: 1
format: int32
type: integer
- in: query
name: size
required: false
schema:
default: 20
format: int32
type: integer
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseListProjectRiskFlagView"
description: OK
summary: 查询项目风险标记
tags:
- project-subresource-controller
"/api/v1/projects/{projectPublicId}/timeline":
get:
operationId: getProjectTimeline
parameters:
- in: path
name: projectPublicId
required: true
schema:
type: string
- in: query
name: page
required: false
schema:
default: 1
format: int32
type: integer
- in: query
name: size
required: false
schema:
default: 20
format: int32
type: integer
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseListProjectTimelineView"
description: OK
summary: 查询项目操作时间线
tags:
- project-subresource-controller
"/api/v1/projects/{publicId}":
get:
operationId: get
parameters:
- in: path
name: publicId
required: true
schema:
type: string
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseProjectDetailView"
description: OK
tags:
- project-controller
patch:
operationId: update_1
parameters:
- in: path
name: publicId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/ProjectUpdateRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseProjectDetailView"
description: OK
tags:
- project-controller
"/api/v1/projects/{publicId}/finance-complete":
post:
operationId: completeProjectFinance
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/VersionCommandRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseProjectDetailView"
description: OK
summary: 确认项目财务资料完整
tags:
- project-controller
"/api/v1/projects/{publicId}/risk-flags":
post:
operationId: createRiskFlag
parameters:
- in: path
name: publicId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/ProjectRiskFlagCreateRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseProjectRiskFlagView"
description: OK
tags:
- project-controller
"/api/v1/projects/{publicId}/risk-flags/{riskPublicId}/resolve":
post:
operationId: resolveRiskFlag
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: path
name: riskPublicId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/ProjectRiskFlagResolveRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseProjectRiskFlagView"
description: OK
tags:
- project-controller
"/api/v1/receipts":
get:
operationId: receipts
parameters:
- in: query
name: companyId
required: false
schema:
type: string
- in: query
name: projectId
required: false
schema:
type: string
- in: query
name: counterpartyId
required: false
schema:
type: string
- in: query
name: keyword
required: false
schema:
type: string
- in: query
name: status
required: false
schema:
type: string
- in: query
name: dateFrom
required: false
schema:
format: date
type: string
- in: query
name: dateTo
required: false
schema:
format: date
type: string
- in: query
name: sort
required: false
schema:
default: updatedAt,desc
type: string
- in: query
name: page
required: false
schema:
default: 1
format: int32
type: integer
- in: query
name: size
required: false
schema:
default: 20
format: int32
type: integer
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseListReceiptView"
description: OK
tags:
- receivable-controller
post:
operationId: createReceipt
parameters:
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/ReceiptCreateRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseReceiptView"
description: OK
tags:
- receivable-controller
"/api/v1/receipts/export":
get:
operationId: exportReceipts
parameters:
- in: query
name: companyId
required: false
schema:
type: string
- in: query
name: projectId
required: false
schema:
type: string
- in: query
name: counterpartyId
required: false
schema:
type: string
- in: query
name: keyword
required: false
schema:
type: string
- in: query
name: status
required: false
schema:
type: string
- in: query
name: dateFrom
required: false
schema:
format: date
type: string
- in: query
name: dateTo
required: false
schema:
format: date
type: string
- in: query
name: sort
required: false
schema:
default: updatedAt,desc
type: string
responses:
'200':
content:
text/csv:
schema:
format: byte
type: string
description: OK
tags:
- receivable-controller
"/api/v1/receipts/{publicId}":
get:
operationId: receipt
parameters:
- in: path
name: publicId
required: true
schema:
type: string
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseReceiptDetailView"
description: OK
tags:
- receivable-controller
patch:
operationId: updateReceipt
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/ReceiptUpdateRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseReceiptView"
description: OK
tags:
- receivable-controller
"/api/v1/receipts/{publicId}/allocations":
post:
operationId: allocateReceipt
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/ReceiptAllocationRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseReceiptDetailView"
description: OK
tags:
- receivable-controller
"/api/v1/receipts/{publicId}/confirm":
post:
operationId: confirmReceipt
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/VersionCommandRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseReceiptView"
description: OK
tags:
- receivable-controller
"/api/v1/receipts/{publicId}/void":
post:
operationId: voidReceipt
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/ReasonCommandRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseReceiptView"
description: OK
tags:
- receivable-controller
"/api/v1/receivables":
get:
operationId: receivables
parameters:
- in: query
name: companyId
required: false
schema:
type: string
- in: query
name: projectId
required: false
schema:
type: string
- in: query
name: counterpartyId
required: false
schema:
type: string
- in: query
name: keyword
required: false
schema:
type: string
- in: query
name: status
required: false
schema:
type: string
- in: query
name: dateFrom
required: false
schema:
format: date
type: string
- in: query
name: dateTo
required: false
schema:
format: date
type: string
- in: query
name: sort
required: false
schema:
default: updatedAt,desc
type: string
- in: query
name: page
required: false
schema:
default: 1
format: int32
type: integer
- in: query
name: size
required: false
schema:
default: 20
format: int32
type: integer
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseListReceivableView"
description: OK
tags:
- receivable-controller
"/api/v1/receivables/references":
get:
operationId: references_2
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseReferenceOptionsView"
description: OK
tags:
- receivable-controller
"/api/v1/reports/{reportCode}":
get:
operationId: report
parameters:
- in: path
name: reportCode
required: true
schema:
type: string
- in: query
name: companyId
required: false
schema:
type: string
- in: query
name: projectId
required: false
schema:
type: string
- in: query
name: counterpartyId
required: false
schema:
type: string
- in: query
name: keyword
required: false
schema:
type: string
- in: query
name: status
required: false
schema:
type: string
- in: query
name: dateFrom
required: false
schema:
format: date
type: string
- in: query
name: dateTo
required: false
schema:
format: date
type: string
- in: query
name: sort
required: false
schema:
type: string
- in: query
name: page
required: false
schema:
default: 1
format: int32
type: integer
- in: query
name: size
required: false
schema:
default: 20
format: int32
type: integer
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseListReportRow"
description: OK
tags:
- report-controller
"/api/v1/reports/{reportCode}/exports/confirm":
post:
operationId: confirmExport
parameters:
- in: path
name: reportCode
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/ReportExportConfirmRequest"
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseReportExportView"
description: OK
tags:
- report-controller
"/api/v1/reports/{reportCode}/exports/prepare":
post:
operationId: prepareExport
parameters:
- in: path
name: reportCode
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/ReportExportPrepareRequest"
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseReportExportPreviewView"
description: OK
tags:
- report-controller
"/api/v1/reports/{reportCode}/{rowId}/drilldown":
get:
operationId: drilldown
parameters:
- in: path
name: reportCode
required: true
schema:
type: string
- in: path
name: rowId
required: true
schema:
type: string
- in: query
name: companyId
required: false
schema:
type: string
- in: query
name: projectId
required: false
schema:
type: string
- in: query
name: counterpartyId
required: false
schema:
type: string
- in: query
name: keyword
required: false
schema:
type: string
- in: query
name: status
required: false
schema:
type: string
- in: query
name: dateFrom
required: false
schema:
format: date
type: string
- in: query
name: dateTo
required: false
schema:
format: date
type: string
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseReportDrilldownView"
description: OK
tags:
- report-controller
"/api/v1/source/forms":
get:
operationId: listSourceForms
parameters:
- in: query
name: groupCode
required: false
schema:
enum:
- PROJECT_PREPARATION
- INCOME_EXPENSE
- PROJECT_PROCESS
- CLOSING_ARCHIVE
- BANK_INFORMATION
type: string
- in: query
name: formType
required: false
schema:
pattern: "^OA-(0[1-9]|1[0-4])$"
type: string
- in: query
name: templateVersion
required: false
schema:
minimum: 1
type: string
- in: query
name: projectId
required: false
schema:
pattern: "^[0-9A-HJKMNP-TV-Z]{26}$"
type: string
- in: query
name: status
required: false
schema:
type: string
- in: query
name: sourceSystem
required: false
schema:
type: string
- in: query
name: createdByMe
required: false
schema:
type: boolean
- in: query
name: keyword
required: false
schema:
type: string
- in: query
name: createdDateFrom
required: false
schema:
format: date
type: string
- in: query
name: createdDateTo
required: false
schema:
format: date
type: string
- in: query
name: sort
required: false
schema:
enum:
- updatedAt,asc
- updatedAt,desc
- createdAt,asc
- createdAt,desc
- businessNo,asc
- businessNo,desc
- status,asc
- status,desc
type: string
- in: query
name: page
required: false
schema:
default: 1
format: int32
type: integer
- in: query
name: size
required: false
schema:
enum:
- 20
- 50
- 100
format: int32
type: integer
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseListSourceFormSummaryView"
description: OK
summary: 查询来源表单
tags:
- source-form-controller
post:
operationId: create
parameters:
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/SourceFormCreateRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseSourceFormDetailView"
description: OK
tags:
- source-form-controller
"/api/v1/source/forms/references":
get:
operationId: references_1
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseFormReferenceOptionsView"
description: OK
tags:
- source-form-controller
"/api/v1/source/forms/{publicId}":
get:
operationId: form
parameters:
- in: path
name: publicId
required: true
schema:
type: string
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseSourceFormDetailView"
description: OK
tags:
- source-form-controller
patch:
operationId: update
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/SourceFormUpdateRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseSourceFormDetailView"
description: OK
tags:
- source-form-controller
"/api/v1/source/forms/{publicId}/submit":
post:
operationId: submit
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/VersionCommandRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseSourceFormDetailView"
description: OK
tags:
- source-form-controller
"/api/v1/source/forms/{publicId}/validate":
post:
operationId: validate
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseValidationView"
description: OK
tags:
- source-form-controller
"/api/v1/source/forms/{publicId}/void":
post:
operationId: voidForm
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/ReasonCommandRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseSourceFormDetailView"
description: OK
tags:
- source-form-controller
"/api/v1/source/forms/{publicId}/withdraw":
post:
operationId: withdraw
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/ReasonCommandRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseSourceFormDetailView"
description: OK
tags:
- source-form-controller
"/api/v1/source/imports":
post:
operationId: createImport
parameters:
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/SourceImportRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseSourceImportSummaryView"
description: OK
tags:
- source-form-controller
"/api/v1/source/imports/{publicId}":
get:
operationId: importBatch
parameters:
- in: path
name: publicId
required: true
schema:
type: string
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseSourceImportSummaryView"
description: OK
tags:
- source-form-controller
"/api/v1/source/imports/{publicId}/confirm":
post:
operationId: confirmImport
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/VersionCommandRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseListSourceFormDetailView"
description: OK
tags:
- source-form-controller
"/api/v1/source/references":
get:
operationId: references
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseFormReferenceOptionsView"
description: OK
tags:
- source-form-controller
"/api/v1/source/templates":
get:
operationId: templates
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseListTemplateView"
description: OK
tags:
- source-form-controller
"/api/v1/source/templates/{formType}/versions/{version}":
get:
operationId: template
parameters:
- in: path
name: formType
required: true
schema:
type: string
- in: path
name: version
required: true
schema:
format: int32
type: integer
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseTemplateView"
description: OK
tags:
- source-form-controller
"/api/v1/workbenches/archive":
get:
operationId: archive
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseWorkbenchView"
description: OK
tags:
- workbench-controller
"/api/v1/workbenches/finance":
get:
operationId: finance
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseWorkbenchView"
description: OK
tags:
- workbench-controller
"/api/v1/workbenches/project":
get:
operationId: project
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseWorkbenchView"
description: OK
tags:
- workbench-controller
"/api/v1/workflow/instances/{instancePublicId}/void":
post:
operationId: voidWorkflowInstance
parameters:
- in: path
name: instancePublicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/ReasonCommandRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseSourceFormDetailView"
description: OK
tags:
- workflow-controller
"/api/v1/workflow/instances/{instancePublicId}/withdraw":
post:
operationId: withdrawWorkflowInstance
parameters:
- in: path
name: instancePublicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/ReasonCommandRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseSourceFormDetailView"
description: OK
tags:
- workflow-controller
"/api/v1/workflow/tasks":
get:
operationId: listWorkflowTasks
parameters:
- in: query
name: view
required: false
schema:
enum:
- TODO
- PROCESSED
- CREATED
- RETURNED
- COMPLETED
type: string
- in: query
name: formType
required: false
schema:
pattern: OA-(0[1-9]|1[0-4])
type: string
- in: query
name: status
required: false
schema:
enum:
- PENDING
- APPROVED
- RETURNED
- REJECTED
- CANCELLED
type: string
- in: query
name: keyword
required: false
schema:
type: string
- in: query
name: projectId
required: false
schema:
pattern: "[0-9A-HJKMNP-TV-Z]{26}"
type: string
- in: query
name: arrivedDateFrom
required: false
schema:
format: date
type: string
- in: query
name: arrivedDateTo
required: false
schema:
format: date
type: string
- in: query
name: overdue
required: false
schema:
type: boolean
- in: query
name: sort
required: false
schema:
enum:
- arrivedAt,asc
- arrivedAt,desc
- dueAt,asc
- dueAt,desc
- updatedAt,asc
- updatedAt,desc
type: string
- in: query
name: page
required: false
schema:
default: 1
format: int32
type: integer
- in: query
name: size
required: false
schema:
enum:
- 20
- 50
- 100
format: int32
type: integer
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseListWorkflowTaskSummaryView"
description: OK
tags:
- workflow-controller
"/api/v1/workflow/tasks/{publicId}":
get:
operationId: getWorkflowTask
parameters:
- in: path
name: publicId
required: true
schema:
type: string
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseWorkflowTaskDetailView"
description: OK
tags:
- workflow-controller
"/api/v1/workflow/tasks/{publicId}/approve":
post:
operationId: approveWorkflowTask
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/WorkflowActionRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseWorkflowTaskDetailView"
description: OK
tags:
- workflow-controller
"/api/v1/workflow/tasks/{publicId}/reject":
post:
operationId: rejectWorkflowTask
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/WorkflowActionRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseWorkflowTaskDetailView"
description: OK
tags:
- workflow-controller
"/api/v1/workflow/tasks/{publicId}/return":
post:
operationId: returnWorkflowTask
parameters:
- in: path
name: publicId
required: true
schema:
type: string
- in: header
name: Idempotency-Key
required: false
schema:
type: string
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/WorkflowActionRequest"
required: true
responses:
'200':
content:
"*/*":
schema:
"$ref": "#/components/schemas/ApiResponseWorkflowTaskDetailView"
description: OK
tags:
- workflow-controller