# Create an agreement signing session. **POST /employers/{employer_id}/agreement-signing-sessions** 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. ## Servers - https://payroll-api.getpenfold.dev/v4: https://payroll-api.getpenfold.dev/v4 () ## Authentication methods - O auth2 client credentials ## Parameters ### Path parameters - **employer_id** (string) ### Body: application/json (object) object ## Responses ### 201 Signing session created successfully. #### Body: application/json (object) - **signing_session_id** (string) Correlates this attempt across redirect, webhook, and support. - **redirect_url** (string) Full URL to send the user to. Contains a Penfold-issued short-lived, one-time token. Do not construct or modify this URL. - **expires_at** (string(date-time)) ISO 8601 instant after which the session and redirect_url are invalid. Sessions expire 15 minutes after creation unless otherwise stated. ### 400 Bad request, the request is malformed or contains invalid data. #### Body: application/json (object) - **error** (string) A descriptive error message. - **validation_errors** (array[object]) ### 404 Resource not found. #### Body: application/json (object) - **error** (string) A descriptive error message. ### 409 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). #### Body: application/json (object) - **error** (string) A descriptive error message. ### 500 Internal server error #### Body: application/json (object) - **error** (string) A descriptive error message. [Powered by Bump.sh](https://bump.sh)