v1

latestOpenAPI 3.0.3Proprietary2026-07-13182655.4 KB
Contracts

Create a contract

Creates a new contract based on a contract template. The contract is optionally sent for digital signature immediately.

post/staffsign/contracts

Request body

contractTemplateIdstring uuid required

UUID of the contract template to use

contractType'contract_type.employment'

Contract type identifier

signatureLevel'signature_level.aes' | 'signature_level.qes' required

Digital signature level. aes = Advanced Electronic Signature. qes = Qualified Electronic Signature (requires identity verification).

additionalTermsobject nullable

Additional custom terms as key-value pairs (used as template placeholder data)

sendImmediatelyboolean

If true, the contract is sent for signing immediately after creation. If false, it remains as a draft.

autoDeliverSignedDocumentboolean

If true (default), the signed document is automatically delivered by email to all participants once all have signed. Set to false to trigger delivery manually via POST /staffsign/contracts/{id}/deliver.

Example request

{
  "terms": {
    "startDate": "2026-06-01",
    "compensationAmount": "2500"
  },
  "workingTime": {
    "dailySchedule": [
      {
        "startTime": "09:00",
        "endTime": "17:00"
      }
    ]
  }
}

Response

Contract created successfully

idstring uuid
organizationIdstring uuid
jobPostingIdstring uuid nullable
contractTemplateIdstring uuid
contractTemplateNamestring nullable
contractTypestring

Localized contract type label

contractTypeKey'contract_type.employment'

Contract type identifier

statusstring

Localized status label

statusKey'contract_status.draft' | 'contract_status.sent' | 'contract_status.signed' | 'contract_status.expired' | 'contract_status.cancelled'

Contract status identifier

signatureLevelstring

Localized signature level label

signatureLevelKey'signature_level.aes' | 'signature_level.qes'

Digital signature level. aes = Advanced Electronic Signature. qes = Qualified Electronic Signature (requires identity verification).

startDatestring date
endDatestring date nullable
compensationTypestring

Localized compensation type label

compensationTypeKey'compensation_type.hourly' | 'compensation_type.daily' | 'compensation_type.monthly' | 'compensation_type.one_time' | 'compensation_type.none'

Compensation billing frequency

compensationAmountstring

Compensation amount as a numeric string

compensationDescriptionstring nullable
locationstring nullable
employmentTypestring nullable

Localized employment type label

employmentTypeKey'employment_type.contractor' | 'employment_type.full_time' | 'employment_type.part_time' | 'employment_type.temporary' | 'employment_type.part_time_mini' | 'employment_type.student' | 'employment_type.training'

Type of employment

workDescriptionstring nullable
probationPeriodstring nullable
cancellationPeriodstring nullable
scheduleTypestring nullable

Localized schedule type label

scheduleTypeKey'schedule_type.daily' | 'schedule_type.weekly' | 'schedule_type.monthly' | 'schedule_type.flexible'

Working time schedule type

workingTimeDescriptionstring nullable
renderedContentstring

Full HTML content of the rendered contract

externalDocumentIdstring nullable

ID in the external signing provider (Paperless.io)

signedDocumentUrlstring uri nullable

URL to download the signed PDF document

auditTrailPdfUrlstring uri nullable

URL to download the audit trail PDF

sealedPdfUrlstring uri nullable

URL to download the sealed (long-term archived) PDF

expiresAtstring date-time nullable

Expiry timestamp of the signing request (Y-m-d H:i:s)

sentAtstring date-time nullable

Timestamp when the contract was sent for signing (Y-m-d H:i:s)

createdAtstring date-time

Creation timestamp (Y-m-d H:i:s)

autoDeliverSignedDocumentboolean

Whether the signed document is automatically delivered by email upon contract completion.

signedDocumentDeliveredAtstring date-time nullable

Timestamp when the signed document was delivered to participants. Null if not yet delivered.