API and Integrations
Overview
Finalizo provides a REST API and native integrations so you can connect your handover workflow to the rest of your tools. Whether you want to auto-create a pack when a project is marked complete in your project management app, or push sign-off events into your CRM, the API and integrations make that possible.
API access is available on the **Agency plan**. Zapier integration is available on **Pro and above**.
Zapier integration
The Finalizo Zapier app lets you build automations without writing any code. Available triggers and actions include:
**Triggers (things Finalizo can watch for):**
- Pack signed by client
- Pack sent to client
- Pack opened by client
- Reminder sent
**Actions (things Finalizo can do):**
- Create a new project
- Create a new pack from a template
- Send an existing pack
- Mark a project as complete
**Example automations:**
- When a project is marked complete in Asana → create a Finalizo pack and send it to the client
- When a client signs a pack → add a row to a Google Sheet and send a Slack notification
- When a pack has been open for 3 days without a signature → send a Slack message to remind yourself to follow up
To connect Finalizo to Zapier, go to **Settings → Integrations → Zapier** and copy your API key. Paste it into the Finalizo app within Zapier when prompted.
REST API
The Finalizo REST API uses standard HTTP methods and returns JSON. All requests must include your API key in the `Authorization` header.
Authentication
``` Authorization: Bearer YOUR_API_KEY ```
Generate and manage API keys in **Settings → API Keys**. Each key can be scoped to read-only or read-write permissions. Rotate keys at any time — old keys are immediately invalidated.
Base URL
``` https://api.finalizo.com/v1 ```
Core endpoints
**Projects** ``` GET /projects List all projects POST /projects Create a project GET /projects/:id Get a single project PATCH /projects/:id Update a project DELETE /projects/:id Archive a project ```
**Packs** ``` GET /projects/:id/packs List packs for a project POST /projects/:id/packs Create a pack GET /packs/:id Get a pack POST /packs/:id/send Send a pack to the client GET /packs/:id/status Get sign-off status ```
**Templates** ``` GET /templates List available templates GET /templates/:id Get a template with its default items ```
Webhooks
Webhooks allow Finalizo to push events to your server in real time rather than you polling the API.
To register a webhook endpoint, go to **Settings → Webhooks → Add endpoint**. Enter your HTTPS URL and select the events you want to receive.
**Available events:**
- `pack.sent` — a pack was delivered to a client
- `pack.opened` — a client opened the pack link
- `pack.signed` — a client completed sign-off
- `pack.reminder_sent` — an automated reminder was sent
- `project.completed` — a project was marked as complete
Each webhook request includes a `X-Finalizo-Signature` header you can use to verify the payload came from Finalizo. Verification details are in the [API reference](https://developers.finalizo.com).
Rate limits
The API allows 120 requests per minute per API key. If you exceed this, requests return a `429 Too Many Requests` response. The `Retry-After` header tells you how many seconds to wait before retrying.
Need help with the API?
If you are building an integration and need support, email [api@finalizo.com](mailto:api@finalizo.com) with a description of what you are trying to build. Agency plan customers receive direct developer support.
Ready to close clean?
Put this into practice with Finalizo — free to start, no credit card.
Start free →