Create an agreement signing session for an employer. Returns a redirect_url containing a short-lived, one-time token that you open in the employer admin's browser to complete regulated agreement steps on Penfold's platform.
Responses
-
Signing session created successfully.
-
Bad request, the request is malformed or contains invalid data.
-
Resource not found.
-
Conflict — a new signing session cannot be created. This occurs when the employer has already completed agreement signing, or when the employer's status is not
PendingPa(not eligible to start signing). -
Internal server error
POST
/employers/{employer_id}/agreement-signing-sessions
curl \
--request POST 'https://payroll-api.getpenfold.dev/v4/employers/{employer_id}/agreement-signing-sessions' \
--header "Authorization: Bearer $ACCESS_TOKEN" \
--header "Content-Type: application/json"
Request examples
{}
Response examples (201)
{
"signing_session_id": "cl9gujidl001o9ksfnrgr8zq1",
"redirect_url": "https://platform.getpenfold.com/partner/sign-agreement?token=eyJhbGciOiJIUzI1NiJ9...",
"expires_at": "2026-05-06T10:35:00Z"
}
Response examples (400)
{
"error": "Bad request: invalid data provided.",
"validation_errors": [
{
"field": "email",
"message": "Email address is invalid."
}
]
}
Response examples (404)
{
"error": "Bad request: invalid data provided."
}
Response examples (409)
A completed signing session already exists
{
"error": "employer has already signed"
}
{
"error": "employer is not eligible for agreement signing - status is not 'PendingPa'"
}
Response examples (500)
{
"error": "Bad request: invalid data provided."
}