API v2
Offorte API Reference Docs - Version 2
Proposals list
Returns a paginated list of proposals by status (edit|open|won|lost|closed).
Searching can be done by using the optional query parameter, the provided status will then be ignored.
You can sort the list using the optional sort query parameter, by default the list is sorted by name. Sort options: name, date_created, date_modified, date_openclient
Responses
Response samples
- 201
[- {
- "account_user_id": 1,
- "contact_id": 1234,
- "contact_name": "Example Inc",
- "contact_person_fullname": "Chuck Norris",
- "contact_type": "organisation",
- "date_created": "2024-03-22T08:26:46.000000Z",
- "date_modified": "2024-04-21T09:12:23.000000Z",
- "id": 1234,
- "name": "Example proposal",
- "price_total": "€ 1000,00",
- "price_total_original": 1000,
- "price_total_override": null,
- "proposal_nr": "nr 007",
- "status": "open",
- "version_id": 1234
}
]
Response samples
- 201
{- "account_user_id": 1234,
- "account_user_name": "Elon Musk",
- "comments": [
- {
- "comment": "Are there no surprises in the costs?",
- "contact_name": "Example Inc",
- "contact_people_id": 1234,
- "date": "2024-03-22T08:26:46.000000Z",
- "firstname": "Chuck",
- "id": 1234,
- "lastname": "Norris",
- "type": "client"
}
], - "contact": {
- "account_user_id": 1234,
- "city": "Montague",
- "coc_number": "kvk12345",
- "contact_id": 1234,
- "country": "the Netherlands",
- "date_created": "2024-03-22T08:26:46.000000Z",
- "facebook": "facebook.com/example",
- "fax": "0761234567",
- "id": 1234,
- "instagram": "instagram.com/example",
- "internet": "www.example.com",
- "linkedin": "linkedin.com/example",
- "mobile": "(824) 274-3830",
- "name": "Example Inc",
- "owner": "Chuck Norris",
- "phone": "(788) 752-1845",
- "salutation": "Mr",
- "state": "Noord-Brabant",
- "street": "Ginnekenweg 1",
- "tags": [
- {
- "id": 1,
- "name": "prospect"
}
], - "twitter": "www.x.com",
- "type": "organisation",
- "vat_number": "NL123457",
- "zipcode": "4800AB"
}, - "content": {
- "pricetables": [
- {
- "id": "pricetable1",
- "rows": [
- {
- "content": "<p>Product Awesome</p>",
- "discount_type": "amount",
- "discount_value": 10,
- "id": 1234,
- "price": 100,
- "product_id": 990,
- "quantity": 3,
- "recurring_include_in_totals": true,
- "recurring_type": "month",
- "selectable": "check",
- "sku": "2452345",
- "subtotal": 300,
- "type": "price",
- "unique_id": "identifier-1234",
- "user_quantity": true,
- "user_selected": true,
- "vat_percentage": 21
}
], - "settings": {
- "rows_include_vat": false,
- "vat_default_percentage": 21,
- "vat_hidden": false
}, - "subtotal": 1000,
- "total": 100,
- "vat": [
- {
- "group_name": "Vat21",
- "percentage": 21,
- "total": 100
}
]
}
]
}, - "date_modified": "2024-03-22T08:26:46.000000Z",
- "design_template_id": 1234,
- "emails": [
- {
- "date_sended": "2024-03-22T08:26:46.000000Z",
- "id": 1234,
- "message": "Dear {company_people_firstname}, hereby you receive our proposal for ...",
- "proposal_version_nr": 1234,
- "sended_by": "Johnny Vegas"
}
], - "id": 1234,
- "logs": {
- "history": [
- {
- "action": "proposal: viewed pdf",
- "date": "2024-03-22T08:26:46.000000Z",
- "person": "Chuck Norris",
- "type": "client"
}
], - "summary": {
- "last_modified_date": "2024-03-22T08:26:46.000000Z",
- "last_modified_user": "2024-03-22T08:26:46.000000Z",
- "pdf": 0,
- "recent_view": "2024-03-22T08:26:46.000000Z",
- "views": 2
}
}, - "name": "Proposal you can't refuse",
- "price_total": "$999.99",
- "price_total_original": 999.99,
- "price_total_override": 999.99,
- "proposal_language": "nl",
- "proposal_nr": "nr 000142",
- "receivers": [
- {
- "fullname": "Chuck Norris",
- "id": 1234,
- "signature_allowed": 1,
- "signature_required": 1
}
], - "remarks": "Make some modifications as requested by Vegan Seagal",
- "status": "open",
- "text_template_id": 1234
}
Create proposal
Create a new proposal.
Parameters
name | type | description |
---|---|---|
account_user_id | integer | The proposal is assigned to this user and will be send out in name of this user |
contact_people | array | List with contact_person_id's who are going to receive the proposal; These are the contacts belonging to an organisation who are going to receive the proposal. Make sure they got an email filled in. |
contact_id | integer | The proposal is assigned to this main contact id |
proposal_template_id | integer | The proposal template (favorite) id which is used to create the proposal. See Favorite templates list. |
design_template_id | integer | Design template id |
name | string | Name of the proposal |
price_total | float | Proposal value as calculated by pricetables |
status | string | Proposal status. Possible values: edit, open, won, lost, closed |
text_template_id | integer | Text template id (language template id) |
content | object | Content for the proposal (see below) |
Content: Pricetables
Optionally you have the option to add rows to pricetables. Make sure you updated the 'Unique ID' field through the pricetable settings in your proposal template. Then you can target this pricetable to add rows to.
Fields per row type:
type | fields |
---|---|
price | type, content, quantity, price, vat_percentage, selectable (false, check, radio), user_selected, user_quantity, discount_type (false, percentage, amount), discount_value, recurring_type (false, month, year), recurring_include_in_totals, hide_price, hide_quantity, unique_id, product_id, sku |
discount | type, content, discount_type (percentage, amount), discount_value |
subtotal | type, content |
title | type, content |
Request Body schema: application/json
account_user_id | number |
automations_set_id | number |
contact_id | number |
contact_people | Array of numbers |
object | |
design_template_id | number |
name | string |
proposal_template_id | number |
text_template_id | number |
Responses
Request samples
- Payload
{- "account_user_id": 1234,
- "automations_set_id": 1234,
- "contact_id": 1234,
- "contact_people": [
- 1
], - "content": {
- "pricetables": [
- {
- "id": "pricetable1",
- "rows": [
- {
- "content": "<p>Product Awesome</p>",
- "discount_type": "amount",
- "discount_value": 10,
- "hide_price": true,
- "hide_quantity": true,
- "price": 100,
- "product_id": 990,
- "quantity": 3,
- "recurring_include_in_totals": true,
- "recurring_type": "month",
- "selectable": "check",
- "sku": "2452345",
- "type": "price",
- "unique_id": "identifier-1234",
- "user_quantity": true,
- "user_selected": true,
- "vat_percentage": 21
}
]
}
]
}, - "design_template_id": 1234,
- "name": "Proposal you can't refuse",
- "proposal_template_id": 1234,
- "text_template_id": 1234
}
Response samples
- 201
{- "id": 1234,
- "version_id": 1234
}
Send proposal
Send a proposal
Parameters
name | type | description |
---|---|---|
password_reset | boolean | Optional: Reset the existing passwords when proposal was send before |
send_method | string | Optional: Choose if you want to send it through Offorte or send the proposal your self. Defaults to 'offorte'. Possible values: offorte,self |
send_message | string | The actual message you want to send in plain text. If not provided you must provide the 'send_message_id' |
send_message_id | integer | The id of the email template you want to use as the accompanying message |
Request Body schema: application/json
send_message_id | number |
Responses
Request samples
- Payload
{- "send_message_id": 1234
}
Response samples
- 201
{- "receivers": [
- {
- "fullname": "Ainsley Shepherd",
- "id": 1234,
}, - {
- "fullname": "Adam Foreman",
- "id": 5678,
}
]
}
Update proposal
Updates the proposal details with the provided attributes. Other (unprovided) attributes remain unchanged
Parameters
name | type | description |
---|---|---|
account_user_id | integer | The proposal is assigned to this user and will be send out in name of this user |
contact_people | array | List with contact people id's who are going to receive the proposal; Make sure they got an email filled in |
contact_id | integer | The proposal is assigned to this contact |
design_template_id | integer | Design template id |
name | string | Name of the proposal |
price_total | float | Proposal value as calculated by pricetables |
status | string | Proposal status. Possible values: edit, open, won, lost, closed |
text_template_id | integer | Text template id |
Request Body schema: application/json
account_user_id | number |
contact_id | number |
contact_people | Array of numbers |
design_template_id | number |
name | string |
price_total | number |
status | string |
text_template_id | number |
Responses
Request samples
- Payload
{- "account_user_id": 1234,
- "contact_id": 1234,
- "contact_people": [
- 1
], - "design_template_id": 1234,
- "name": "Proposal you can't refuse",
- "price_total": 999.99,
- "status": "won",
- "text_template_id": 1234
}
Response samples
- 200
{- "status": "200 OK"
}
Favorite templates list
Returns a list of proposal favorites (templates).
Deprecated fields:
type,config_language_id,proposal_tpl_id
Responses
Response samples
- 200
[- {
- "automations_set_id": 1234,
- "design_template_id": 1234,
- "id": 1234,
- "name": "My favorite proposal",
- "text_template_id": 1234
}
]
Contacts organisations list
Returns a paginated list of contacts of type organisation.
Searching on name can be done by using the optional query
parameter
Contact tags and custom fields are only included in the contact details request and not included in the list
Responses
Response samples
- 200
[- {
- "account_user_id": 1,
- "account_user_name": "Dennis Wiemer",
- "city": "Breda",
- "coc_number": "12345678",
- "country": "the Netherlands",
- "date_created": "2024-03-23T09:43:59.481776Z",
- "facebook": "facebook.com/example",
- "fax": "+31 76 12344567",
- "id": 1234,
- "instagram": "instagram.com/example",
- "internet": "www.example.com",
- "linkedin": "linkedin.com/example",
- "name": "Example Inc",
- "people": [
- {
- "city": "Breda",
- "contact_id": 1234,
- "country": "the Netherlands",
- "facebook": "facebook.com/example",
- "firstname": "Chuck",
- "fullname": "Chuck Norris",
- "id": 1234,
- "instagram": "instagram.com/example",
- "internet": "www.example.com",
- "lastname": "Norris",
- "linkedin": "linkedin.com/example",
- "mobile": "+31 76 12344567",
- "phone": "+31 76 12344567",
- "salutation": "Mr",
- "state": "Noord-Brabant",
- "street": "Ginnekenweg 1",
- "total_proposals": 7,
- "twitter": "twitter.com/example",
- "zipcode": "4800AA"
}
], - "phone": "+31 76 12344567",
- "proposals_open": 0,
- "proposals_won": 0,
- "state": "Noord-Brabant",
- "street": "Ginnekenweg 1",
- "twitter": "twitter.com/example",
- "type": "organisation",
- "vat_number": "NL123455678",
- "zipcode": "4800AA"
}
]
Contacts people list
Returns a paginated list of contacts of type person.
Searching on name can be done by using the optional query
parameter
Contact tags and custom fields are only included in the contact details request and not included in the list
Responses
Response samples
- 200
[- {
- "account_user_id": 3,
- "account_user_name": "Dennis Wiemer",
- "city": "Breda",
- "contact_id": 1234,
- "country": "the Netherlands",
- "date_created": "2024-03-23T04:26:46.000000Z",
- "facebook": "facebook.com/example",
- "firstname": "Chuck",
- "fullname": "Chuck Norris",
- "id": 1234,
- "instagram": "instagram.com/example",
- "internet": "www.example.com",
- "lastname": "Norris",
- "linkedin": "linkedin.com/example",
- "mobile": "+31 6 1234567",
- "organisation": "",
- "phone": "+31 76 12344567",
- "proposals_open": 0,
- "proposals_won": 1,
- "salutation": "Mr",
- "state": "Noord-Brabant",
- "street": "Ginnekenweg 1",
- "twitter": "twitter.com/example",
- "type": "person",
- "zipcode": "4800AA"
}
]
Response samples
- 200
{- "account_user_id": 1,
- "account_user_name": "Dennis Wiemer",
- "city": "Breda",
- "coc_number": "12345678",
- "country": "the Netherlands",
- "date_created": "2010-03-23T09:22:28.000000Z",
- "facebook": "facebook.com/example",
- "fax": "+31 76 12344567",
- "id": 1234,
- "instagram": "instagram.com/example",
- "internet": "www.example.com",
- "linkedin": "linkedin.com/example",
- "name": "Example Inc",
- "people": [
- {
- "city": "Breda",
- "country": "the Netherlands",
- "facebook": "facebook.com/example",
- "firstname": "Chuck",
- "fullname": "Chuck Norris",
- "id": 1234,
- "instagram": "instagram.com/example",
- "internet": "www.example.com",
- "lastname": "Norris",
- "linkedin": "linkedin.com/example",
- "mobile": "+31 76 12344567",
- "phone": "+31 76 12344567",
- "salutation": "Mr",
- "state": "Noord-Brabant",
- "street": "Ginnekenweg 1",
- "total_proposals": 19,
- "twitter": "twitter.com/example",
- "zipcode": "4800AA"
}
], - "phone": "+31 76 12344567",
- "proposals": [
- {
- "account_user_id": 3,
- "contact_name": "Dvotion 77",
- "contact_person_fullname": "",
- "date_created": "2010-03-23T09:22:28.000000Z",
- "id": 1234,
- "name": "Example proposal",
- "price_total": "€ 2.490,00",
- "proposal_nr": "nr 000183",
- "status": "edit",
- "total_price": 2490,
- "total_price_override": "",
- "version_id": 180480
}
], - "state": "Noord-Brabant",
- "street": "Ginnekenweg 1",
- "tags": [
- {
- "id": 1,
- "name": "marketing"
}
], - "twitter": "x.nl",
- "type": "organisation",
- "vat_number": "NL123455678",
- "zipcode": "4800AA"
}
Update contact
Updates the main contact details with the provided attributes. Other (unprovided) attributes remain unchanged.
Parameters
name | type | description |
---|---|---|
name | string | |
street | string | |
zipcode | string | |
city | string | |
state | string | |
country | string | |
phone | string | |
string | ||
internet | string | |
string | ||
string | ||
string | ||
string | ||
fax | string | type: organisation |
coc_number | string | type: organisation |
vat_number | string | type: organisation |
firstname | string | type: person |
lastname | string | type: person |
salutation | string | type: person |
mobile | string | type: person |
tags | array | Array of strings. Existing tags will be assigned, new ones will be created |
custom_* | string | Any custom field using the field id. For example: custom_specialism |
Request Body schema: application/json
city | string |
coc_number | string |
country | string |
custom_specialism | string |
string | |
string | |
fax | string |
string | |
internet | string |
string | |
name | string |
phone | string |
state | string |
street | string |
tags | Array of strings |
string | |
vat_number | string |
zipcode | string |
Responses
Request samples
- Payload
{- "city": "Breda",
- "coc_number": "12345678",
- "country": "the Netherlands",
- "custom_specialism": "training",
- "facebook": "facebook.com/example",
- "fax": "+31 76 12344567",
- "instagram": "instagram.com/example",
- "internet": "www.example.com",
- "linkedin": "linkedin.com/example",
- "name": "Example Inc",
- "phone": "+31 76 12344567",
- "state": "Noord-Brabant",
- "street": "Ginnekenweg 1",
- "tags": [
- "sales"
], - "twitter": "twitter.com/example",
- "vat_number": "NL123455678",
- "zipcode": "4800AA"
}
Response samples
- 200
{- "status": "200 OK"
}
Create contact organisation
Creates a new main contact of type organisation
Parameters
name | type | description |
---|---|---|
name | string | required |
type | string | value: organisation (required) |
street | string | |
zipcode | string | |
city | string | |
state | string | |
country | string | |
phone | string | |
fax | string | |
string | ||
internet | string | |
string | ||
string | ||
string | ||
string | ||
coc_number | string | |
vat_number | string | |
tags | array | Array of strings. Existing tags will be assigned, new ones will be created |
custom_* | string | Any custom field using the field id. For example: custom_specialism |
Request Body schema: application/json
city | string |
country | string |
custom_hobby | string |
string | |
string | |
firstname | string |
string | |
internet | string |
lastname | string |
string | |
mobile | string |
name | string |
phone | string |
salutation | string |
state | string |
street | string |
tags | Array of strings |
string | |
type | string |
zipcode | string |
Responses
Request samples
- Payload
{- "city": "Breda",
- "coc_number": "kvk12345678",
- "country": "the Netherlands",
- "custom_specialism": "training",
- "facebook": "facebook.com/example",
- "fax": "+31 76 12344567",
- "instagram": "instagram.com/example",
- "internet": "www.example.com",
- "linkedin": "linkedin.com/example",
- "name": "Example Inc",
- "phone": "+31 76 12344567",
- "state": "Noord-Brabant",
- "street": "Ginnekenweg 1",
- "tags": [
- "sales"
], - "twitter": "twitter.com/example",
- "type": "organisation",
- "vat_number": "NL123455678",
- "zipcode": "4800AA"
}
Response samples
- 201
{- "account_user_id": 1,
- "account_user_name": "John Knowles",
- "city": "Breda",
- "contact_id": 1234,
- "country": "the Netherlands",
- "custom_hobby": "knitting",
- "date_created": "2024-03-23T08:26:24.000000Z",
- "facebook": "facebook.com/example",
- "firstname": "Chuck",
- "fullname": "Chuck Norris1",
- "id": 1234,
- "instagram": "instagram.com/example",
- "internet": "www.example.com",
- "lastname": "Norris",
- "linkedin": "linkedin.com/example",
- "mobile": "+31 6 1234567",
- "name": "Chuck Norris",
- "phone": "+31 76 12344567",
- "proposals": [ ],
- "salutation": "Mr",
- "state": "Noord-Brabant",
- "street": "Ginnekenweg 1",
- "tags": [
- {
- "id": 1,
- "name": "sales"
}
], - "twitter": "twitter.com/example",
- "type": "person",
- "zipcode": "4800AA"
}
Organisation people list
Returns a paginated list of the people in an organisation
Contact tags and custom fields are only included in the contact details request and not included in the list
Responses
Response samples
- 200
[- {
- "city": "Breda",
- "contact_id": 1234,
- "country": "the Netherlands",
- "facebook": "facebook.com/example",
- "firstname": "Chuck",
- "fullname": "Chuck Norris",
- "id": 1234,
- "instagram": "instagram.com/example",
- "internet": "www.example.com",
- "lastname": "Norris",
- "linkedin": "linkedin.com/example",
- "mobile": "+31 76 12344567",
- "phone": "+31 76 12344567",
- "salutation": "Mr",
- "state": "Noord-Brabant",
- "street": "Ginnekenweg 1",
- "total_proposals": 0,
- "twitter": "twitter.com/example",
- "zipcode": "4800AA"
}
]
Create organisation person
Creates a new person in an organisation.
Parameters
name | type | description |
---|---|---|
name | string | required |
firstname | string | |
lastname | string | |
salutation | string | |
street | string | |
zipcode | string | |
city | string | |
state | string | |
country | string | |
phone | string | |
mobile | string | |
string | ||
internet | string | |
string | ||
string | ||
string | ||
string | ||
tags | array | Array of strings. Existing tags will be assigned, new ones will be created |
custom_* | string | Any custom field using the field id. For example: custom_specialism |
Request Body schema: application/json
city | string |
country | string |
string | |
string | |
firstname | string |
fullname | string |
internet | string |
lastname | string |
string | |
mobile | string |
phone | string |
salutation | string |
state | string |
street | string |
string | |
zipcode | string |
Responses
Request samples
- Payload
{- "city": "Breda",
- "country": "the Netherlands",
- "facebook": "facebook.com/example",
- "firstname": "Chuck",
- "fullname": "Chuck Norris",
- "internet": "www.example.com",
- "lastname": "Norris",
- "linkedin": "linkedin.com/example",
- "mobile": "+31 76 12344567",
- "phone": "+31 76 12344567",
- "salutation": "Mr",
- "state": "Noord-Brabant",
- "street": "Ginnekenweg 1",
- "twitter": "twitter.com/example",
- "zipcode": "4800AA"
}
Response samples
- 201
{- "city": "Breda",
- "contact_id": 1234,
- "country": "the Netherlands",
- "custom_hobby": "knitting",
- "date_created": "2024-03-23T08:26:24.000000Z",
- "facebook": "facebook.com/example",
- "firstname": "Chuck",
- "fullname": "Chuck Norris1",
- "id": 1234,
- "instagram": "instagram.com/example",
- "internet": "www.example.com",
- "lastname": "Norris",
- "linkedin": "linkedin.com/example",
- "mobile": "+31 6 1234567",
- "phone": "+31 76 12344567",
- "salutation": "Mr",
- "state": "Noord-Brabant",
- "street": "Ginnekenweg 1",
- "tags": [
- {
- "id": 1,
- "name": "sales"
}
], - "twitter": "twitter.com/example",
- "zipcode": "4800AA"
}
Response samples
- 200
{- "city": "Breda",
- "contact_id": 1234,
- "country": "the Netherlands",
- "custom_description": false,
- "custom_hobby": "knitting",
- "date_created": "2024-03-23T08:26:24.000000Z",
- "facebook": "facebook.com/example",
- "firstname": "Chuck",
- "fullname": "Chuck Norris",
- "id": 1234,
- "instagram": "instagram.com/example",
- "internet": "www.example.com",
- "lastname": "Norris",
- "linkedin": "linkedin.com/example",
- "mobile": "+31 6 1234567",
- "phone": "+31 76 12344567",
- "salutation": "Mr",
- "state": "Noord-Brabant",
- "street": "Ginnekenweg 1",
- "twitter": "twitter.com/example",
- "zipcode": "4800AA"
}
Update organisation person
Updates the organisation person details with the provided attributes. Other (unprovided) attributes remain unchanged
Parameters
name | type | description |
---|---|---|
name | string | |
firstname | string | |
lastname | string | |
salutation | string | |
street | string | |
zipcode | string | |
city | string | |
state | string | |
country | string | |
phone | string | |
mobile | string | |
string | ||
internet | string | |
string | ||
string | ||
string | ||
string | ||
tags | array | Array of strings. Existing tags will be assigned, new ones will be created |
custom_* | string | Any custom field using the field id. For example: custom_specialism |
Request Body schema: application/json
city | string |
country | string |
custom_hobby | string |
string | |
string | |
firstname | string |
string | |
internet | string |
lastname | string |
string | |
mobile | string |
name | string |
phone | string |
salutation | string |
state | string |
street | string |
tags | Array of strings |
string | |
zipcode | string |
Responses
Request samples
- Payload
{- "city": "Breda",
- "country": "the Netherlands",
- "custom_hobby": "knitting",
- "facebook": "facebook.com/example",
- "firstname": "Chuck",
- "instagram": "instagram.com/example",
- "internet": "www.example.com",
- "lastname": "Norris",
- "linkedin": "linkedin.com/example",
- "mobile": "+31 6 1234567",
- "name": "Chuck Norris",
- "phone": "+31 76 12344567",
- "salutation": "Mr",
- "state": "Noord-Brabant",
- "street": "Ginnekenweg 1",
- "tags": [
- "sales"
], - "twitter": "twitter.com/example",
- "zipcode": "4800AA"
}
Response samples
- 200
{- "status": "200 OK"
}
Response samples
- 200
[- {
- "descr_short": "This is a description",
- "id": 1234,
- "name": "Example Inc",
- "price": "1000",
- "recurring": "month",
- "selectable": "check",
- "sku": "abc12345678",
- "vat_id": 1234,
- "vat_percentage": 21
}
]
Create product
Creates a new product.
Parameters details
name | type | description |
---|---|---|
sku | string | |
price | float | |
vat_id | integer | |
selectable | string | Row is optional to choose by the customer. Check is multiple choice, Radio is single choice. Types: check, radio, false |
recurring | string | Row is recurring and from type: month, year |
name | string | |
descr_short | string |
_Deprecated fields:_optional.
Request Body schema: application/json
descr_short | string |
name | string |
price | number |
recurring | string |
selectable | string |
sku | number |
vat_id | number |
Responses
Request samples
- Payload
{- "descr_short": "Hello here is my descr",
- "name": "API some new product",
- "price": 3000,
- "recurring": "month",
- "selectable": "radio",
- "sku": 1234,
- "vat_id": 7
}
Response samples
- 200
{- "product_id": 1234
}
Update product
Updates the product with the provided attributes.
Parameters details
name | type | description |
---|---|---|
sku | string | |
price | float | |
vat_id | integer | |
selectable | string | Row is optional to choose by the customer. Check is multiple choice, Radio is single choice. Types: check, radio, false |
recurring | string | Row is recurring and from type: month, year |
name | string | |
descr_short | string |
_Deprecated fields:_optional.
Request Body schema: application/json
descr_short | string |
directory_id | number |
name | string |
price | string |
recurring | string |
selectable | string |
sku | string |
vat_id | number |
Responses
Request samples
- Payload
{- "descr_short": "This is a description",
- "directory_id": 1,
- "name": "Example Inc",
- "price": "1000",
- "recurring": "month",
- "selectable": "check",
- "sku": "abc12345678",
- "vat_id": 1
}
Response samples
- 200
true
Response samples
- 200
[- {
- "date_lastlogin": "2024-03-23T08:26:24.000000Z",
- "firstname": "Chuck",
- "id": 1234,
- "jobtitle": "CEO",
- "lastname": "Norris",
- "phone": "+31 76 12344567"
}
]
Response samples
- 200
[- {
- "active": true,
- "api_version": 2,
- "date_created": "2024-03-22T08:26:46.000000Z",
- "date_failed": "2024-03-22T08:26:46.000000Z",
- "date_modified": "2024-03-22T08:26:46.000000Z",
- "events": [
- "contact_created"
], - "id": 1234,
- "payload_content_type": "json",
}
]
Create webhook
Creates a new webhook
Parameters details
name | type | desscription |
---|---|---|
payload_url | string | Url where the data will be posted to; must be a full https url |
payload_content_type | string | Content type header: json |
active | boolean | Is it active or not |
events | array | Events to subscribe to |
Request Body schema: application/json
active | boolean |
events | Array of strings |
payload_content_type | string |
payload_url | string |
Responses
Request samples
- Payload
{- "active": true,
- "events": [
- "contact_created",
- "contact_updated",
- "contact_deleted",
- "contact_person_created",
- "contact_person_updated",
- "contact_person_deleted",
- "proposal_created",
- "proposal_details_updated",
- "proposal_deleted",
- "proposal_send",
- "proposal_won",
- "proposal_lost",
- "proposal_viewed",
- "proposal_comment_received",
- "product_directory_created",
- "product_directory_updated",
- "product_directory_deleted",
- "product_created",
- "product_updated",
- "product_deleted"
], - "payload_content_type": "json",
}
Response samples
- 201
{- "webhook_id": 1
}
Response samples
- 200
{- "active": true,
- "api_version": 2,
- "date_created": "2024-03-22T08:26:46.000000Z",
- "date_failed": "2024-03-22T08:26:46.000000Z",
- "date_modified": "2024-03-22T08:26:46.000000Z",
- "events": [
- "contact_created"
], - "id": 1,
- "payload_content_type": "json",
}
Update webhook
Updates the webhook details with the provided attributes. Other (unprovided) attributes remain unchanged
Parameters details
name | type | desscription |
---|---|---|
payload_url | string | Url where the data will be posted to; must be a full https url |
payload_content_type | string | Content type header: json |
active | boolean | Is it active or not |
events | array | Events to subscribe to |
Request Body schema: application/json
active | boolean |
events | Array of strings |
payload_content_type | string |
payload_url | string |
Responses
Request samples
- Payload
{- "active": true,
- "events": [
- "contact_created"
], - "payload_content_type": "xform",
}
Response samples
- 200
{- "status": "200 OK"
}