Moneybird logo
Moneybird API

Webhooks are a way to subscribe to events that happen in Moneybird. When an event occurs, Moneybird will send a POST request to the URL you provided. This way, you can keep your own system in sync with Moneybird.

For example, you can subscribe to the contact_created event to receive a notification when a new contact is created in Moneybird.

For a full list of available events and event groups, see the webhook events documentation.


Activate a webhook

PATCH
https://moneybird.com/api/v2
/{administration_id}/webhooks/{id}/activate{format}

Activates a previously deactivated webhook. After activation, the webhook will resume receiving event notifications.

Required scope(s)

settings

Activate a webhook › path Parameters

administration_id
​administration_id · pattern: ^\d+$ · required

The unique identifier of the administration

A unique record identifier

id
​identifier · pattern: ^\d+$ · required

A unique record identifier

format
​string · pattern: ^(.(json|xml))?$ · required

The format in which the response is given, can be empty to use the default format

Default: .json

Activate a webhook › Responses

Webhook activated

id
​identifier · pattern: ^\d+$

A unique record identifier

administration_id
​administration_id · pattern: ^\d+$

A unique record identifier

url
​string
enabled_events
​string[]

List of events this webhook is subscribed to. See webhook events for all available events and event groups.

last_http_status
​integer | string | null

HTTP status code of the request last received back from the webhook

last_http_body
​string | null

Body of the request last received back from the webhook

token
​string
secret
​string

The webhook's secret, used to generate webhook signatures. Only returned at creation.

​

Timestamp when the webhook was deactivated. Null if the webhook is active.


Deactivate a webhook

PATCH
https://moneybird.com/api/v2
/{administration_id}/webhooks/{id}/deactivate{format}

Deactivates a webhook. A deactivated webhook will not receive new event notifications, but existing retries will still be processed. The webhook can be reactivated at any time.

Required scope(s)

settings

Deactivate a webhook › path Parameters

administration_id
​administration_id · pattern: ^\d+$ · required

The unique identifier of the administration

A unique record identifier

id
​identifier · pattern: ^\d+$ · required

A unique record identifier

format
​string · pattern: ^(.(json|xml))?$ · required

The format in which the response is given, can be empty to use the default format

Default: .json

Deactivate a webhook › Responses

Webhook deactivated

id
​identifier · pattern: ^\d+$

A unique record identifier

administration_id
​administration_id · pattern: ^\d+$

A unique record identifier

url
​string
enabled_events
​string[]

List of events this webhook is subscribed to. See webhook events for all available events and event groups.

last_http_status
​integer | string | null

HTTP status code of the request last received back from the webhook

last_http_body
​string | null

Body of the request last received back from the webhook

token
​string
secret
​string

The webhook's secret, used to generate webhook signatures. Only returned at creation.

​

Timestamp when the webhook was deactivated. Null if the webhook is active.


Delete a webhook

DELETE
https://moneybird.com/api/v2
/{administration_id}/webhooks/{id}{format}

Remove a registered webhook.

Required scope(s)

settings

Delete a webhook › path Parameters

administration_id
​administration_id · pattern: ^\d+$ · required

The unique identifier of the administration

A unique record identifier

id
​identifier · pattern: ^\d+$ · required

A unique record identifier

format
​string · pattern: ^(.(json|xml))?$ · required

The format in which the response is given, can be empty to use the default format

Default: .json

Delete a webhook › Responses

Webhook deleted

No data returned

List all webhooks

GET
https://moneybird.com/api/v2
/{administration_id}/webhooks{format}

List all registered webhooks for the administration.

Required scope(s)

settings

List all webhooks › path Parameters

administration_id
​administration_id · pattern: ^\d+$ · required

The unique identifier of the administration

A unique record identifier

format
​string · pattern: ^(.(json|xml))?$ · required

The format in which the response is given, can be empty to use the default format

Default: .json

List all webhooks › Responses

200

A list of webhooks

id
​identifier · pattern: ^\d+$

A unique record identifier

administration_id
​administration_id · pattern: ^\d+$

A unique record identifier

url
​string
enabled_events
​string[]

List of events this webhook is subscribed to. See webhook events for all available events and event groups.

last_http_status
​integer | string | null

HTTP status code of the request last received back from the webhook

last_http_body
​string | null

Body of the request last received back from the webhook

token
​string
secret
​string

The webhook's secret, used to generate webhook signatures. Only returned at creation.

​

Timestamp when the webhook was deactivated. Null if the webhook is active.


Create a webhook

POST
https://moneybird.com/api/v2
/{administration_id}/webhooks{format}

Creates a new webhook. The provided URL should respond with a 200 HTTP status. After creation, the URL will receive notifications when events on documents in the administration occur. It is also possible to subscribe to certain events by adding an array with events you would like to receive notifications from. For a full list of available events and event groups, see the webhook events documentation.

We strongly recommend that you use a secure HTTPS endpoint for receiving payload from Moneybird.
If you use unencrypted HTTP, anyone on the network may be able to listen in on sensitive information like contacts and invoices.

Required scope(s)

settings

Create a webhook › path Parameters

administration_id
​administration_id · pattern: ^\d+$ · required

The unique identifier of the administration

A unique record identifier

format
​string · pattern: ^(.(json|xml))?$ · required

The format in which the response is given, can be empty to use the default format

Default: .json

Create a webhook › Request Body

url
​string · required

The HTTPS endpoint URL that will receive webhook notifications. Must respond with HTTP 200 on creation.

enabled_events
​(string)[]

List of events to subscribe to. See webhook events for all available events and event groups.

Create a webhook › Responses

Webhook created

id
​identifier · pattern: ^\d+$

A unique record identifier

administration_id
​administration_id · pattern: ^\d+$

A unique record identifier

url
​string
enabled_events
​string[]

List of events this webhook is subscribed to. See webhook events for all available events and event groups.

last_http_status
​integer | string | null

HTTP status code of the request last received back from the webhook

last_http_body
​string | null

Body of the request last received back from the webhook

token
​string
secret
​string

The webhook's secret, used to generate webhook signatures. Only returned at creation.

​

Timestamp when the webhook was deactivated. Null if the webhook is active.