Skip to content

e-Signature

Once a financed quote has been accepted, this guide shows how to collect the electronic signatures that complete the rental contract. You start the process with a single API call; the people you nominate then sign remotely by email, and you observe completion through the financing-case status. Every request is authenticated with your X-Api-Key header.

How signing works

The e-signature flow spans three stages. Only the first and the last are API calls you make — the actual signing happens outside your integration:

  1. You start the process — submit the authorized persons for a financing case whose quote is in finance_accepted. This nominates who may sign and hands the contract off to the signing provider.
  2. The signers sign by email — each authorized person receives an email invitation from DocuSign and signs remotely in the browser. There is nothing to integrate here: no signer-redirect URL is returned to you, and you host no signing page.
  3. You observe completion — read the financing-case (or quote) status, or subscribe to the financing_case.status_changed webhook, to learn when signing is done.

Build it step by step

POST /api/financing-cases/{financingCaseId}/start-esignature

Start the signing process for a financing case whose quote has reached finance_accepted. In the body you pass the authorizedPersons who are allowed to sign — at least one is required. Each person needs a name and the email address the signing invitation is sent to; set soloSigneePermitted to true if that person may sign on their own. The call replaces any previously nominated persons, advances the quote's status, and returns the financing number so you can reconcile it against your own records.

curl -X POST 'https://sandbox.partner.miete24.com/api/financing-cases/2b1c9d7e-4f6a-4c2e-9b1a-8d3f5e7c1a2b/start-esignature' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "authorizedPersons": [
      {
        "firstName": "Erika",
        "lastName": "Mustermann",
        "email": "erika@muster-gmbh.example",
        "soloSigneePermitted": true
      }
    ]
  }'
Response 200
{
  "financingNumber": "F-2026-00042",
  "quoteStatus": "completed"
}

Errors: 422 when the financing case has no quote in finance_accepted, when the request lists no authorized person, when two signers share an email address, or when the underlying financing is not ready to be sent for signing; 404 for an unknown financing-case id; 403 when the financing case belongs to another partner; 401 for a missing or invalid API key.

Full request body, parameters & code samples → E-Signature reference

No API call Signers sign by email

After step 1, PartnerHub sends each authorized person an email invitation from DocuSign. They open the link and sign the contract remotely in their browser — no account, redirect, or embedded signing page on your side is involved. When more than one person is authorized and none may sign alone, every signature is required before the contract counts as signed. This stage is entirely out of band: your integration does nothing here and simply waits for the outcome, which you observe in step 3.

GET /api/financing-cases/{id}

Learn when signing is done by reading the financing case's status. Poll this endpoint, or — preferably — subscribe to the financing_case.status_changed webhook so PartnerHub notifies you on every status change instead of you polling. The signed contract's documents are then available through the financing-case's document endpoints.

curl -X GET 'https://sandbox.partner.miete24.com/api/financing-cases/2b1c9d7e-4f6a-4c2e-9b1a-8d3f5e7c1a2b' \
  -H 'X-Api-Key: YOUR_API_KEY'
Response 200 (truncated)
{
  "@id": "/api/financing-cases/2b1c9d7e-4f6a-4c2e-9b1a-8d3f5e7c1a2b",
  "id": "2b1c9d7e-4f6a-4c2e-9b1a-8d3f5e7c1a2b",
  "status": "signed"
}

Errors: 404 for an unknown financing-case id; 401 for a missing or invalid API key.

Full parameters, all operations & code samples → Financing Case reference

What's next

  • See how a quote reaches finance_accepted in the Create a Quote guide.
  • Browse every endpoint and schema in the API Reference.
  • See the complete state machine on the Lifecycle page.
  • Get notified of status changes instead of polling — see the Webhook Endpoint reference.