{"__v":1,"_id":"55f0d414f3949a1700ce2c0b","api":{"auth":"required","params":[],"results":{"codes":[]},"settings":"","url":""},"body":"Follow Up Boss provides a simple [REST API](https://en.wikipedia.org/wiki/Representational_state_transfer) that allows developers to integrate their applications quickly. API is in active development and will be extended to provide more functionality while keeping it backwards compatible.\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"API Endpoint\"\n}\n[/block]\nAPI Endpoint URL has the following structure, `https://api.followupboss.com/v1/people`\n\n  * `https://` - HTTPS is required for security, HTTP will not work.\n  * `api.followupboss.com` - API hostname, always the same.\n  * `v1` - API version, currently v1 is the only version.\n  * `people` - resource name in plural, such as people, notes, etc.\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Examples\"\n}\n[/block]\nLooking for code examples? You can find Bash and PHP examples [here](https://github.com/FollowUpBoss/fub-api-examples)\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Need Help?\"\n}\n[/block]\nSimply email us at [api@followupboss.com](mailto:api@followupboss.com) and we'll help you to get started or answer any question you might have.","category":"55f0d413f3949a1700ce2c09","createdAt":"2015-09-10T00:51:32.232Z","excerpt":"This page will help you get started with Follow Up Boss. You'll be up and running in a jiffy!","githubsync":"","hidden":false,"isReference":false,"link_external":false,"link_url":"","next":{"description":"","pages":[]},"order":0,"parentDoc":null,"project":"55f0d412f3949a1700ce2c05","slug":"getting-started","sync_unique":"","title":"Getting Started with Follow Up Boss","type":"basic","updates":[],"user":"55f0d404f3735d0d006920a2","version":"55f0d412f3949a1700ce2c08","childrenPages":[]}

Getting Started with Follow Up Boss

This page will help you get started with Follow Up Boss. You'll be up and running in a jiffy!

Follow Up Boss provides a simple [REST API](https://en.wikipedia.org/wiki/Representational_state_transfer) that allows developers to integrate their applications quickly. API is in active development and will be extended to provide more functionality while keeping it backwards compatible. [block:api-header] { "type": "basic", "title": "API Endpoint" } [/block] API Endpoint URL has the following structure, `https://api.followupboss.com/v1/people` * `https://` - HTTPS is required for security, HTTP will not work. * `api.followupboss.com` - API hostname, always the same. * `v1` - API version, currently v1 is the only version. * `people` - resource name in plural, such as people, notes, etc. [block:api-header] { "type": "basic", "title": "Examples" } [/block] Looking for code examples? You can find Bash and PHP examples [here](https://github.com/FollowUpBoss/fub-api-examples) [block:api-header] { "type": "basic", "title": "Need Help?" } [/block] Simply email us at [api@followupboss.com](mailto:api@followupboss.com) and we'll help you to get started or answer any question you might have.
Follow Up Boss provides a simple [REST API](https://en.wikipedia.org/wiki/Representational_state_transfer) that allows developers to integrate their applications quickly. API is in active development and will be extended to provide more functionality while keeping it backwards compatible. [block:api-header] { "type": "basic", "title": "API Endpoint" } [/block] API Endpoint URL has the following structure, `https://api.followupboss.com/v1/people` * `https://` - HTTPS is required for security, HTTP will not work. * `api.followupboss.com` - API hostname, always the same. * `v1` - API version, currently v1 is the only version. * `people` - resource name in plural, such as people, notes, etc. [block:api-header] { "type": "basic", "title": "Examples" } [/block] Looking for code examples? You can find Bash and PHP examples [here](https://github.com/FollowUpBoss/fub-api-examples) [block:api-header] { "type": "basic", "title": "Need Help?" } [/block] Simply email us at [api@followupboss.com](mailto:api@followupboss.com) and we'll help you to get started or answer any question you might have.
{"__v":0,"_id":"5840a1ea29e3ff0f000d8698","api":{"results":{"codes":[{"status":200,"language":"json","code":"{}","name":""},{"status":400,"language":"json","code":"{}","name":""}]},"settings":"","auth":"required","params":[],"url":""},"body":"Every user in Follow Up Boss has a unique API Key that can be obtained from \"Admin\" -> \"API\" screen. External applications use API Key to get authenticated and read/update data in Follow Up Boss on the user's behalf.\n\nAuthentication is done with [HTTP Basic Authentication](https://en.wikipedia.org/wiki/Basic_access_authentication) over HTTPS. Use API Key as the username and leave the password blank (or you can put any value as password if your HTTP client requires it).\n\nFollow Up Boss API is available via HTTPS only. This ensures that API Key is always encrypted during transmission. API Key provides the same privileges as the user's login credentials and should be handled securely.\n\nAPI key has the same access level as the user whom the key belongs to. For example, agent's API key allows access only to people assigned to that agent while broker's API key allows access to all people in the account.","category":"55f0d413f3949a1700ce2c09","createdAt":"2016-12-01T22:19:22.080Z","excerpt":"","githubsync":"","hidden":false,"isReference":false,"link_external":false,"link_url":"","next":{"pages":[],"description":""},"order":1,"parentDoc":null,"project":"55f0d412f3949a1700ce2c05","slug":"authentication","sync_unique":"","title":"Authentication","type":"basic","updates":[],"user":"57d5af6965a96a170037d0f1","version":"55f0d412f3949a1700ce2c08","childrenPages":[]}

Authentication


Every user in Follow Up Boss has a unique API Key that can be obtained from "Admin" -> "API" screen. External applications use API Key to get authenticated and read/update data in Follow Up Boss on the user's behalf. Authentication is done with [HTTP Basic Authentication](https://en.wikipedia.org/wiki/Basic_access_authentication) over HTTPS. Use API Key as the username and leave the password blank (or you can put any value as password if your HTTP client requires it). Follow Up Boss API is available via HTTPS only. This ensures that API Key is always encrypted during transmission. API Key provides the same privileges as the user's login credentials and should be handled securely. API key has the same access level as the user whom the key belongs to. For example, agent's API key allows access only to people assigned to that agent while broker's API key allows access to all people in the account.
Every user in Follow Up Boss has a unique API Key that can be obtained from "Admin" -> "API" screen. External applications use API Key to get authenticated and read/update data in Follow Up Boss on the user's behalf. Authentication is done with [HTTP Basic Authentication](https://en.wikipedia.org/wiki/Basic_access_authentication) over HTTPS. Use API Key as the username and leave the password blank (or you can put any value as password if your HTTP client requires it). Follow Up Boss API is available via HTTPS only. This ensures that API Key is always encrypted during transmission. API Key provides the same privileges as the user's login credentials and should be handled securely. API key has the same access level as the user whom the key belongs to. For example, agent's API key allows access only to people assigned to that agent while broker's API key allows access to all people in the account.
{"__v":0,"_id":"5846d12e0e16da1900b2835c","api":{"settings":"","results":{"codes":[{"status":200,"language":"json","code":"{}","name":""},{"status":400,"language":"json","code":"{}","name":""}]},"auth":"required","params":[],"url":""},"body":"If you integrate with Follow Up Boss we also ask you to identify your system using the \"system\" query argument:\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"GET /v1/calls?system=AwesomeWebsiteBuilder HTTP/1.1\",\n      \"language\": \"http\"\n    }\n  ]\n}\n[/block]\nOr a \"system\" key in a POST or PUT request:\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"POST /v1/events HTTP/1.1\\nContent-Type: application/json\\n...\\n{\\n    \\\"source\\\": \\\"MyAwesomeWebsite.com\\\",\\n    \\\"system\\\": \\\"AwesomeSiteBuilder\\\",\\n    \\\"person\\\": { \\\"firstName\\\": \\\"Mary\\\", \\\"lastName\\\": \\\"Mcmillan\\\" },\\n    ...\\n}\",\n      \"language\": \"http\"\n    }\n  ]\n}\n[/block]\nOn first glance system may look similar to the \"source\" attribute sent along with lead notification events. The difference is that the lead source describes the brand or marketing name a broker uses for a lead source, and system describes the system used.","category":"55f0d413f3949a1700ce2c09","createdAt":"2016-12-06T14:54:38.206Z","excerpt":"","githubsync":"","hidden":false,"isReference":false,"link_external":false,"link_url":"","next":{"pages":[],"description":""},"order":2,"parentDoc":null,"project":"55f0d412f3949a1700ce2c05","slug":"identification","sync_unique":"","title":"Identification","type":"basic","updates":[],"user":"57fe70eb4defec0e00642352","version":"55f0d412f3949a1700ce2c08","childrenPages":[]}

Identification


If you integrate with Follow Up Boss we also ask you to identify your system using the "system" query argument: [block:code] { "codes": [ { "code": "GET /v1/calls?system=AwesomeWebsiteBuilder HTTP/1.1", "language": "http" } ] } [/block] Or a "system" key in a POST or PUT request: [block:code] { "codes": [ { "code": "POST /v1/events HTTP/1.1\nContent-Type: application/json\n...\n{\n \"source\": \"MyAwesomeWebsite.com\",\n \"system\": \"AwesomeSiteBuilder\",\n \"person\": { \"firstName\": \"Mary\", \"lastName\": \"Mcmillan\" },\n ...\n}", "language": "http" } ] } [/block] On first glance system may look similar to the "source" attribute sent along with lead notification events. The difference is that the lead source describes the brand or marketing name a broker uses for a lead source, and system describes the system used.
If you integrate with Follow Up Boss we also ask you to identify your system using the "system" query argument: [block:code] { "codes": [ { "code": "GET /v1/calls?system=AwesomeWebsiteBuilder HTTP/1.1", "language": "http" } ] } [/block] Or a "system" key in a POST or PUT request: [block:code] { "codes": [ { "code": "POST /v1/events HTTP/1.1\nContent-Type: application/json\n...\n{\n \"source\": \"MyAwesomeWebsite.com\",\n \"system\": \"AwesomeSiteBuilder\",\n \"person\": { \"firstName\": \"Mary\", \"lastName\": \"Mcmillan\" },\n ...\n}", "language": "http" } ] } [/block] On first glance system may look similar to the "source" attribute sent along with lead notification events. The difference is that the lead source describes the brand or marketing name a broker uses for a lead source, and system describes the system used.
{"__v":0,"_id":"5846d24b0e16da1900b2835f","api":{"results":{"codes":[{"status":200,"language":"json","code":"{}","name":""},{"status":400,"language":"json","code":"{}","name":""}]},"settings":"","auth":"required","params":[],"url":""},"body":"Follow Up Boss API uses JSON encoding. When sending POST and PUT requests, request body should contain JSON-encoded data to create or update a resource. We also recommend including a header indicating content type of the request body: *Content-Type: application/json*.\n\nFor example, to update first name on a person with ID = 123 you can use the following request:\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"PUT /v1/people/123 HTTP/1.1\\nContent-Type: application/json\\n...\\n{\\\"firstName\\\": \\\"Mary\\\"}\",\n      \"language\": \"http\"\n    }\n  ]\n}\n[/block]\nLikewise, response body is also encoded using JSON format.\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"{\\n   \\\"id\\\": 123,\\n   \\\"created\\\": \\\"2012-04-23T02:23:11Z\\\",\\n   \\\"updated\\\": \\\"2012-04-23T02:23:11Z\\\",\\n   \\\"lastActivity\\\": \\\"2012-04-23T02:23:11Z\\\",\\n   \\\"name\\\": \\\"Mary Mcmillan\\\",\\n   \\\"firstName\\\": \\\"Mary\\\",\\n   \\\"lastName\\\": \\\"Mcmillan\\\",\\n   \\\"stage\\\": \\\"Lead\\\",\\n   \\\"source\\\": \\\"Zillow\\\",\\n   ...\\n}\",\n      \"language\": \"json\"\n    }\n  ]\n}\n[/block]\n\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Date Format\"\n}\n[/block]\nPlease note the date format in the example above: *2012-04-23T02:23:11Z*. It's [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) standard, we use that format for all date and time values. \n\nTime is always expressed in UTC time zone.\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Response Codes\"\n}\n[/block]\nOn success for new resources, you will get a \"201 Created\" or \"200 OK\" response if an existing resource was updated. \n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Response Bodies\"\n}\n[/block]\nIn general, response bodies for creating or updating resources will be in the same format as returned by a GET request for that resource.","category":"55f0d413f3949a1700ce2c09","createdAt":"2016-12-06T14:59:23.813Z","excerpt":"","githubsync":"","hidden":false,"isReference":false,"link_external":false,"link_url":"","next":{"pages":[],"description":""},"order":3,"parentDoc":null,"project":"55f0d412f3949a1700ce2c05","slug":"requests-and-responses","sync_unique":"","title":"Requests and Responses","type":"basic","updates":[],"user":"57fe70eb4defec0e00642352","version":"55f0d412f3949a1700ce2c08","childrenPages":[]}

Requests and Responses


Follow Up Boss API uses JSON encoding. When sending POST and PUT requests, request body should contain JSON-encoded data to create or update a resource. We also recommend including a header indicating content type of the request body: *Content-Type: application/json*. For example, to update first name on a person with ID = 123 you can use the following request: [block:code] { "codes": [ { "code": "PUT /v1/people/123 HTTP/1.1\nContent-Type: application/json\n...\n{\"firstName\": \"Mary\"}", "language": "http" } ] } [/block] Likewise, response body is also encoded using JSON format. [block:code] { "codes": [ { "code": "{\n \"id\": 123,\n \"created\": \"2012-04-23T02:23:11Z\",\n \"updated\": \"2012-04-23T02:23:11Z\",\n \"lastActivity\": \"2012-04-23T02:23:11Z\",\n \"name\": \"Mary Mcmillan\",\n \"firstName\": \"Mary\",\n \"lastName\": \"Mcmillan\",\n \"stage\": \"Lead\",\n \"source\": \"Zillow\",\n ...\n}", "language": "json" } ] } [/block] [block:api-header] { "type": "basic", "title": "Date Format" } [/block] Please note the date format in the example above: *2012-04-23T02:23:11Z*. It's [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) standard, we use that format for all date and time values. Time is always expressed in UTC time zone. [block:api-header] { "type": "basic", "title": "Response Codes" } [/block] On success for new resources, you will get a "201 Created" or "200 OK" response if an existing resource was updated. [block:api-header] { "type": "basic", "title": "Response Bodies" } [/block] In general, response bodies for creating or updating resources will be in the same format as returned by a GET request for that resource.
Follow Up Boss API uses JSON encoding. When sending POST and PUT requests, request body should contain JSON-encoded data to create or update a resource. We also recommend including a header indicating content type of the request body: *Content-Type: application/json*. For example, to update first name on a person with ID = 123 you can use the following request: [block:code] { "codes": [ { "code": "PUT /v1/people/123 HTTP/1.1\nContent-Type: application/json\n...\n{\"firstName\": \"Mary\"}", "language": "http" } ] } [/block] Likewise, response body is also encoded using JSON format. [block:code] { "codes": [ { "code": "{\n \"id\": 123,\n \"created\": \"2012-04-23T02:23:11Z\",\n \"updated\": \"2012-04-23T02:23:11Z\",\n \"lastActivity\": \"2012-04-23T02:23:11Z\",\n \"name\": \"Mary Mcmillan\",\n \"firstName\": \"Mary\",\n \"lastName\": \"Mcmillan\",\n \"stage\": \"Lead\",\n \"source\": \"Zillow\",\n ...\n}", "language": "json" } ] } [/block] [block:api-header] { "type": "basic", "title": "Date Format" } [/block] Please note the date format in the example above: *2012-04-23T02:23:11Z*. It's [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) standard, we use that format for all date and time values. Time is always expressed in UTC time zone. [block:api-header] { "type": "basic", "title": "Response Codes" } [/block] On success for new resources, you will get a "201 Created" or "200 OK" response if an existing resource was updated. [block:api-header] { "type": "basic", "title": "Response Bodies" } [/block] In general, response bodies for creating or updating resources will be in the same format as returned by a GET request for that resource.
{"__v":0,"_id":"5846d3250e16da1900b28361","api":{"results":{"codes":[{"status":200,"language":"json","code":"{}","name":""},{"status":400,"language":"json","code":"{}","name":""}]},"settings":"","auth":"required","params":[],"url":""},"body":"When listing resources in a collection you can filter results by specifying search conditions as query parameters in the URL. For example, to search person by email address you can use this:\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"GET /v1/people?email=john%40gmail.com\",\n      \"language\": \"http\"\n    }\n  ]\n}\n[/block]\nYou can specify multiple search criteria and they will be combined using \"AND\" logic. For example, to find past clients that came from Zillow use this request:\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"GET /v1/people?stage=Past%20Client&source=Zillow\",\n      \"language\": \"http\"\n    }\n  ]\n}\n[/block]","category":"55f0d413f3949a1700ce2c09","createdAt":"2016-12-06T15:03:01.528Z","excerpt":"","githubsync":"","hidden":false,"isReference":false,"link_external":false,"link_url":"","next":{"pages":[],"description":""},"order":4,"parentDoc":null,"project":"55f0d412f3949a1700ce2c05","slug":"searching","sync_unique":"","title":"Searching","type":"basic","updates":[],"user":"57fe70eb4defec0e00642352","version":"55f0d412f3949a1700ce2c08","childrenPages":[]}

Searching


When listing resources in a collection you can filter results by specifying search conditions as query parameters in the URL. For example, to search person by email address you can use this: [block:code] { "codes": [ { "code": "GET /v1/people?email=john%40gmail.com", "language": "http" } ] } [/block] You can specify multiple search criteria and they will be combined using "AND" logic. For example, to find past clients that came from Zillow use this request: [block:code] { "codes": [ { "code": "GET /v1/people?stage=Past%20Client&source=Zillow", "language": "http" } ] } [/block]
When listing resources in a collection you can filter results by specifying search conditions as query parameters in the URL. For example, to search person by email address you can use this: [block:code] { "codes": [ { "code": "GET /v1/people?email=john%40gmail.com", "language": "http" } ] } [/block] You can specify multiple search criteria and they will be combined using "AND" logic. For example, to find past clients that came from Zillow use this request: [block:code] { "codes": [ { "code": "GET /v1/people?stage=Past%20Client&source=Zillow", "language": "http" } ] } [/block]
{"__v":0,"_id":"5846d373e79def0f00281088","api":{"settings":"","results":{"codes":[{"status":200,"language":"json","code":"{}","name":""},{"status":400,"language":"json","code":"{}","name":""}]},"auth":"required","params":[],"url":""},"body":"List methods that return a collection of resources are paginated using offset and limit query parameters. Default limit value is **10** and default offset value is 0. Resources are returned in reverse order by id, so by default, API returns the last 10 resources in a collection. To obtain the next page of 10 resources specify offset=10 query parameter, then offset=20 and so on. You can increase the number of resources returned at a time using the limit parameter. *Maximum value for the limit parameter is 100*.\n\nFor example, to return the third page of most recently created people with 25 people per page:\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"GET /v1/people?offset=50&limit=25\",\n      \"language\": \"http\"\n    }\n  ]\n}\n[/block]\nResponse contains \"_metadata\" section that includes total number of records available and pagination parameters used in the request:\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"{\\n  \\\"_metadata\\\": {\\n    \\\"collection\\\": \\\"people\\\",\\n    \\\"offset\\\": 50,\\n    \\\"limit\\\": 25,\\n    \\\"total\\\": 1000\\n  },\\n  \\\"people\\\": [\\n    {\\n      \\\"id\\\": 950,\\n      \\\"created\\\": \\\"2012-04-23T02:23:11Z\\\",\\n      ...\\n    },\\n    {\\n      \\\"id\\\": 949,\\n      \\\"created\\\": \\\"2012-04-22T02:23:11Z\\\",\\n      ...\\n    },\\n    ...\\n    {\\n      \\\"id\\\": 926,\\n      \\\"created\\\": \\\"2012-04-19T02:23:11Z\\\",\\n      ...\\n    }\\n  ]\\n}\",\n      \"language\": \"json\"\n    }\n  ]\n}\n[/block]\nWhy use descending order? It makes it easier to retrieve the most recent records, for example to get 5 most recently created people use: \n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"GET /v1/people?limit=5\",\n      \"language\": \"http\"\n    }\n  ]\n}\n[/block]","category":"55f0d413f3949a1700ce2c09","createdAt":"2016-12-06T15:04:19.922Z","excerpt":"","githubsync":"","hidden":false,"isReference":false,"link_external":false,"link_url":"","next":{"pages":[],"description":""},"order":5,"parentDoc":null,"project":"55f0d412f3949a1700ce2c05","slug":"pagination","sync_unique":"","title":"Pagination","type":"basic","updates":[],"user":"57fe70eb4defec0e00642352","version":"55f0d412f3949a1700ce2c08","childrenPages":[]}

Pagination


List methods that return a collection of resources are paginated using offset and limit query parameters. Default limit value is **10** and default offset value is 0. Resources are returned in reverse order by id, so by default, API returns the last 10 resources in a collection. To obtain the next page of 10 resources specify offset=10 query parameter, then offset=20 and so on. You can increase the number of resources returned at a time using the limit parameter. *Maximum value for the limit parameter is 100*. For example, to return the third page of most recently created people with 25 people per page: [block:code] { "codes": [ { "code": "GET /v1/people?offset=50&limit=25", "language": "http" } ] } [/block] Response contains "_metadata" section that includes total number of records available and pagination parameters used in the request: [block:code] { "codes": [ { "code": "{\n \"_metadata\": {\n \"collection\": \"people\",\n \"offset\": 50,\n \"limit\": 25,\n \"total\": 1000\n },\n \"people\": [\n {\n \"id\": 950,\n \"created\": \"2012-04-23T02:23:11Z\",\n ...\n },\n {\n \"id\": 949,\n \"created\": \"2012-04-22T02:23:11Z\",\n ...\n },\n ...\n {\n \"id\": 926,\n \"created\": \"2012-04-19T02:23:11Z\",\n ...\n }\n ]\n}", "language": "json" } ] } [/block] Why use descending order? It makes it easier to retrieve the most recent records, for example to get 5 most recently created people use: [block:code] { "codes": [ { "code": "GET /v1/people?limit=5", "language": "http" } ] } [/block]
List methods that return a collection of resources are paginated using offset and limit query parameters. Default limit value is **10** and default offset value is 0. Resources are returned in reverse order by id, so by default, API returns the last 10 resources in a collection. To obtain the next page of 10 resources specify offset=10 query parameter, then offset=20 and so on. You can increase the number of resources returned at a time using the limit parameter. *Maximum value for the limit parameter is 100*. For example, to return the third page of most recently created people with 25 people per page: [block:code] { "codes": [ { "code": "GET /v1/people?offset=50&limit=25", "language": "http" } ] } [/block] Response contains "_metadata" section that includes total number of records available and pagination parameters used in the request: [block:code] { "codes": [ { "code": "{\n \"_metadata\": {\n \"collection\": \"people\",\n \"offset\": 50,\n \"limit\": 25,\n \"total\": 1000\n },\n \"people\": [\n {\n \"id\": 950,\n \"created\": \"2012-04-23T02:23:11Z\",\n ...\n },\n {\n \"id\": 949,\n \"created\": \"2012-04-22T02:23:11Z\",\n ...\n },\n ...\n {\n \"id\": 926,\n \"created\": \"2012-04-19T02:23:11Z\",\n ...\n }\n ]\n}", "language": "json" } ] } [/block] Why use descending order? It makes it easier to retrieve the most recent records, for example to get 5 most recently created people use: [block:code] { "codes": [ { "code": "GET /v1/people?limit=5", "language": "http" } ] } [/block]
{"__v":0,"_id":"5840a3da63e13523002d022c","api":{"results":{"codes":[{"status":200,"language":"json","code":"{}","name":""},{"status":400,"language":"json","code":"{}","name":""}]},"settings":"","auth":"required","params":[],"url":""},"body":"The best way to send leads into Follow Up Boss from an IDX website, real estate portal, your custom website or any other lead source is to use [event notifications endpoint](https://boss.readme.io/docs/events-post) (Example, `POST /v1/events`).\n\nAdvantages of using this method include:\n  * Avoid creating duplicates, Follow Up Boss will automatically search for existing contact and update it.\n  * Event information (inquiry, viewed property, saved property as a favorite, etc) is recorded and shown in contact history and dashboard.\n  * Agent is notified about new lead via email / text message.\n  * Action plan is applied to the lead (if configured and when particular event types are used).\n  * Correct agent is assigned as per Lead Flow screen.\n  * Automatic search for social profiles.\n[block:callout]\n{\n  \"type\": \"danger\",\n  \"body\": \"Please do not use `POST /v1/people` to send leads into FUB, it will only create a person but **will not** run any automations listed above. Instead, use `POST /v1/events`.\",\n  \"title\": \"Avoid sending leads through `POST /v1/people`.\"\n}\n[/block]","category":"55f0d413f3949a1700ce2c09","createdAt":"2016-12-01T22:27:38.505Z","excerpt":"","githubsync":"","hidden":false,"isReference":false,"link_external":false,"link_url":"","next":{"pages":[],"description":""},"order":6,"parentDoc":null,"project":"55f0d412f3949a1700ce2c05","slug":"send-in-a-lead","sync_unique":"","title":"Send in Leads","type":"basic","updates":[],"user":"57d5af6965a96a170037d0f1","version":"55f0d412f3949a1700ce2c08","childrenPages":[]}

Send in Leads


The best way to send leads into Follow Up Boss from an IDX website, real estate portal, your custom website or any other lead source is to use [event notifications endpoint](https://boss.readme.io/docs/events-post) (Example, `POST /v1/events`). Advantages of using this method include: * Avoid creating duplicates, Follow Up Boss will automatically search for existing contact and update it. * Event information (inquiry, viewed property, saved property as a favorite, etc) is recorded and shown in contact history and dashboard. * Agent is notified about new lead via email / text message. * Action plan is applied to the lead (if configured and when particular event types are used). * Correct agent is assigned as per Lead Flow screen. * Automatic search for social profiles. [block:callout] { "type": "danger", "body": "Please do not use `POST /v1/people` to send leads into FUB, it will only create a person but **will not** run any automations listed above. Instead, use `POST /v1/events`.", "title": "Avoid sending leads through `POST /v1/people`." } [/block]
The best way to send leads into Follow Up Boss from an IDX website, real estate portal, your custom website or any other lead source is to use [event notifications endpoint](https://boss.readme.io/docs/events-post) (Example, `POST /v1/events`). Advantages of using this method include: * Avoid creating duplicates, Follow Up Boss will automatically search for existing contact and update it. * Event information (inquiry, viewed property, saved property as a favorite, etc) is recorded and shown in contact history and dashboard. * Agent is notified about new lead via email / text message. * Action plan is applied to the lead (if configured and when particular event types are used). * Correct agent is assigned as per Lead Flow screen. * Automatic search for social profiles. [block:callout] { "type": "danger", "body": "Please do not use `POST /v1/people` to send leads into FUB, it will only create a person but **will not** run any automations listed above. Instead, use `POST /v1/events`.", "title": "Avoid sending leads through `POST /v1/people`." } [/block]
{"__v":0,"_id":"584070c8c05073190006356f","api":{"results":{"codes":[{"status":200,"language":"json","code":"{}","name":""},{"status":400,"language":"json","code":"{}","name":""}]},"settings":"","auth":"required","params":[],"url":""},"body":"Email Templates need a way to incorporate contact information into the final email that is to be sent. The way we do it is by unique identifiable text within an email template.\n\nFor example if your email template looked like: `Hello %contact_name%`. And your contact's name was William Riker, the result of the email template would be `Hello William Riker`.\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"User Merge Field Mappings\"\n}\n[/block]\nThe following merge fields can be obtained with a call to `/v1/users/:id`.\n[block:parameters]\n{\n  \"data\": {\n    \"h-0\": \"Merge field\",\n    \"h-1\": \"JSON field\",\n    \"h-2\": \"\",\n    \"0-0\": \"`%agent_name%`\",\n    \"0-1\": \"`name`\",\n    \"1-0\": \"`%agent_first_name%`\",\n    \"1-1\": \"`firstName`\",\n    \"2-0\": \"`%agent_last_name%`\",\n    \"2-1\": \"`lastName`\",\n    \"3-0\": \"`%agent_email%`\",\n    \"3-1\": \"`email`\",\n    \"4-0\": \"`%agent_phone%`\",\n    \"4-1\": \"`phone`\"\n  },\n  \"cols\": 2,\n  \"rows\": 5\n}\n[/block]\n\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Person Merge Field Mappings\"\n}\n[/block]\nThe following merge fields can be obtained with a call to `/v1/people/:id`.\n[block:parameters]\n{\n  \"data\": {\n    \"h-0\": \"Merge field\",\n    \"h-1\": \"JSON field\",\n    \"h-2\": \"Notes\",\n    \"0-0\": \"`%contact_name%`\",\n    \"0-1\": \"`name`\",\n    \"1-0\": \"`%contact_first_name%`\",\n    \"1-1\": \"`firstName`\",\n    \"2-0\": \"`%contact_last_name%`\",\n    \"2-1\": \"`lastName`\",\n    \"3-0\": \"`%contact_email%`\",\n    \"3-1\": \"`emails[0].value`\",\n    \"4-0\": \"`%contact_phone%`\",\n    \"4-1\": \"`phones[0].value`\",\n    \"5-0\": \"`%contact_address%`\",\n    \"5-2\": \"\",\n    \"6-0\": \"`%contact_street%`\",\n    \"6-1\": \"`addresses[0].street`\",\n    \"7-1\": \"`addresses[0].city`\",\n    \"8-1\": \"`addresses[0].state`\",\n    \"9-1\": \"`addresses[0].code`\",\n    \"10-1\": \"`addresses[0].country`\",\n    \"11-1\": \"`source`\",\n    \"7-0\": \"`%contact_city%`\",\n    \"8-0\": \"`%contact_state%`\",\n    \"9-0\": \"`%contact_zipcode%`\",\n    \"10-0\": \"`%contact_country%`\",\n    \"11-0\": \"`%source_name%\",\n    \"5-1\": \"Combination of Fields:\\n\\n```\\naddresses[0].street\\naddresses[0].city, addresses[0].code\\n```\"\n  },\n  \"cols\": 2,\n  \"rows\": 12\n}\n[/block]\n\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Inquiry Merge Field Mappings\"\n}\n[/block]\nThe following merge fields can be obtained with a call to `/v1/events/:personId`\n[block:parameters]\n{\n  \"data\": {\n    \"h-0\": \"Merge field\",\n    \"h-1\": \"JSON field\",\n    \"0-0\": \"`%inquiry_address%`\",\n    \"0-1\": \"`property.street`\"\n  },\n  \"cols\": 2,\n  \"rows\": 1\n}\n[/block]\nThe inquiry address merge field is intended to be used as the subject of an email without any surrounding text, it should perform some basic substitutions in case there is no inquiry event for the person:\n\nIf property.street is empty and %source_name% is not, then: %inquiry_address% is \"Your property inquiry from %source_name%\"\n\nIf both property.street is empty and %source_name% are empty, then: %inquiry_address% is \"Your property inquiry\"","category":"55f0d413f3949a1700ce2c09","createdAt":"2016-12-01T18:49:44.273Z","excerpt":"","githubsync":"","hidden":false,"isReference":false,"link_external":false,"link_url":"","next":{"pages":[],"description":""},"order":7,"parentDoc":null,"project":"55f0d412f3949a1700ce2c05","slug":"merge-fields","sync_unique":"","title":"Merge Fields","type":"basic","updates":[],"user":"57d5af6965a96a170037d0f1","version":"55f0d412f3949a1700ce2c08","childrenPages":[]}

Merge Fields


Email Templates need a way to incorporate contact information into the final email that is to be sent. The way we do it is by unique identifiable text within an email template. For example if your email template looked like: `Hello %contact_name%`. And your contact's name was William Riker, the result of the email template would be `Hello William Riker`. [block:api-header] { "type": "basic", "title": "User Merge Field Mappings" } [/block] The following merge fields can be obtained with a call to `/v1/users/:id`. [block:parameters] { "data": { "h-0": "Merge field", "h-1": "JSON field", "h-2": "", "0-0": "`%agent_name%`", "0-1": "`name`", "1-0": "`%agent_first_name%`", "1-1": "`firstName`", "2-0": "`%agent_last_name%`", "2-1": "`lastName`", "3-0": "`%agent_email%`", "3-1": "`email`", "4-0": "`%agent_phone%`", "4-1": "`phone`" }, "cols": 2, "rows": 5 } [/block] [block:api-header] { "type": "basic", "title": "Person Merge Field Mappings" } [/block] The following merge fields can be obtained with a call to `/v1/people/:id`. [block:parameters] { "data": { "h-0": "Merge field", "h-1": "JSON field", "h-2": "Notes", "0-0": "`%contact_name%`", "0-1": "`name`", "1-0": "`%contact_first_name%`", "1-1": "`firstName`", "2-0": "`%contact_last_name%`", "2-1": "`lastName`", "3-0": "`%contact_email%`", "3-1": "`emails[0].value`", "4-0": "`%contact_phone%`", "4-1": "`phones[0].value`", "5-0": "`%contact_address%`", "5-2": "", "6-0": "`%contact_street%`", "6-1": "`addresses[0].street`", "7-1": "`addresses[0].city`", "8-1": "`addresses[0].state`", "9-1": "`addresses[0].code`", "10-1": "`addresses[0].country`", "11-1": "`source`", "7-0": "`%contact_city%`", "8-0": "`%contact_state%`", "9-0": "`%contact_zipcode%`", "10-0": "`%contact_country%`", "11-0": "`%source_name%", "5-1": "Combination of Fields:\n\n```\naddresses[0].street\naddresses[0].city, addresses[0].code\n```" }, "cols": 2, "rows": 12 } [/block] [block:api-header] { "type": "basic", "title": "Inquiry Merge Field Mappings" } [/block] The following merge fields can be obtained with a call to `/v1/events/:personId` [block:parameters] { "data": { "h-0": "Merge field", "h-1": "JSON field", "0-0": "`%inquiry_address%`", "0-1": "`property.street`" }, "cols": 2, "rows": 1 } [/block] The inquiry address merge field is intended to be used as the subject of an email without any surrounding text, it should perform some basic substitutions in case there is no inquiry event for the person: If property.street is empty and %source_name% is not, then: %inquiry_address% is "Your property inquiry from %source_name%" If both property.street is empty and %source_name% are empty, then: %inquiry_address% is "Your property inquiry"
Email Templates need a way to incorporate contact information into the final email that is to be sent. The way we do it is by unique identifiable text within an email template. For example if your email template looked like: `Hello %contact_name%`. And your contact's name was William Riker, the result of the email template would be `Hello William Riker`. [block:api-header] { "type": "basic", "title": "User Merge Field Mappings" } [/block] The following merge fields can be obtained with a call to `/v1/users/:id`. [block:parameters] { "data": { "h-0": "Merge field", "h-1": "JSON field", "h-2": "", "0-0": "`%agent_name%`", "0-1": "`name`", "1-0": "`%agent_first_name%`", "1-1": "`firstName`", "2-0": "`%agent_last_name%`", "2-1": "`lastName`", "3-0": "`%agent_email%`", "3-1": "`email`", "4-0": "`%agent_phone%`", "4-1": "`phone`" }, "cols": 2, "rows": 5 } [/block] [block:api-header] { "type": "basic", "title": "Person Merge Field Mappings" } [/block] The following merge fields can be obtained with a call to `/v1/people/:id`. [block:parameters] { "data": { "h-0": "Merge field", "h-1": "JSON field", "h-2": "Notes", "0-0": "`%contact_name%`", "0-1": "`name`", "1-0": "`%contact_first_name%`", "1-1": "`firstName`", "2-0": "`%contact_last_name%`", "2-1": "`lastName`", "3-0": "`%contact_email%`", "3-1": "`emails[0].value`", "4-0": "`%contact_phone%`", "4-1": "`phones[0].value`", "5-0": "`%contact_address%`", "5-2": "", "6-0": "`%contact_street%`", "6-1": "`addresses[0].street`", "7-1": "`addresses[0].city`", "8-1": "`addresses[0].state`", "9-1": "`addresses[0].code`", "10-1": "`addresses[0].country`", "11-1": "`source`", "7-0": "`%contact_city%`", "8-0": "`%contact_state%`", "9-0": "`%contact_zipcode%`", "10-0": "`%contact_country%`", "11-0": "`%source_name%", "5-1": "Combination of Fields:\n\n```\naddresses[0].street\naddresses[0].city, addresses[0].code\n```" }, "cols": 2, "rows": 12 } [/block] [block:api-header] { "type": "basic", "title": "Inquiry Merge Field Mappings" } [/block] The following merge fields can be obtained with a call to `/v1/events/:personId` [block:parameters] { "data": { "h-0": "Merge field", "h-1": "JSON field", "0-0": "`%inquiry_address%`", "0-1": "`property.street`" }, "cols": 2, "rows": 1 } [/block] The inquiry address merge field is intended to be used as the subject of an email without any surrounding text, it should perform some basic substitutions in case there is no inquiry event for the person: If property.street is empty and %source_name% is not, then: %inquiry_address% is "Your property inquiry from %source_name%" If both property.street is empty and %source_name% are empty, then: %inquiry_address% is "Your property inquiry"
{"__v":0,"_id":"58519781c816e30f002df74e","api":{"results":{"codes":[{"status":200,"language":"json","code":"{}","name":""},{"status":400,"language":"json","code":"{}","name":""}]},"settings":"","auth":"required","params":[],"url":""},"body":"Webhooks post JSON to a specific URL every time an event listed below is triggered. Webhooks remove the need to poll for changes. When an event occurs--for example a person is assigned to a different agent, this event will be sent to your system as an HTTP POST to the webhook URL configured for the `peopleUpdated` event.\n\nExamples of what you might use webhooks for:\n- Update a person's name in your database when it is changed in Follow Up Boss\n- Update a person's email or phone in your database when it is changed in Follow Up Boss\n- Re-assign a person in your system when it is re-assigned in Follow Up Boss\n- When a Zillow lead is added to Follow Up Boss you add it to your IDX search website \n\n# Supported webhook events\n\n## People Created\n`peopleCreated`\nPeople are added to a Follow Up Boss account. \n\nJSON sample of event notification:\n```\n{\n    \"eventId\": \"64d0ad74-3aab-4b30-89c9-7337398cf8b4\",\n    \"eventCreated\": \"2016-12-12T15:19:21+00:00\",\n    \"event\": \"peopleCreated\",\n    \"resourceIds\": [1234,5322,29456],\n    \"uri\": \"https://api.followupboss.com/v1/people?id=1234,5322,29456\"\n}\n```\n\n## People Updated \n`peopleUpdated`\nOne or more of the following fields are updated in a person:\n- Name `name` `firstName` `lastName`\n- Emails `emails`\n- Phone Numbers `phones`\n- Address `addresses`\n- Price `price`\n- Background `background`\n- Assigned Agent `assignedTo` `assignedUserId`\n- Assigned Lender `assignedLenderName` `assignedLenderId`\n- Contacted `contacted`\n- Stage `stage` `stageId`\n- Lead Source `source` `sourceUrl`\n- Tags `tags`\n\nJSON sample of event notification:\n```\n{\n    \"eventId\": \"152d60c0-79da-4018-a9af-28aec8a71c94\",\n    \"eventCreated\": \"2016-12-18T12:01:59+00:00\",\n    \"event\": \"peopleUpdated\",\n    \"resourceIds\": [1234,3422,4343],\n    \"uri\": \"https://api.followupboss.com/v1/people?id=1234,3422,4343\"\n}\n```\n[block:callout]\n{\n  \"type\": \"info\",\n  \"title\": \"Batch Updates\",\n  \"body\": \"The following actions can result in a large number of people updates:\\n\\n- Tags added or removed\\n- Stage updated\\n- Source updated\\n- Agent re-assigned\\n- Lender re-assigned\\n\\nIf one of these actions result in a large number of people being updated, the webhook event notification may be split into multiple requests.\"\n}\n[/block]\n## People Deleted \n`peopleDeleted`\nPeople are deleted from a Follow Up Boss account.\n\nJSON sample of event notification:\n```\n{\n    \n    \"eventId\": \"152d60c0-79da-4018-a9af-28aec8a71c94\",\n    \"eventCreated\": \"2016-12-21T04:22:55+00:00\",\n    \"event\": \"peopleDeleted\",\n    \"resourceIds\": [1234,22113],\n    \"uri\", null\n}\n```\n\n# Registering a webhook\nSend an HTTPS POST to the `/v1/webhooks` endpoint with a JSON object that specifies the event and callback URL.\n\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"POST /v1/webhooks HTTP/1.1\\nContent-Type: application/json\\nX-System: AcmeLeadProvider\\n...\\n{\\n  \\\"event\\\": \\\"peopleCreated\\\",\\n  \\\"url\\\": \\\"https://acmeLeadProvider.com/callbacks/fub/peopleCreated\\\"\\n}\",\n      \"language\": \"http\"\n    }\n  ]\n}\n[/block]\nThe response will be JSON encoded representation of the webhook created.\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"{\\n  \\\"id\\\": 1244,\\n  \\\"status\\\": \\\"Active\\\",\\n  \\\"event\\\": \\\"peopleCreated\\\",\\n  \\\"url\\\": \\\"https://acmeLeadProvider.com/callbacks/fub/peopleCreated\\\"\\n}\",\n      \"language\": \"json\"\n    }\n  ]\n}\n[/block]\n\n[block:callout]\n{\n  \"type\": \"danger\",\n  \"title\": \"HTTPS Only\",\n  \"body\": \"Callback URLs must be a secure endpoint\"\n}\n[/block]\n\n[block:callout]\n{\n  \"type\": \"danger\",\n  \"title\": \"X-System Header is Required\",\n  \"body\": \"The X-System HTTP Header is required for all requests to /v1/webhooks endpoints.\"\n}\n[/block]\nSee [/webhooks](doc:webhooks) for detailed documentation of the `/v1/webhooks` endpoint.\n\n# Receiving webhook events\nCreate an endpoint that accepts HTTP POST requests at the URL specified in the registered webhook. The body of the request will be JSON encoded. To acknowledge the receipt, your endpoint should respond with a `200` HTTP status code. Any other response will indicate that you did not receive the webhook and we will continue to try the endpoint once an hour for up to 3 days. \n\nFor example, the endpoint at `https://acmeleadprovider.com/callbacks/fub/peoplecreated` would receive the following HTTP POST when a person is created in Follow Up Boss:\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"POST /callbacks/fub/peoplecreated HTTP/1.1\\nContent-Type: application/json\\n...\\n{\\n  \\\"eventId\\\": \\\"152d60c0-79da-4018-a9af-28aec8a71c94\\\",\\n  \\\"eventCreated\\\": \\\"2016-12-12T15:19:21+00:00\\\",\\n\\t\\\"event\\\": \\\"peopleCreated\\\",\\n  \\\"resourceIds\\\": [1234,3244,3232],\\n  \\\"uri\\\": \\\"https://api.followupboss.com/v1/people?id=1234,3244,3232\\\"\\n}\",\n      \"language\": \"http\"\n    }\n  ]\n}\n[/block]\n# Handling webhook events\nThe endpoint that handles events should do an HTTP GET to the resource URI specified in the event. Then compare the response to the local database and apply changes that are found. The response format for the people endpoint can be found at [/people](doc:people)\n\nSee the code samples below for handling webhook events:\n\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"<?php\\nconst FUB_API_KEY = 'API Key for an Admin user in the Follow Up Boss Account';\\n\\n// Retrieve the request's body and parse it as JSON\\n$input = @file_get_contents(\\\"php://input\\\");\\n$event_json = json_decode($input);\\n\\n$event = $event_json->{'event'};\\n$resource_uri = $event_json->{'uri'};\\n\\n// for peopleCreated and peopleUpdated events fetch the people\\n// at the resource URI\\n\\n$curl = curl_init($resource_uri);\\n\\n$headers = array(\\n    'Authorization: Basic '. base64_encode(FUB_API_KEY . \\\":\\\")\\n);\\n\\ncurl_setopt($curl, CURLOPT_HTTPHEADER, $headers);\\ncurl_setopt($curl, CURLOPT_RETURNTRANSFER, true);\\n\\n$result = curl_exec($curl);\\ncurl_close($curl);\\n\\n$remote_records = json_decode($result);\\n\\n// Compare the remote record with your local record\\n\\nhttp_response_code(200); // PHP 5.4 or greater\\n\\necho('OK');\",\n      \"language\": \"php\"\n    }\n  ]\n}\n[/block]\n# Requesting webhook events\nIndividual webhook events can be requested from [/webhookEvents/:id](doc:webhookeventsuuid) . This can useful if your system was unavailable to receive events for some reason and there are events older than 3 days that were missed. \n[block:callout]\n{\n  \"type\": \"warning\",\n  \"title\": \"Webhook Event Retries\",\n  \"body\": \"If your system is unavailable or responds with an HTTP status code other than `200` FUB will retry every hour for up to 3 days.\"\n}\n[/block]\n# Webhook best practices\nSetup your system to de-couple receiving webhook events from fetching the resource specified in the event. For example--the web service that receives events could record the event in a local database table. A separate backend process could be created to monitor this table for new rows and fetch the resource specified in the event. By separating these, the web service that handles receiving webhooks is doing less and is, therefore less likely to fail. The process that processes the events can contain all the complex logic to fetch the resource from Follow Up Boss, reconcile with your local system and mark the event as processed in the table. If this process fails or breaks it can be debugged independently of the web service. The table that stores events is the source of truth as to what webhook events have been received and processed. \n\n# Debugging webhooks\nSince webhooks require a publicly accessible URL to function they can be hard to test from your local machine. It is recommended that you use a service like [RequestBin](https://requestb.in/) when you are developing your webhook endpoints.\n\n# Common webhook mistakes\n* Make sure you provide the correct URL when registering a webhook. You can list all your webhooks at the [/webhooks](doc:webhooks) endpoint.\n* Make sure the webhook endpoint is returning HTTP status code `200`\n* When registering a webhook make sure you are setting the `X-System` header. You can also include the system param in the query string or post data. For example: `https://api.followupboss.com/v1/webhooks/32?system=AcmeCo`\n* If you are setting up webhooks for multiple Follow Up Boss accounts be sure to include a Follow Up Boss account identifier in the registered webhook URLs. Your webhook URLs should look like this: `https://acmeLeadProvider.com/callbacks/fub/account12/peopleCreated` or `https://acmeLeadProvider.com/callbacks/fub/peopleCreated?fub_account=12`","category":"55f0d413f3949a1700ce2c09","createdAt":"2016-12-14T19:03:29.649Z","excerpt":"Use webhooks to be notified about events that happen in a Follow Up Boss account.","githubsync":"","hidden":false,"isReference":true,"link_external":false,"link_url":"","next":{"pages":[],"description":""},"order":8,"parentDoc":null,"project":"55f0d412f3949a1700ce2c05","slug":"webhooks-2","sync_unique":"","title":"Webhooks","type":"basic","updates":[],"user":"58417e17b629181b00ea2bda","version":"55f0d412f3949a1700ce2c08","childrenPages":[]}

Webhooks

Use webhooks to be notified about events that happen in a Follow Up Boss account.

Webhooks post JSON to a specific URL every time an event listed below is triggered. Webhooks remove the need to poll for changes. When an event occurs--for example a person is assigned to a different agent, this event will be sent to your system as an HTTP POST to the webhook URL configured for the `peopleUpdated` event. Examples of what you might use webhooks for: - Update a person's name in your database when it is changed in Follow Up Boss - Update a person's email or phone in your database when it is changed in Follow Up Boss - Re-assign a person in your system when it is re-assigned in Follow Up Boss - When a Zillow lead is added to Follow Up Boss you add it to your IDX search website # Supported webhook events ## People Created `peopleCreated` People are added to a Follow Up Boss account. JSON sample of event notification: ``` { "eventId": "64d0ad74-3aab-4b30-89c9-7337398cf8b4", "eventCreated": "2016-12-12T15:19:21+00:00", "event": "peopleCreated", "resourceIds": [1234,5322,29456], "uri": "https://api.followupboss.com/v1/people?id=1234,5322,29456" } ``` ## People Updated `peopleUpdated` One or more of the following fields are updated in a person: - Name `name` `firstName` `lastName` - Emails `emails` - Phone Numbers `phones` - Address `addresses` - Price `price` - Background `background` - Assigned Agent `assignedTo` `assignedUserId` - Assigned Lender `assignedLenderName` `assignedLenderId` - Contacted `contacted` - Stage `stage` `stageId` - Lead Source `source` `sourceUrl` - Tags `tags` JSON sample of event notification: ``` { "eventId": "152d60c0-79da-4018-a9af-28aec8a71c94", "eventCreated": "2016-12-18T12:01:59+00:00", "event": "peopleUpdated", "resourceIds": [1234,3422,4343], "uri": "https://api.followupboss.com/v1/people?id=1234,3422,4343" } ``` [block:callout] { "type": "info", "title": "Batch Updates", "body": "The following actions can result in a large number of people updates:\n\n- Tags added or removed\n- Stage updated\n- Source updated\n- Agent re-assigned\n- Lender re-assigned\n\nIf one of these actions result in a large number of people being updated, the webhook event notification may be split into multiple requests." } [/block] ## People Deleted `peopleDeleted` People are deleted from a Follow Up Boss account. JSON sample of event notification: ``` { "eventId": "152d60c0-79da-4018-a9af-28aec8a71c94", "eventCreated": "2016-12-21T04:22:55+00:00", "event": "peopleDeleted", "resourceIds": [1234,22113], "uri", null } ``` # Registering a webhook Send an HTTPS POST to the `/v1/webhooks` endpoint with a JSON object that specifies the event and callback URL. [block:code] { "codes": [ { "code": "POST /v1/webhooks HTTP/1.1\nContent-Type: application/json\nX-System: AcmeLeadProvider\n...\n{\n \"event\": \"peopleCreated\",\n \"url\": \"https://acmeLeadProvider.com/callbacks/fub/peopleCreated\"\n}", "language": "http" } ] } [/block] The response will be JSON encoded representation of the webhook created. [block:code] { "codes": [ { "code": "{\n \"id\": 1244,\n \"status\": \"Active\",\n \"event\": \"peopleCreated\",\n \"url\": \"https://acmeLeadProvider.com/callbacks/fub/peopleCreated\"\n}", "language": "json" } ] } [/block] [block:callout] { "type": "danger", "title": "HTTPS Only", "body": "Callback URLs must be a secure endpoint" } [/block] [block:callout] { "type": "danger", "title": "X-System Header is Required", "body": "The X-System HTTP Header is required for all requests to /v1/webhooks endpoints." } [/block] See [/webhooks](doc:webhooks) for detailed documentation of the `/v1/webhooks` endpoint. # Receiving webhook events Create an endpoint that accepts HTTP POST requests at the URL specified in the registered webhook. The body of the request will be JSON encoded. To acknowledge the receipt, your endpoint should respond with a `200` HTTP status code. Any other response will indicate that you did not receive the webhook and we will continue to try the endpoint once an hour for up to 3 days. For example, the endpoint at `https://acmeleadprovider.com/callbacks/fub/peoplecreated` would receive the following HTTP POST when a person is created in Follow Up Boss: [block:code] { "codes": [ { "code": "POST /callbacks/fub/peoplecreated HTTP/1.1\nContent-Type: application/json\n...\n{\n \"eventId\": \"152d60c0-79da-4018-a9af-28aec8a71c94\",\n \"eventCreated\": \"2016-12-12T15:19:21+00:00\",\n\t\"event\": \"peopleCreated\",\n \"resourceIds\": [1234,3244,3232],\n \"uri\": \"https://api.followupboss.com/v1/people?id=1234,3244,3232\"\n}", "language": "http" } ] } [/block] # Handling webhook events The endpoint that handles events should do an HTTP GET to the resource URI specified in the event. Then compare the response to the local database and apply changes that are found. The response format for the people endpoint can be found at [/people](doc:people) See the code samples below for handling webhook events: [block:code] { "codes": [ { "code": "<?php\nconst FUB_API_KEY = 'API Key for an Admin user in the Follow Up Boss Account';\n\n// Retrieve the request's body and parse it as JSON\n$input = @file_get_contents(\"php://input\");\n$event_json = json_decode($input);\n\n$event = $event_json->{'event'};\n$resource_uri = $event_json->{'uri'};\n\n// for peopleCreated and peopleUpdated events fetch the people\n// at the resource URI\n\n$curl = curl_init($resource_uri);\n\n$headers = array(\n 'Authorization: Basic '. base64_encode(FUB_API_KEY . \":\")\n);\n\ncurl_setopt($curl, CURLOPT_HTTPHEADER, $headers);\ncurl_setopt($curl, CURLOPT_RETURNTRANSFER, true);\n\n$result = curl_exec($curl);\ncurl_close($curl);\n\n$remote_records = json_decode($result);\n\n// Compare the remote record with your local record\n\nhttp_response_code(200); // PHP 5.4 or greater\n\necho('OK');", "language": "php" } ] } [/block] # Requesting webhook events Individual webhook events can be requested from [/webhookEvents/:id](doc:webhookeventsuuid) . This can useful if your system was unavailable to receive events for some reason and there are events older than 3 days that were missed. [block:callout] { "type": "warning", "title": "Webhook Event Retries", "body": "If your system is unavailable or responds with an HTTP status code other than `200` FUB will retry every hour for up to 3 days." } [/block] # Webhook best practices Setup your system to de-couple receiving webhook events from fetching the resource specified in the event. For example--the web service that receives events could record the event in a local database table. A separate backend process could be created to monitor this table for new rows and fetch the resource specified in the event. By separating these, the web service that handles receiving webhooks is doing less and is, therefore less likely to fail. The process that processes the events can contain all the complex logic to fetch the resource from Follow Up Boss, reconcile with your local system and mark the event as processed in the table. If this process fails or breaks it can be debugged independently of the web service. The table that stores events is the source of truth as to what webhook events have been received and processed. # Debugging webhooks Since webhooks require a publicly accessible URL to function they can be hard to test from your local machine. It is recommended that you use a service like [RequestBin](https://requestb.in/) when you are developing your webhook endpoints. # Common webhook mistakes * Make sure you provide the correct URL when registering a webhook. You can list all your webhooks at the [/webhooks](doc:webhooks) endpoint. * Make sure the webhook endpoint is returning HTTP status code `200` * When registering a webhook make sure you are setting the `X-System` header. You can also include the system param in the query string or post data. For example: `https://api.followupboss.com/v1/webhooks/32?system=AcmeCo` * If you are setting up webhooks for multiple Follow Up Boss accounts be sure to include a Follow Up Boss account identifier in the registered webhook URLs. Your webhook URLs should look like this: `https://acmeLeadProvider.com/callbacks/fub/account12/peopleCreated` or `https://acmeLeadProvider.com/callbacks/fub/peopleCreated?fub_account=12`
Webhooks post JSON to a specific URL every time an event listed below is triggered. Webhooks remove the need to poll for changes. When an event occurs--for example a person is assigned to a different agent, this event will be sent to your system as an HTTP POST to the webhook URL configured for the `peopleUpdated` event. Examples of what you might use webhooks for: - Update a person's name in your database when it is changed in Follow Up Boss - Update a person's email or phone in your database when it is changed in Follow Up Boss - Re-assign a person in your system when it is re-assigned in Follow Up Boss - When a Zillow lead is added to Follow Up Boss you add it to your IDX search website # Supported webhook events ## People Created `peopleCreated` People are added to a Follow Up Boss account. JSON sample of event notification: ``` { "eventId": "64d0ad74-3aab-4b30-89c9-7337398cf8b4", "eventCreated": "2016-12-12T15:19:21+00:00", "event": "peopleCreated", "resourceIds": [1234,5322,29456], "uri": "https://api.followupboss.com/v1/people?id=1234,5322,29456" } ``` ## People Updated `peopleUpdated` One or more of the following fields are updated in a person: - Name `name` `firstName` `lastName` - Emails `emails` - Phone Numbers `phones` - Address `addresses` - Price `price` - Background `background` - Assigned Agent `assignedTo` `assignedUserId` - Assigned Lender `assignedLenderName` `assignedLenderId` - Contacted `contacted` - Stage `stage` `stageId` - Lead Source `source` `sourceUrl` - Tags `tags` JSON sample of event notification: ``` { "eventId": "152d60c0-79da-4018-a9af-28aec8a71c94", "eventCreated": "2016-12-18T12:01:59+00:00", "event": "peopleUpdated", "resourceIds": [1234,3422,4343], "uri": "https://api.followupboss.com/v1/people?id=1234,3422,4343" } ``` [block:callout] { "type": "info", "title": "Batch Updates", "body": "The following actions can result in a large number of people updates:\n\n- Tags added or removed\n- Stage updated\n- Source updated\n- Agent re-assigned\n- Lender re-assigned\n\nIf one of these actions result in a large number of people being updated, the webhook event notification may be split into multiple requests." } [/block] ## People Deleted `peopleDeleted` People are deleted from a Follow Up Boss account. JSON sample of event notification: ``` { "eventId": "152d60c0-79da-4018-a9af-28aec8a71c94", "eventCreated": "2016-12-21T04:22:55+00:00", "event": "peopleDeleted", "resourceIds": [1234,22113], "uri", null } ``` # Registering a webhook Send an HTTPS POST to the `/v1/webhooks` endpoint with a JSON object that specifies the event and callback URL. [block:code] { "codes": [ { "code": "POST /v1/webhooks HTTP/1.1\nContent-Type: application/json\nX-System: AcmeLeadProvider\n...\n{\n \"event\": \"peopleCreated\",\n \"url\": \"https://acmeLeadProvider.com/callbacks/fub/peopleCreated\"\n}", "language": "http" } ] } [/block] The response will be JSON encoded representation of the webhook created. [block:code] { "codes": [ { "code": "{\n \"id\": 1244,\n \"status\": \"Active\",\n \"event\": \"peopleCreated\",\n \"url\": \"https://acmeLeadProvider.com/callbacks/fub/peopleCreated\"\n}", "language": "json" } ] } [/block] [block:callout] { "type": "danger", "title": "HTTPS Only", "body": "Callback URLs must be a secure endpoint" } [/block] [block:callout] { "type": "danger", "title": "X-System Header is Required", "body": "The X-System HTTP Header is required for all requests to /v1/webhooks endpoints." } [/block] See [/webhooks](doc:webhooks) for detailed documentation of the `/v1/webhooks` endpoint. # Receiving webhook events Create an endpoint that accepts HTTP POST requests at the URL specified in the registered webhook. The body of the request will be JSON encoded. To acknowledge the receipt, your endpoint should respond with a `200` HTTP status code. Any other response will indicate that you did not receive the webhook and we will continue to try the endpoint once an hour for up to 3 days. For example, the endpoint at `https://acmeleadprovider.com/callbacks/fub/peoplecreated` would receive the following HTTP POST when a person is created in Follow Up Boss: [block:code] { "codes": [ { "code": "POST /callbacks/fub/peoplecreated HTTP/1.1\nContent-Type: application/json\n...\n{\n \"eventId\": \"152d60c0-79da-4018-a9af-28aec8a71c94\",\n \"eventCreated\": \"2016-12-12T15:19:21+00:00\",\n\t\"event\": \"peopleCreated\",\n \"resourceIds\": [1234,3244,3232],\n \"uri\": \"https://api.followupboss.com/v1/people?id=1234,3244,3232\"\n}", "language": "http" } ] } [/block] # Handling webhook events The endpoint that handles events should do an HTTP GET to the resource URI specified in the event. Then compare the response to the local database and apply changes that are found. The response format for the people endpoint can be found at [/people](doc:people) See the code samples below for handling webhook events: [block:code] { "codes": [ { "code": "<?php\nconst FUB_API_KEY = 'API Key for an Admin user in the Follow Up Boss Account';\n\n// Retrieve the request's body and parse it as JSON\n$input = @file_get_contents(\"php://input\");\n$event_json = json_decode($input);\n\n$event = $event_json->{'event'};\n$resource_uri = $event_json->{'uri'};\n\n// for peopleCreated and peopleUpdated events fetch the people\n// at the resource URI\n\n$curl = curl_init($resource_uri);\n\n$headers = array(\n 'Authorization: Basic '. base64_encode(FUB_API_KEY . \":\")\n);\n\ncurl_setopt($curl, CURLOPT_HTTPHEADER, $headers);\ncurl_setopt($curl, CURLOPT_RETURNTRANSFER, true);\n\n$result = curl_exec($curl);\ncurl_close($curl);\n\n$remote_records = json_decode($result);\n\n// Compare the remote record with your local record\n\nhttp_response_code(200); // PHP 5.4 or greater\n\necho('OK');", "language": "php" } ] } [/block] # Requesting webhook events Individual webhook events can be requested from [/webhookEvents/:id](doc:webhookeventsuuid) . This can useful if your system was unavailable to receive events for some reason and there are events older than 3 days that were missed. [block:callout] { "type": "warning", "title": "Webhook Event Retries", "body": "If your system is unavailable or responds with an HTTP status code other than `200` FUB will retry every hour for up to 3 days." } [/block] # Webhook best practices Setup your system to de-couple receiving webhook events from fetching the resource specified in the event. For example--the web service that receives events could record the event in a local database table. A separate backend process could be created to monitor this table for new rows and fetch the resource specified in the event. By separating these, the web service that handles receiving webhooks is doing less and is, therefore less likely to fail. The process that processes the events can contain all the complex logic to fetch the resource from Follow Up Boss, reconcile with your local system and mark the event as processed in the table. If this process fails or breaks it can be debugged independently of the web service. The table that stores events is the source of truth as to what webhook events have been received and processed. # Debugging webhooks Since webhooks require a publicly accessible URL to function they can be hard to test from your local machine. It is recommended that you use a service like [RequestBin](https://requestb.in/) when you are developing your webhook endpoints. # Common webhook mistakes * Make sure you provide the correct URL when registering a webhook. You can list all your webhooks at the [/webhooks](doc:webhooks) endpoint. * Make sure the webhook endpoint is returning HTTP status code `200` * When registering a webhook make sure you are setting the `X-System` header. You can also include the system param in the query string or post data. For example: `https://api.followupboss.com/v1/webhooks/32?system=AcmeCo` * If you are setting up webhooks for multiple Follow Up Boss accounts be sure to include a Follow Up Boss account identifier in the registered webhook URLs. Your webhook URLs should look like this: `https://acmeLeadProvider.com/callbacks/fub/account12/peopleCreated` or `https://acmeLeadProvider.com/callbacks/fub/peopleCreated?fub_account=12`
{"__v":2,"_id":"583f5af463aa7a0f00be0092","api":{"auth":"required","examples":{"codes":[]},"params":[{"_id":"583f5af463aa7a0f00be0093","default":"10","desc":"Number of results to return. Max 100.","in":"query","name":"limit","ref":"","required":false,"type":"int"},{"_id":"583f5af463aa7a0f00be0094","ref":"","in":"query","required":false,"desc":"Specifies the number of rows to skip, before starting to return results.","default":"0","type":"int","name":"offset"},{"_id":"583f5cdfc458930f0083d5a6","ref":"","in":"query","required":false,"desc":"Find all events related to a person","default":"","type":"int","name":"personId"},{"_id":"583f5cdfc458930f0083d5a5","ref":"","in":"query","required":false,"desc":"Comma separated list of one or more of the following: \"Registration\", \"Inquiry\", \"Seller Inquiry\", \"Property Inquiry\", \"General Inquiry\", \"Viewed Property\", \"Saved Property\", \"Visited Website\", \"Incoming Call\", \"Unsubscribed\", \"Property Search\", \"Saved Property Search\", \"Visited Open House\" or \"Viewed Page\"","default":"","type":"string","name":"type"}],"results":{"codes":[{"status":200,"language":"json","code":"{\n  \"_metadata\": {\n    \"collection\": \"events\",\n    \"offset\": 0,\n    \"limit\": 10,\n    \"total\": 1000\n  },\n  \"events\": [\n    {\n      \"id\": 132,\n      \"created\": \"2014-05-05T19:38:27Z\",\n      \"updated\": \"2014-05-05T19:38:27Z\",\n      \"personId\": 12264,\n      \"message\": \"I am interested in 6825 Mulholland Dr, ...\",\n      \"description\": \"Move-in: 12/28/2013\",\n      \"noteId\": 32,\n      \"source\": \"Zillow\",\n      \"type\": \"Property Inquiry\",\n      \"property\": {\n        \"street\": \"6825 Mulholland Dr\",\n        \"city\": \"Los Angeles\",\n        \"state\": \"CA\",\n        \"code\": \"90068\",\n        \"mlsNumber\": \"14729339\",\n        \"price\": \"310000\",\n        \"forRent\": \"0\",\n        \"url\": \"http://www.zillow.com/homedetails/6825-Mulholland-Dr-Los-Angeles-CA-90068/2109065822_zpid/\",\n        \"type\": \"Residential\",\n        \"bedrooms\": \"0\",\n        \"bathrooms\": null,\n        \"area\": null,\n        \"lot\": null\n      },\n      \"pageTitle\": null,\n      \"pageUrl\": null,\n      \"pageDuration\": 0\n    },\n    ...\n  ]\n}","name":""},{"status":400,"language":"json","code":"{}","name":""}]},"settings":"","url":"/events"},"body":"","category":"584194b848904a1000051699","createdAt":"2016-11-30T23:04:20.165Z","excerpt":"Search for events","githubsync":"","hidden":false,"isReference":true,"link_external":false,"link_url":"","next":{"pages":[],"description":""},"order":0,"parentDoc":null,"project":"55f0d412f3949a1700ce2c05","slug":"events-get","sync_unique":"","title":"/events","type":"get","updates":[],"user":"57d5af6965a96a170037d0f1","version":"55f0d412f3949a1700ce2c08","childrenPages":[]}

get/events

Search for events

Query Params

limit:
integer10
Number of results to return. Max 100.
offset:
integer0
Specifies the number of rows to skip, before starting to return results.
personId:
integer
Find all events related to a person
type:
string
Comma separated list of one or more of the following: "Registration", "Inquiry", "Seller Inquiry", "Property Inquiry", "General Inquiry", "Viewed Property", "Saved Property", "Visited Website", "Incoming Call", "Unsubscribed", "Property Search", "Saved Property Search", "Visited Open House" or "Viewed Page"

User Information

Try It Out

get
{{ tryResults.results }}
Method{{ tryResults.method }}
Request Headers
{{ tryResults.requestHeaders }}
URL{{ tryResults.url }}
Request Data
{{ tryResults.data }}
Status
Response Headers
{{ tryResults.responseHeaders }}

Definition

{{ api_url }}{{ page_api_url }}

Result Format



{"__v":5,"_id":"57d29c309f58460e007bb7b2","api":{"auth":"required","examples":{"codes":[{"name":"JSON Example 1","language":"json","code":"{\n    \"source\": \"MyAwesomeWebsite.com\",\n    \"system\": \"AwesomeSiteBuilder\",\n    \"type\": \"General Inquiry\",\n    \"message\": \"Looking for a house under $500k in the East Boston area\",\n    \"person\": {\n        \"firstName\": \"John\",\n        \"lastName\": \"Smith\",\n        \"emails\": [{\"value\": \"john@gmail.com\"}],\n        \"phones\": [{\"value\": \"555-555-5555\"}]\n    }\n}"},{"name":"Example 2","language":"json","code":"{\n  \"source\": \"Zillow\",\n  \"system\": \"Zillow\",\n  \"type\": \"Property Inquiry\",\n  \"message\": \"I am interested in 6825 Mulholland Dr, ...\",\n  \"description\": \"Move-in: 12/28/2013\",\n  \"person\": {\n    \"firstName\": \"Melissa \",\n    \"lastName\": \"Hartman\",\n    \"emails\": [ { \"value\": \"m.hartman@example.com\", \"type\": \"home\" } ],\n    \"phones\": [ { \"value\": \"(555) 555-1234\", \"type\": \"home\" } ],\n    \"tags\": [ \"Lease option\" ],\n    \"sourceUrl\": \"http://click.email.zillow.com/?qs=1e120cec11e3\"\n  },\n  \"property\": {\n    \"street\": \"6825 Mulholland Dr\",\n    \"city\": \"Los Angeles\",\n    \"state\": \"CA\",\n    \"code\": \"90068\",\n    \"mlsNumber\": \"14729339\",\n    \"price\": \"310000\",\n    \"forRent\": \"0\",\n    \"url\": \"http://www.zillow.com/homedetails/6825-Mulholland-Dr-Los-Angeles-CA-90068/2109065822_zpid/\",\n    \"type\": \"Residential\"\n  },\n  \"propertySearch\": {\n    \"type\": \"Lot\",\n    \"neighborhood\": \"Cahuenga Pass\",\n    \"city\": \"Los Angeles\",\n    \"state\": \"CA\",\n    \"code\": \"90068\",\n    \"minPrice\": 100000,\n    \"maxPrice\": 500000\n  },\n  \"campaign\": {\n    \"source\": \"google\",\n    \"medium\": \"organic\",\n    \"term\": \"Cahuenga Pass land\",\n    \"content\": \"\",\n    \"campaign\": \"\"\n  }\n}"}]},"params":[{"_id":"57ffc1ccc79e7a2400e5fa55","ref":"","in":"body","required":false,"desc":"The name of the lead source","default":"","type":"string","name":"source"},{"_id":"57ffc1ccc79e7a2400e5fa54","ref":"","in":"body","required":false,"desc":"The name of the system used in providing leads.","default":"","type":"string","name":"system"},{"_id":"57ffc1ccc79e7a2400e5fa53","default":"","desc":"The type of event. Currently one of `Registration`, `Inquiry`, `Seller Inquiry`, `Property Inquiry`, `General Inquiry`, `Viewed Property`, `Saved Property`, `Visited Website`, `Incoming Call`, `Unsubscribed`, `Property Search`, `Saved Property Search`, `Visited Open House` or `Viewed Page`","in":"body","name":"type","ref":"","required":false,"type":"string"},{"_id":"57ffc1ccc79e7a2400e5fa52","ref":"","in":"body","required":false,"desc":"A message from the user about this inquiry","default":"","type":"string","name":"message"},{"_id":"57d29f94ebdd0f170048c16f","ref":"","in":"body","required":false,"desc":"Information about the lead who triggered this event. Follow Up Boss will automatically de-duplicate people based on their phone number or email address.","default":"","type":"object","name":"person"},{"_id":"57ffc7388e087d0e000304a8","ref":"","in":"body","required":false,"desc":"The first/given name of the contact","default":"","type":"string","name":"person.firstName"},{"_id":"57ffc7388e087d0e000304a7","ref":"","in":"body","required":false,"desc":"The last/family name of the contact","default":"","type":"string","name":"person.lastName"},{"_id":"57ffc7388e087d0e000304a6","default":"","desc":"The stage of the contact. Example `Lead` or `Trash`. See stages API endpoint for more options.","in":"body","name":"person.stage","ref":"","required":false,"type":"string"},{"_id":"57ffc7388e087d0e000304a5","ref":"","in":"body","required":false,"desc":"The source of the lead.","default":"","type":"string","name":"person.source"},{"_id":"57ffc7388e087d0e000304a4","ref":"","in":"body","required":false,"desc":"This is a direct link to the information about a contact at the lead provider.","default":"","type":"string","name":"person.sourceUrl"},{"_id":"57ffc7388e087d0e000304a3","ref":"","in":"body","required":false,"desc":"Whether the person has been contacted.","default":"false","type":"boolean","name":"person.contacted"},{"_id":"57ffc7388e087d0e000304a2","ref":"","in":"body","required":false,"desc":"The estimated sell/buy price for this contact","default":"","type":"int","name":"person.price"},{"_id":"57ffc7388e087d0e000304a1","ref":"","in":"body","required":false,"desc":"Full name of the agent to assign to this contact","default":"","type":"string","name":"person.assignedTo"},{"_id":"57ffc7388e087d0e000304a0","ref":"","in":"body","required":false,"desc":"Full name of the lender to assign to this contact","default":"","type":"string","name":"person.assignedLenderName"},{"_id":"57ffc7388e087d0e0003049f","ref":"","in":"body","required":false,"desc":"A list of email addresses associated with the contact:","default":"","type":"array_object","name":"person.emails"},{"_id":"57ffc7388e087d0e0003049e","ref":"","in":"body","required":false,"desc":"An email address","default":"","type":"string","name":"person.emails[n].value"},{"_id":"57ffc7388e087d0e0003049d","default":"","desc":"The email address type. Example `home`, `work` or `other`","in":"body","name":"person.emails[n].type","ref":"","required":false,"type":"string"},{"_id":"57ffc7388e087d0e0003049c","ref":"","in":"body","required":false,"desc":"Whether the email address is the primary address for the contact","default":"","type":"boolean","name":"person.emails[n].isPrimary"},{"_id":"57ffc7388e087d0e0003049b","ref":"","in":"body","required":false,"desc":"A list of phone numbers associated with the contact:","default":"","type":"array_object","name":"person.phones"},{"_id":"57ffc7388e087d0e0003049a","ref":"","in":"body","required":false,"desc":"A phone number","default":"","type":"string","name":"person.phones[n].value"},{"_id":"57ffc7388e087d0e00030499","default":"","desc":"The phone number type. Example `home`, `work`, `mobile`, `fax` or `other`.","in":"body","name":"person.phones[n].type","ref":"","required":false,"type":"string"},{"_id":"57ffc7388e087d0e00030498","ref":"","in":"body","required":false,"desc":"A list of addresses associated with the contact (this is the address where this person can be contacted, it is not the address of a property this person may be interested in selling or buying).","default":"","type":"array_object","name":"person.addresses"},{"_id":"57ffc7388e087d0e00030497","default":"","desc":"The address type. Example `home`, `work`, `mailing` or `investment`","in":"body","name":"person.addresses[n].type","ref":"","required":false,"type":"string"},{"_id":"57ffc7388e087d0e00030496","default":"","desc":"Street address. Example `3595 South Higuera St, Suite B`","in":"body","name":"person.addresses[n].street","ref":"","required":false,"type":"string"},{"_id":"57ffc7388e087d0e00030495","default":"","desc":"City name.","in":"body","name":"person.addresses[n].city","ref":"","required":false,"type":"string"},{"_id":"57ffc7388e087d0e00030494","default":"","desc":"Abbreviated state code. Example `CA`","in":"body","name":"person.addresses[n].state","ref":"","required":false,"type":"string"},{"_id":"57ffc7388e087d0e00030493","default":"","desc":"Zipcode as a string. Example `90210`","in":"body","name":"person.addresses[n].code","ref":"","required":false,"type":"string"},{"_id":"57ffc7388e087d0e00030492","default":"","desc":"Country as a string. Example `United States`","in":"body","name":"person.addresses[n].country","ref":"","required":false,"type":"string"},{"_id":"57ffc7388e087d0e00030491","ref":"","in":"body","required":false,"desc":"A list of tags applied to the contact","default":"","type":"array_string","name":"person.tags"},{"_id":"57ffc7388e087d0e00030490","ref":"","in":"body","required":false,"desc":"Information about the property this event is related to","default":"","type":"object","name":"property"},{"_id":"57ffc7388e087d0e0003048f","default":"","desc":"Street address. Example `3595 South Higuera St, Suite B`","in":"body","name":"property.street","ref":"","required":false,"type":"string"},{"_id":"57ffc7388e087d0e0003048e","default":"","desc":"City name","in":"body","name":"property.city","ref":"","required":false,"type":"string"},{"_id":"57ffc7388e087d0e0003048d","default":"","desc":"Abbreviated state code. Example `CA`","in":"body","name":"property.state","ref":"","required":false,"type":"string"},{"_id":"57ffc7388e087d0e0003048c","default":"","desc":"Zipcode as a string. Example `90210`","in":"body","name":"property.code","ref":"","required":false,"type":"string"},{"_id":"57ffc7388e087d0e0003048b","ref":"","in":"body","required":false,"desc":"MLS Number for the property","default":"","type":"string","name":"property.mlsNumber"},{"_id":"57ffc7388e087d0e0003048a","ref":"","in":"body","required":false,"desc":"The asking price or price estimate for the property","default":"","type":"int","name":"property.price"},{"_id":"57ffc7388e087d0e00030489","ref":"","in":"body","required":false,"desc":"Whether this property is for rent","default":"","type":"boolean","name":"property.forRent"},{"_id":"57ffc7388e087d0e00030488","ref":"","in":"body","required":false,"desc":"A URL for the property provided by the lead source","default":"","type":"string","name":"property.url"},{"_id":"57ffc7388e087d0e00030487","ref":"","in":"body","required":false,"desc":"A freeform description of property type (e.g. \"Bungalow\" or \"Apartment\")","default":"","type":"string","name":"property.type"},{"_id":"57ffc7388e087d0e00030486","ref":"","in":"body","required":false,"desc":"The number of bedrooms","default":"","type":"string","name":"property.bedrooms"},{"_id":"57ffc7388e087d0e00030485","ref":"","in":"body","required":false,"desc":"The number of bathrooms","default":"","type":"string","name":"property.bathrooms"},{"_id":"57ffc7388e087d0e00030484","default":"","desc":"Area of the property in sqft.","in":"body","name":"property.area","ref":"","required":false,"type":"string"},{"_id":"57ffc7388e087d0e00030483","default":"","desc":"Area of the lot/land in acres.","in":"body","name":"property.lot","ref":"","required":false,"type":"string"},{"_id":"57ffc7388e087d0e00030482","ref":"","in":"body","required":false,"desc":"If this event was an inquiry you may have information about what the contact was searching for, you can submit this information using this field","default":"","type":"object","name":"propertySearch"},{"_id":"57ffc7388e087d0e00030481","default":"","desc":"The type of property the contact was searching for. Example `Residential`, `Lot`, `Apartment`, etc...","in":"body","name":"propertySearch.type","ref":"","required":false,"type":"string"},{"_id":"57ffc7388e087d0e00030480","ref":"","in":"body","required":false,"desc":"The contact was looking for properties in this neighborhood","default":"","type":"string","name":"propertySearch.neighborhood"},{"_id":"57ffc7388e087d0e0003047f","ref":"","in":"body","required":false,"desc":"The contact was looking for properties in this city","default":"","type":"string","name":"propertySearch.city"},{"_id":"57ffc7388e087d0e0003047e","ref":"","in":"body","required":false,"desc":"The contact was looking for properties in this state","default":"","type":"string","name":"propertySearch.state"},{"_id":"57ffc7388e087d0e0003047d","ref":"","in":"body","required":false,"desc":"The contact was looking for properties in this zipcode","default":"","type":"string","name":"propertySearch.code"},{"_id":"57ffc7388e087d0e0003047c","ref":"","in":"body","required":false,"desc":"The contact was looking for properties this price range","default":"","type":"int","name":"propertySearch.minPrice"},{"_id":"57ffc7388e087d0e0003047b","ref":"","in":"body","required":false,"desc":"The contact was looking for properties this price range","default":"","type":"int","name":"propertySearch.maxPrice"},{"_id":"57ffc7388e087d0e0003047a","default":"","desc":"The name of the source where the contact originated. Example, if the lead came to your site through an organic search on `www.google.com` the source is `google`.","in":"body","name":"campaign","ref":"","required":false,"type":"object"},{"_id":"57ffc7388e087d0e00030479","ref":"","in":"body","required":false,"desc":"The medium of the campaign, e.g. for an organic search the medium is \"organic\".","default":"","type":"string","name":"campaign.medium"},{"_id":"57ffc7388e087d0e00030478","ref":"","in":"body","required":false,"desc":"The search terms entered by the contact","default":"","type":"string","name":"campaign.term"},{"_id":"57ffc7388e087d0e00030477","ref":"","in":"body","required":false,"desc":"The content of the campaign","default":"","type":"string","name":"campaign.content"},{"_id":"57ffc7388e087d0e00030476","ref":"","in":"body","required":false,"desc":"The name or identifier for this campaign","default":"","type":"string","name":"campaign.campaign"},{"_id":"57ffc7388e087d0e00030475","default":"","desc":"This field is to be used with the `Viewed Page` event type and indicates the title of the page viewed. Example `Contact Us`","in":"body","name":"pageTitle","ref":"","required":false,"type":"string"},{"_id":"57ffc7388e087d0e00030474","default":"","desc":"This field is to be used with the `Viewed Page` event type and indicates the url of the page viewed. Example `http://www.cltrealestate.com/contactus`","in":"body","name":"pageUrl","ref":"","required":false,"type":"string"},{"_id":"57ffc7388e087d0e00030473","default":"","desc":"This field is to be used with the `Viewed Page` event type and indicates the duration of the visitor on the page viewed given in seconds.","in":"body","name":"pageDuration","ref":"","required":false,"type":"int"}],"results":{"codes":[{"status":200,"language":"json","code":"{}","name":""}]},"settings":"","url":"/events"},"body":"You can notify Follow Up Boss when certain events occur on your website or system, for example user fills out a registration form on an IDX website, sends an inquiry about a property or submits Contact Us form. **This is the only correct way to send leads and their activity to Follow Up Boss from an IDX website, real estate portal, your custom website or any other lead source**.\n\n**New leads created by POST /v1/events will only trigger action plans if they are of the following types: \"Registration\", \"Seller Inquiry\", \"Property Inquiry\", \"General Inquiry\" \"Visited Open House\"**","category":"584194b848904a1000051699","createdAt":"2016-09-09T11:25:36.462Z","excerpt":"Send in a lead or event related to a lead\n\nYou can notify Follow Up Boss when certain events occur on your website or system, for example user fills out a registration form on an IDX website, sends an inquiry about a property or submits Contact Us form. This is the only correct way to send leads and their activity to Follow Up Boss from an IDX website, real estate portal, your custom website or any other lead source.\n\nNew leads created by POST /v1/events will only trigger action plans if they are of the following types: \"Registration\", \"Seller Inquiry\", \"Property Inquiry\", \"General Inquiry\" \"Visited Open House\"","githubsync":"","hidden":false,"isReference":true,"link_external":false,"link_url":"","next":{"description":"","pages":[]},"order":1,"parentDoc":null,"project":"55f0d412f3949a1700ce2c05","slug":"events-post","sync_unique":"","title":"/events","type":"post","updates":[],"user":"55f0d404f3735d0d006920a2","version":"55f0d412f3949a1700ce2c08","childrenPages":[]}

post/events

Send in a lead or event related to a lead You can notify Follow Up Boss when certain events occur on your website or system, for example user fills out a registration form on an IDX website, sends an inquiry about a property or submits Contact Us form. This is the only correct way to send leads and their activity to Follow Up Boss from an IDX website, real estate portal, your custom website or any other lead source. New leads created by POST /v1/events will only trigger action plans if they are of the following types: "Registration", "Seller Inquiry", "Property Inquiry", "General Inquiry" "Visited Open House"

Body Params

source:
string
The name of the lead source
system:
string
The name of the system used in providing leads.
type:
string
The type of event. Currently one of `Registration`, `Inquiry`, `Seller Inquiry`, `Property Inquiry`, `General Inquiry`, `Viewed Property`, `Saved Property`, `Visited Website`, `Incoming Call`, `Unsubscribed`, `Property Search`, `Saved Property Search`, `Visited Open House` or `Viewed Page`
message:
string
A message from the user about this inquiry
person:
object
Information about the lead who triggered this event. Follow Up Boss will automatically de-duplicate people based on their phone number or email address.
person.firstName:
string
The first/given name of the contact
person.lastName:
string
The last/family name of the contact
person.stage:
string
The stage of the contact. Example `Lead` or `Trash`. See stages API endpoint for more options.
person.source:
string
The source of the lead.
person.sourceUrl:
string
This is a direct link to the information about a contact at the lead provider.
person.contacted:
booleanfalse
Whether the person has been contacted.
person.price:
integer
The estimated sell/buy price for this contact
person.assignedTo:
string
Full name of the agent to assign to this contact
person.assignedLenderName:
string
Full name of the lender to assign to this contact
person.emails:
array of objects
A list of email addresses associated with the contact:
person.emails[n].value:
string
An email address
person.emails[n].type:
string
The email address type. Example `home`, `work` or `other`
person.emails[n].isPrimary:
boolean
Whether the email address is the primary address for the contact
person.phones:
array of objects
A list of phone numbers associated with the contact:
person.phones[n].value:
string
A phone number
person.phones[n].type:
string
The phone number type. Example `home`, `work`, `mobile`, `fax` or `other`.
person.addresses:
array of objects
A list of addresses associated with the contact (this is the address where this person can be contacted, it is not the address of a property this person may be interested in selling or buying).
person.addresses[n].type:
string
The address type. Example `home`, `work`, `mailing` or `investment`
person.addresses[n].street:
string
Street address. Example `3595 South Higuera St, Suite B`
person.addresses[n].city:
string
City name.
person.addresses[n].state:
string
Abbreviated state code. Example `CA`
person.addresses[n].code:
string
Zipcode as a string. Example `90210`
person.addresses[n].country:
string
Country as a string. Example `United States`
person.tags:
array of strings
A list of tags applied to the contact
property:
object
Information about the property this event is related to
property.street:
string
Street address. Example `3595 South Higuera St, Suite B`
property.city:
string
City name
property.state:
string
Abbreviated state code. Example `CA`
property.code:
string
Zipcode as a string. Example `90210`
property.mlsNumber:
string
MLS Number for the property
property.price:
integer
The asking price or price estimate for the property
property.forRent:
boolean
Whether this property is for rent
property.url:
string
A URL for the property provided by the lead source
property.type:
string
A freeform description of property type (e.g. "Bungalow" or "Apartment")
property.bedrooms:
string
The number of bedrooms
property.bathrooms:
string
The number of bathrooms
property.area:
string
Area of the property in sqft.
property.lot:
string
Area of the lot/land in acres.
propertySearch:
object
If this event was an inquiry you may have information about what the contact was searching for, you can submit this information using this field
propertySearch.type:
string
The type of property the contact was searching for. Example `Residential`, `Lot`, `Apartment`, etc...
propertySearch.neighborhood:
string
The contact was looking for properties in this neighborhood
propertySearch.city:
string
The contact was looking for properties in this city
propertySearch.state:
string
The contact was looking for properties in this state
propertySearch.code:
string
The contact was looking for properties in this zipcode
propertySearch.minPrice:
integer
The contact was looking for properties this price range
propertySearch.maxPrice:
integer
The contact was looking for properties this price range
campaign:
object
The name of the source where the contact originated. Example, if the lead came to your site through an organic search on `www.google.com` the source is `google`.
campaign.medium:
string
The medium of the campaign, e.g. for an organic search the medium is "organic".
campaign.term:
string
The search terms entered by the contact
campaign.content:
string
The content of the campaign
campaign.campaign:
string
The name or identifier for this campaign
pageTitle:
string
This field is to be used with the `Viewed Page` event type and indicates the title of the page viewed. Example `Contact Us`
pageUrl:
string
This field is to be used with the `Viewed Page` event type and indicates the url of the page viewed. Example `http://www.cltrealestate.com/contactus`
pageDuration:
integer
This field is to be used with the `Viewed Page` event type and indicates the duration of the visitor on the page viewed given in seconds.
You can notify Follow Up Boss when certain events occur on your website or system, for example user fills out a registration form on an IDX website, sends an inquiry about a property or submits Contact Us form. **This is the only correct way to send leads and their activity to Follow Up Boss from an IDX website, real estate portal, your custom website or any other lead source**. **New leads created by POST /v1/events will only trigger action plans if they are of the following types: "Registration", "Seller Inquiry", "Property Inquiry", "General Inquiry" "Visited Open House"**

User Information

Try It Out

post
{{ tryResults.results }}
Method{{ tryResults.method }}
Request Headers
{{ tryResults.requestHeaders }}
URL{{ tryResults.url }}
Request Data
{{ tryResults.data }}
Status
Response Headers
{{ tryResults.responseHeaders }}

Definition

{{ api_url }}{{ page_api_url }}

Examples


Result Format



You can notify Follow Up Boss when certain events occur on your website or system, for example user fills out a registration form on an IDX website, sends an inquiry about a property or submits Contact Us form. **This is the only correct way to send leads and their activity to Follow Up Boss from an IDX website, real estate portal, your custom website or any other lead source**. **New leads created by POST /v1/events will only trigger action plans if they are of the following types: "Registration", "Seller Inquiry", "Property Inquiry", "General Inquiry" "Visited Open House"**
{"__v":1,"_id":"583f5d6bf8a3f80f001854c4","api":{"auth":"required","examples":{"codes":[]},"params":[{"_id":"583f5fb800a9f10f00a34ce6","ref":"","in":"path","required":false,"desc":"Id of the event","default":"","type":"int","name":"id"}],"results":{"codes":[{"status":200,"language":"json","code":"{\n  \"id\": 132,\n  \"created\": \"2014-05-05T19:38:27Z\",\n  \"updated\": \"2014-05-05T19:38:27Z\",\n  \"personId\": 12264,\n  \"message\": \"I am interested in 6825 Mulholland Dr, ...\",\n  \"description\": \"Move-in: 12/28/2013\",\n  \"noteId\": 32,\n  \"source\": \"Zillow\",\n  \"type\": \"Property Inquiry\",\n  \"property\": {\n    \"street\": \"6825 Mulholland Dr\",\n    \"city\": \"Los Angeles\",\n    \"state\": \"CA\",\n    \"code\": \"90068\",\n    \"mlsNumber\": \"14729339\",\n    \"price\": \"310000\",\n    \"forRent\": \"0\",\n    \"url\": \"http://www.zillow.com/homedetails/6825-Mulholland-Dr-Los-Angeles-CA-90068/2109065822_zpid/\",\n    \"type\": \"Residential\",\n    \"bedrooms\": \"0\",\n    \"bathrooms\": null,\n    \"area\": null,\n    \"lot\": null\n  }\n}","name":""},{"status":400,"language":"json","code":"{}","name":""}]},"settings":"","url":"/events/:id"},"body":"","category":"584194b848904a1000051699","createdAt":"2016-11-30T23:14:51.036Z","excerpt":"Retrieve a single event by id","githubsync":"","hidden":false,"isReference":true,"link_external":false,"link_url":"","next":{"pages":[],"description":""},"order":2,"parentDoc":null,"project":"55f0d412f3949a1700ce2c05","slug":"events-id-get","sync_unique":"","title":"/events/:id","type":"get","updates":[],"user":"57d5af6965a96a170037d0f1","version":"55f0d412f3949a1700ce2c08","childrenPages":[]}

get/events/:id

Retrieve a single event by id

Path Params

id:
integer
Id of the event

User Information

Try It Out

get
{{ tryResults.results }}
Method{{ tryResults.method }}
Request Headers
{{ tryResults.requestHeaders }}
URL{{ tryResults.url }}
Request Data
{{ tryResults.data }}
Status
Response Headers
{{ tryResults.responseHeaders }}

Definition

{{ api_url }}{{ page_api_url }}

Result Format



{"__v":1,"_id":"58403c3d63e13523002d017b","api":{"auth":"required","examples":{"codes":[]},"params":[{"_id":"58403c3d63e13523002d0180","ref":"","in":"query","required":false,"desc":"The sort order, can be one of the following: `id`, `created`, `updated`, `name`, `firstName`, `lastName`, `price`, `stage`, `lastActivity`, `lastReceivedEmail`, `lastSentEmail`, `lastEmail`, `emailsReceived`, `emailsSent`, `lastIncomingCall`, `lastOutgoingCall`, `lastCall`, `firstCall`, `callsIncoming`, `callsOutgoing`, `callsDuration`, `lastReceivedText`, `lastSentText`, `lastText`, `lastLeadActivity`, `lastIdxVisit`, `textsReceived`, `textsSent`, `propertiesViewed`, `propertiesSaved`, `pagesViewed` or `nextTask`","default":"created","type":"string","name":"sort"},{"_id":"58403c3d63e13523002d017f","default":"10","desc":"Number of results to return. Max 100.","in":"query","name":"limit","ref":"","required":false,"type":"int"},{"_id":"58403c3d63e13523002d017e","default":"0","desc":"Specifies the number of rows to skip, before starting to return results.","in":"query","name":"offset","ref":"","required":false,"type":"int"},{"_id":"58403c3d63e13523002d017d","ref":"","in":"query","required":false,"desc":"Comma separated list of fields to return. Example `firstName,lastName,customFieldName`","default":"","type":"string","name":"fields"},{"_id":"58403c3d63e13523002d017c","ref":"","in":"query","required":false,"desc":"Search for last activity after a given time. Example format: `2016-11-23 01:02:03`","default":"","type":"string","name":"lastActivityAfter"},{"_id":"58403ffa63e13523002d0192","ref":"","in":"query","required":false,"desc":"Search for last activity before a given time. Example format `2016-11-23 01:02:03`","default":"","type":"string","name":"lastActivityBefore"},{"_id":"58403ffa63e13523002d0191","ref":"","in":"query","required":false,"desc":"Search for contact with a name LIKE what is given. Example, if you search for `drew`, it might return a contact like `Andrew`.","default":"","type":"string","name":"name"},{"_id":"58403ffa63e13523002d0190","ref":"","in":"query","required":false,"desc":"Search for contact with a first name LIKE what is given. Example, if you search for `drew`, it might return a contact like `Andrew`.","default":"","type":"string","name":"firstName"},{"_id":"58403ffa63e13523002d018f","ref":"","in":"query","required":false,"desc":"Search for contact with a last name LIKE what is given. Example, if you search for `drew`, it might return a contact like `Andrew`.","default":"","type":"string","name":"lastName"},{"_id":"58403ffa63e13523002d018e","ref":"","in":"query","required":false,"desc":"Search for a contact by email address.","default":"","type":"string","name":"email"},{"_id":"58403ffa63e13523002d018d","ref":"","in":"query","required":false,"desc":"Search for a contact by phone number.","default":"","type":"string","name":"phone"},{"_id":"58403ffa63e13523002d018c","ref":"","in":"query","required":false,"desc":"Search for contact by stage name. Example `Lead` or `Trash`. See stages API endpoint for available stages.","default":"","type":"string","name":"stage"},{"_id":"58403ffa63e13523002d018b","ref":"","in":"query","required":false,"desc":"Search for a contact by source.","default":"","type":"string","name":"source"},{"_id":"58403ffa63e13523002d018a","ref":"","in":"query","required":false,"desc":"Search for contacts by user that is assigned to them. Example, passing `William Riker` would return any contact assigned to them.","default":"","type":"string","name":"assignedTo"},{"_id":"58403ffa63e13523002d0189","ref":"","in":"query","required":false,"desc":"Search for contacts by the assigned user ID.","default":"","type":"int","name":"assignedUserId"},{"_id":"58403ffa63e13523002d0188","ref":"","in":"query","required":false,"desc":"Search for contacts by the assigned lender name.","default":"","type":"string","name":"assignedLenderName"},{"_id":"58403ffa63e13523002d0187","ref":"","in":"query","required":false,"desc":"Search for contacts by the assigned lender user ID.","default":"","type":"int","name":"assignedLenderId"},{"_id":"58403ffa63e13523002d0186","ref":"","in":"query","required":false,"desc":"Search for contacts by if they have or have not been contacted.","default":"","type":"boolean","name":"contacted"},{"_id":"58403ffa63e13523002d0185","ref":"","in":"query","required":false,"desc":"Search for contacts who have specified a price above a given value.","default":"","type":"int","name":"priceAbove"},{"_id":"58403ffa63e13523002d0184","ref":"","in":"query","required":false,"desc":"Search for contacts who have specified a price below a given value.","default":"","type":"int","name":"priceBelow"}],"results":{"codes":[{"status":200,"language":"json","code":"{\n  \"_metadata\": {\n    \"collection\": \"people\",\n    \"offset\": 0,\n    \"limit\": 10,\n    \"total\": 35\n  },\n  \"people\": [\n    {\n      \"id\": 10763,\n      \"created\": \"2013-10-31T23:04:30Z\",\n      \"updated\": \"2014-06-27T13:11:23Z\",\n      \"lastActivity\": \"2014-06-27T13:11:23Z\",\n      \"name\": \"Tom Minch\",\n      \"firstName\": \"Tom\",\n      \"lastName\": \"Minch\",\n      \"stage\": \"Lead\",\n      \"source\": \"MyAwesomeWebsite.com\",\n      \"sourceUrl\": \"\",\n      \"contacted\": 0,\n      \"price\": 500000,\n      \"assignedLenderId\": null,\n      \"assignedLenderName\": null,\n      \"assignedUserId\": 8,\n      \"assignedTo\": \"Agent White\",\n      \"tags\": [ \"Los Angeles\", \"90003\", \"2014 May\" ],\n      \"emails\": [\n        {\n          \"value\": \"tom.minch@example.com\",\n          \"type\": \"home\",\n          \"isPrimary\": 1\n        }\n      ],\n      \"phones\": [\n        {\n          \"type\": \"home\",\n          \"value\": \"555-555-1234\"\n        }\n      ],\n      \"addresses\": [\n        {\n          \"type\": \"work\",\n          \"street\": \"322 S Broadway\",\n          \"city\": \"Los Angeles\",\n          \"state\": \"CA\",\n          \"code\": \"90003\",\n          \"country\": \"United States\"\n        }\n      ],\n      \"picture\": {\n        \"small\": \"https://example.com/pictures/89615e1a7fe.jpg\"\n      }\n    }\n    ...\n  ]\n}","name":""}]},"settings":"","url":"/people"},"body":"","category":"584194e648904a100005169a","createdAt":"2016-12-01T15:05:33.140Z","excerpt":"Search for contacts","githubsync":"","hidden":false,"isReference":true,"link_external":false,"link_url":"","next":{"pages":[],"description":""},"order":0,"parentDoc":null,"project":"55f0d412f3949a1700ce2c05","slug":"people-get","sync_unique":"","title":"/people","type":"get","updates":[],"user":"57d5af6965a96a170037d0f1","version":"55f0d412f3949a1700ce2c08","childrenPages":[]}

get/people

Search for contacts

Query Params

sort:
stringcreated
The sort order, can be one of the following: `id`, `created`, `updated`, `name`, `firstName`, `lastName`, `price`, `stage`, `lastActivity`, `lastReceivedEmail`, `lastSentEmail`, `lastEmail`, `emailsReceived`, `emailsSent`, `lastIncomingCall`, `lastOutgoingCall`, `lastCall`, `firstCall`, `callsIncoming`, `callsOutgoing`, `callsDuration`, `lastReceivedText`, `lastSentText`, `lastText`, `lastLeadActivity`, `lastIdxVisit`, `textsReceived`, `textsSent`, `propertiesViewed`, `propertiesSaved`, `pagesViewed` or `nextTask`
limit:
integer10
Number of results to return. Max 100.
offset:
integer0
Specifies the number of rows to skip, before starting to return results.
fields:
string
Comma separated list of fields to return. Example `firstName,lastName,customFieldName`
lastActivityAfter:
string
Search for last activity after a given time. Example format: `2016-11-23 01:02:03`
lastActivityBefore:
string
Search for last activity before a given time. Example format `2016-11-23 01:02:03`
name:
string
Search for contact with a name LIKE what is given. Example, if you search for `drew`, it might return a contact like `Andrew`.
firstName:
string
Search for contact with a first name LIKE what is given. Example, if you search for `drew`, it might return a contact like `Andrew`.
lastName:
string
Search for contact with a last name LIKE what is given. Example, if you search for `drew`, it might return a contact like `Andrew`.
email:
string
Search for a contact by email address.
phone:
string
Search for a contact by phone number.
stage:
string
Search for contact by stage name. Example `Lead` or `Trash`. See stages API endpoint for available stages.
source:
string
Search for a contact by source.
assignedTo:
string
Search for contacts by user that is assigned to them. Example, passing `William Riker` would return any contact assigned to them.
assignedUserId:
integer
Search for contacts by the assigned user ID.
assignedLenderName:
string
Search for contacts by the assigned lender name.
assignedLenderId:
integer
Search for contacts by the assigned lender user ID.
contacted:
boolean
Search for contacts by if they have or have not been contacted.
priceAbove:
integer
Search for contacts who have specified a price above a given value.
priceBelow:
integer
Search for contacts who have specified a price below a given value.

User Information

Try It Out

get
{{ tryResults.results }}
Method{{ tryResults.method }}
Request Headers
{{ tryResults.requestHeaders }}
URL{{ tryResults.url }}
Request Data
{{ tryResults.data }}
Status
Response Headers
{{ tryResults.responseHeaders }}

Definition

{{ api_url }}{{ page_api_url }}

Result Format



{"__v":0,"_id":"584044f3c050731900063508","api":{"examples":{"codes":[]},"results":{"codes":[{"status":200,"language":"json","code":"{}","name":""},{"status":400,"language":"json","code":"{}","name":""}]},"settings":"","auth":"required","params":[{"_id":"584044f3c050731900063518","ref":"","in":"body","required":false,"desc":"The first/given name of the contact.","default":"","type":"string","name":"firstName"},{"_id":"584044f3c050731900063517","ref":"","in":"body","required":false,"desc":"The last/family name of the contact.","default":"","type":"string","name":"lastName"},{"_id":"584044f3c050731900063516","ref":"","in":"body","required":false,"desc":"The stage the contact is in. Example `Lead` or `Trash`. See stage API endpoint for more options.","default":"Lead","type":"string","name":"stage"},{"_id":"584044f3c050731900063515","ref":"","in":"body","required":false,"desc":"The source of the lead. Can only be set once for a new person via `POST` method, cannot be updated via `PUT` method.","default":"","type":"string","name":"source"},{"_id":"584044f3c050731900063514","ref":"","in":"body","required":false,"desc":"This is a direct link to the information about a contact at the lead provider. Can only be set once for a new person via `POST` method, cannot be updated via `PUT` method.","default":"","type":"string","name":"sourceUrl"},{"_id":"584044f3c050731900063513","ref":"","in":"body","required":false,"desc":"Whether the person has been contacted.","default":"","type":"boolean","name":"contacted"},{"_id":"584044f3c050731900063512","ref":"","in":"body","required":false,"desc":"The price of the property of the contact's first inquiry, or the estimated sell/buy price for this contact.","default":"","type":"int","name":"price"},{"_id":"584044f3c050731900063511","ref":"","in":"body","required":false,"desc":"Full name of the agent assigned to this contact.","default":"","type":"string","name":"assignedTo"},{"_id":"584044f3c050731900063510","ref":"","in":"body","required":false,"desc":"ID of the agent assigned to this contact.","default":"","type":"int","name":"assignedUserId"},{"_id":"584044f3c05073190006350f","ref":"","in":"body","required":false,"desc":"Full name of the lender assigned to this contact.","default":"","type":"string","name":"assignedLenderName"},{"_id":"584044f3c05073190006350e","ref":"","in":"body","required":false,"desc":"ID of the lender assigned to this contact.","default":"","type":"int","name":"assignedLenderId"},{"_id":"584044f3c05073190006350d","ref":"","in":"body","required":false,"desc":"A list of email addresses associated with the contact.","default":"","type":"array_object","name":"emails"},{"_id":"584044f3c05073190006350c","ref":"","in":"body","required":false,"desc":"A list of phone numbers associated with the contact.","default":"","type":"array_object","name":"phones"},{"_id":"584044f3c05073190006350b","ref":"","in":"body","required":false,"desc":"A list of addresses associated with the contact (this is the address where this person can be contacted, it is not the address of a property this person may be interested in selling or buying).","default":"","type":"array_object","name":"addresses"},{"_id":"584044f3c05073190006350a","ref":"","in":"body","required":false,"desc":"A list of tags applied to the contact.","default":"","type":"array_string","name":"tags"},{"_id":"584044f3c050731900063509","ref":"","in":"body","required":false,"desc":"Background information, can be a multi-line string.","default":"","type":"string","name":"background"}],"url":"/people"},"body":"## Important Note\n\nThe best way to send leads into Follow Up Boss from an IDX website, real estate portal, your custom website or any other lead source is to use event notifications, i.e. POST /v1/events. Advantages of using this method include:\n\n- Avoid creating duplicates, Follow Up Boss will automatically search for existing contact and update it;\n- Event information (inquiry, viewed property, saved property as a favorite, etc) is recorded and shown in contact history and dashboard;\n- Agent is notified about new lead via email / text message;\n- Action plan is applied to the lead (if configured);\n- Correct agent is assigned as per Lead Flow screen;\n- Automatic search for social profiles;\n[block:callout]\n{\n  \"type\": \"danger\",\n  \"title\": \"Avoid sending leads through `POST /v1/people`.\",\n  \"body\": \"Please do not use `POST /v1/people` to send leads into FUB, it will only create a person but **will not** run any automations listed above. Instead, use `POST /v1/events`.\"\n}\n[/block]\n## Custom Fields\n\nIf the account has custom fields defined you can also set these when adding a person. You can use the [customFields endpoint](doc:custom-fields-get)  to see which custom fields are available in the current account.","category":"584194e648904a100005169a","createdAt":"2016-12-01T15:42:43.603Z","excerpt":"Manually add a new contact","githubsync":"","hidden":false,"isReference":true,"link_external":false,"link_url":"","next":{"pages":[],"description":""},"order":1,"parentDoc":null,"project":"55f0d412f3949a1700ce2c05","slug":"people-post","sync_unique":"","title":"/people","type":"post","updates":[],"user":"57d5af6965a96a170037d0f1","version":"55f0d412f3949a1700ce2c08","childrenPages":[]}

post/people

Manually add a new contact

Body Params

firstName:
string
The first/given name of the contact.
lastName:
string
The last/family name of the contact.
stage:
stringLead
The stage the contact is in. Example `Lead` or `Trash`. See stage API endpoint for more options.
source:
string
The source of the lead. Can only be set once for a new person via `POST` method, cannot be updated via `PUT` method.
sourceUrl:
string
This is a direct link to the information about a contact at the lead provider. Can only be set once for a new person via `POST` method, cannot be updated via `PUT` method.
contacted:
boolean
Whether the person has been contacted.
price:
integer
The price of the property of the contact's first inquiry, or the estimated sell/buy price for this contact.
assignedTo:
string
Full name of the agent assigned to this contact.
assignedUserId:
integer
ID of the agent assigned to this contact.
assignedLenderName:
string
Full name of the lender assigned to this contact.
assignedLenderId:
integer
ID of the lender assigned to this contact.
emails:
array of objects
A list of email addresses associated with the contact.
phones:
array of objects
A list of phone numbers associated with the contact.
addresses:
array of objects
A list of addresses associated with the contact (this is the address where this person can be contacted, it is not the address of a property this person may be interested in selling or buying).
tags:
array of strings
A list of tags applied to the contact.
background:
string
Background information, can be a multi-line string.
## Important Note The best way to send leads into Follow Up Boss from an IDX website, real estate portal, your custom website or any other lead source is to use event notifications, i.e. POST /v1/events. Advantages of using this method include: - Avoid creating duplicates, Follow Up Boss will automatically search for existing contact and update it; - Event information (inquiry, viewed property, saved property as a favorite, etc) is recorded and shown in contact history and dashboard; - Agent is notified about new lead via email / text message; - Action plan is applied to the lead (if configured); - Correct agent is assigned as per Lead Flow screen; - Automatic search for social profiles; [block:callout] { "type": "danger", "title": "Avoid sending leads through `POST /v1/people`.", "body": "Please do not use `POST /v1/people` to send leads into FUB, it will only create a person but **will not** run any automations listed above. Instead, use `POST /v1/events`." } [/block] ## Custom Fields If the account has custom fields defined you can also set these when adding a person. You can use the [customFields endpoint](doc:custom-fields-get) to see which custom fields are available in the current account.

User Information

Try It Out

post
{{ tryResults.results }}
Method{{ tryResults.method }}
Request Headers
{{ tryResults.requestHeaders }}
URL{{ tryResults.url }}
Request Data
{{ tryResults.data }}
Status
Response Headers
{{ tryResults.responseHeaders }}

Definition

{{ api_url }}{{ page_api_url }}

Result Format



## Important Note The best way to send leads into Follow Up Boss from an IDX website, real estate portal, your custom website or any other lead source is to use event notifications, i.e. POST /v1/events. Advantages of using this method include: - Avoid creating duplicates, Follow Up Boss will automatically search for existing contact and update it; - Event information (inquiry, viewed property, saved property as a favorite, etc) is recorded and shown in contact history and dashboard; - Agent is notified about new lead via email / text message; - Action plan is applied to the lead (if configured); - Correct agent is assigned as per Lead Flow screen; - Automatic search for social profiles; [block:callout] { "type": "danger", "title": "Avoid sending leads through `POST /v1/people`.", "body": "Please do not use `POST /v1/people` to send leads into FUB, it will only create a person but **will not** run any automations listed above. Instead, use `POST /v1/events`." } [/block] ## Custom Fields If the account has custom fields defined you can also set these when adding a person. You can use the [customFields endpoint](doc:custom-fields-get) to see which custom fields are available in the current account.
{"__v":0,"_id":"5840476d63e13523002d01a3","api":{"examples":{"codes":[]},"results":{"codes":[{"status":200,"language":"json","code":"{\n  \"id\": 14412,\n  \"created\": \"2016-03-31T16:42:27Z\",\n  \"updated\": \"2016-11-17T03:44:00Z\",\n  \"lastActivity\": \"2016-11-17T05:01:02Z\",\n  \"name\": \"William Riker\",\n  \"firstName\": \"William\",\n  \"lastName\": \"Riker\",\n  \"stage\": \"Lead\",\n  \"stageId\": \"2\",\n  \"source\": \"<unspecified>\",\n  \"sourceUrl\": \"\",\n  \"contacted\": 1,\n  \"price\": 310000,\n  \"assignedLenderId\": null,\n  \"assignedLenderName\": null,\n  \"assignedUserId\": 1,\n  \"assignedTo\": \"Gerald Leenerts\",\n  \"tags\": [\n    \"star trek\",\n  ],\n  \"emails\": [\n    {\n      \"value\": \"example@example.com\",\n      \"type\": \"home\",\n      \"isPrimary\": 1\n    },\n    {\n      \"value\": \"mobile@example.com\",\n      \"type\": \"work\",\n      \"isPrimary\": 0\n    }\n  ],\n  \"phones\": [\n    {\n      \"value\": \"2345678901\",\n      \"type\": \"home\",\n      \"isPrimary\": 1\n    },\n    {\n      \"value\": \"2345678902\",\n      \"type\": \"mobile\",\n      \"isPrimary\": 0\n    }\n  ],\n  \"addresses\": [],\n  \"picture\": {\n    \"small\": \"http://vignette1.wikia.nocookie.net/memoryalpha/images/4/4f/Riker_orders_Worf_to_fire_on_the_Borg_cube.jpg/revision/latest?cb=20130213024734&path-prefix=en\"\n  }\n}","name":""},{"status":400,"language":"json","code":"{}","name":""}]},"settings":"","auth":"required","params":[{"_id":"5840476d63e13523002d01a4","ref":"","in":"path","required":false,"desc":"ID of the contact.","default":"","type":"int","name":"id"}],"url":"/people/:id"},"body":"","category":"584194e648904a100005169a","createdAt":"2016-12-01T15:53:17.414Z","excerpt":"Retrieve a contact by id","githubsync":"","hidden":false,"isReference":true,"link_external":false,"link_url":"","next":{"pages":[],"description":""},"order":2,"parentDoc":null,"project":"55f0d412f3949a1700ce2c05","slug":"people-id-get","sync_unique":"","title":"/people/:id","type":"get","updates":[],"user":"57d5af6965a96a170037d0f1","version":"55f0d412f3949a1700ce2c08","childrenPages":[]}

get/people/:id

Retrieve a contact by id

Path Params

id:
integer
ID of the contact.

User Information

Try It Out

get
{{ tryResults.results }}
Method{{ tryResults.method }}
Request Headers
{{ tryResults.requestHeaders }}
URL{{ tryResults.url }}
Request Data
{{ tryResults.data }}
Status
Response Headers
{{ tryResults.responseHeaders }}

Definition

{{ api_url }}{{ page_api_url }}

Result Format



{"__v":0,"_id":"584048e5de0ace190064ceff","api":{"settings":"","results":{"codes":[{"status":200,"language":"json","code":"{}","name":""},{"status":400,"language":"json","code":"{}","name":""}]},"examples":{"codes":[]},"auth":"required","params":[{"_id":"584044f3c050731900063518","ref":"","in":"body","required":false,"desc":"The first/given name of the contact.","default":"","type":"string","name":"firstName"},{"_id":"584044f3c050731900063517","ref":"","in":"body","required":false,"desc":"The last/family name of the contact.","default":"","type":"string","name":"lastName"},{"_id":"584044f3c050731900063516","ref":"","in":"body","required":false,"desc":"The stage the contact is in. Example `Lead` or `Trash`. See stage API endpoint for more options.","default":"Lead","type":"string","name":"stage"},{"_id":"584044f3c050731900063513","ref":"","in":"body","required":false,"desc":"Whether the person has been contacted.","default":"","type":"boolean","name":"contacted"},{"_id":"584044f3c050731900063512","ref":"","in":"body","required":false,"desc":"The price of the property of the contact's first inquiry, or the estimated sell/buy price for this contact.","default":"","type":"int","name":"price"},{"_id":"584044f3c050731900063511","ref":"","in":"body","required":false,"desc":"Full name of the agent assigned to this contact.","default":"","type":"string","name":"assignedTo"},{"_id":"584044f3c050731900063510","ref":"","in":"body","required":false,"desc":"ID of the agent assigned to this contact.","default":"","type":"int","name":"assignedUserId"},{"_id":"584044f3c05073190006350f","ref":"","in":"body","required":false,"desc":"Full name of the lender assigned to this contact.","default":"","type":"string","name":"assignedLenderName"},{"_id":"584044f3c05073190006350e","ref":"","in":"body","required":false,"desc":"ID of the lender assigned to this contact.","default":"","type":"int","name":"assignedLenderId"},{"_id":"584044f3c05073190006350d","ref":"","in":"body","required":false,"desc":"A list of email addresses associated with the contact.","default":"","type":"array_object","name":"emails"},{"_id":"584044f3c05073190006350c","ref":"","in":"body","required":false,"desc":"A list of phone numbers associated with the contact.","default":"","type":"array_object","name":"phones"},{"_id":"584044f3c05073190006350b","ref":"","in":"body","required":false,"desc":"A list of addresses associated with the contact (this is the address where this person can be contacted, it is not the address of a property this person may be interested in selling or buying).","default":"","type":"array_object","name":"addresses"},{"_id":"584044f3c05073190006350a","ref":"","in":"body","required":false,"desc":"A list of tags applied to the contact.","default":"","type":"array_string","name":"tags"},{"_id":"584044f3c050731900063509","ref":"","in":"body","required":false,"desc":"Background information, can be a multi-line string.","default":"","type":"string","name":"background"}],"url":"/people"},"body":"## Custom Fields\n\nIf the account has custom fields defined you can also set these when updating a person. You can use the [customFields endpoint](doc:custom-fields-get)  to see which custom fields are available in the current account.\n\nTo delete a custom field value on a person, set its value to null:\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"{\\n  \\\"customBirthday\\\": null\\n}\",\n      \"language\": \"json\"\n    }\n  ]\n}\n[/block]","category":"584194e648904a100005169a","createdAt":"2016-12-01T15:59:33.683Z","excerpt":"Update a contact","githubsync":"","hidden":false,"isReference":true,"link_external":false,"link_url":"","next":{"pages":[],"description":""},"order":3,"parentDoc":null,"project":"55f0d412f3949a1700ce2c05","slug":"people-id-put","sync_unique":"","title":"/people/:id","type":"put","updates":[],"user":"57d5af6965a96a170037d0f1","version":"55f0d412f3949a1700ce2c08","childrenPages":[]}

put/people/:id

Update a contact

Body Params

firstName:
string
The first/given name of the contact.
lastName:
string
The last/family name of the contact.
stage:
stringLead
The stage the contact is in. Example `Lead` or `Trash`. See stage API endpoint for more options.
contacted:
boolean
Whether the person has been contacted.
price:
integer
The price of the property of the contact's first inquiry, or the estimated sell/buy price for this contact.
assignedTo:
string
Full name of the agent assigned to this contact.
assignedUserId:
integer
ID of the agent assigned to this contact.
assignedLenderName:
string
Full name of the lender assigned to this contact.
assignedLenderId:
integer
ID of the lender assigned to this contact.
emails:
array of objects
A list of email addresses associated with the contact.
phones:
array of objects
A list of phone numbers associated with the contact.
addresses:
array of objects
A list of addresses associated with the contact (this is the address where this person can be contacted, it is not the address of a property this person may be interested in selling or buying).
tags:
array of strings
A list of tags applied to the contact.
background:
string
Background information, can be a multi-line string.
## Custom Fields If the account has custom fields defined you can also set these when updating a person. You can use the [customFields endpoint](doc:custom-fields-get) to see which custom fields are available in the current account. To delete a custom field value on a person, set its value to null: [block:code] { "codes": [ { "code": "{\n \"customBirthday\": null\n}", "language": "json" } ] } [/block]

User Information

Try It Out

put
{{ tryResults.results }}
Method{{ tryResults.method }}
Request Headers
{{ tryResults.requestHeaders }}
URL{{ tryResults.url }}
Request Data
{{ tryResults.data }}
Status
Response Headers
{{ tryResults.responseHeaders }}

Definition

{{ api_url }}{{ page_api_url }}

Result Format



## Custom Fields If the account has custom fields defined you can also set these when updating a person. You can use the [customFields endpoint](doc:custom-fields-get) to see which custom fields are available in the current account. To delete a custom field value on a person, set its value to null: [block:code] { "codes": [ { "code": "{\n \"customBirthday\": null\n}", "language": "json" } ] } [/block]
{"__v":0,"_id":"58404912cee8ec1900c457f0","api":{"examples":{"codes":[]},"results":{"codes":[{"status":200,"language":"json","code":"{}","name":""}]},"settings":"","auth":"required","params":[{"_id":"58404912cee8ec1900c457f1","ref":"","in":"path","required":false,"desc":"ID of contact to delete.","default":"","type":"int","name":"id"}],"url":"/people/:id"},"body":"","category":"584194e648904a100005169a","createdAt":"2016-12-01T16:00:18.437Z","excerpt":"Delete a contact","githubsync":"","hidden":false,"isReference":true,"link_external":false,"link_url":"","next":{"pages":[],"description":""},"order":4,"parentDoc":null,"project":"55f0d412f3949a1700ce2c05","slug":"peopleid","sync_unique":"","title":"/people/:id","type":"delete","updates":[],"user":"57d5af6965a96a170037d0f1","version":"55f0d412f3949a1700ce2c08","childrenPages":[]}

delete/people/:id

Delete a contact

Path Params

id:
integer
ID of contact to delete.

User Information

Try It Out

delete
{{ tryResults.results }}
Method{{ tryResults.method }}
Request Headers
{{ tryResults.requestHeaders }}
URL{{ tryResults.url }}
Request Data
{{ tryResults.data }}
Status
Response Headers
{{ tryResults.responseHeaders }}

Definition

{{ api_url }}{{ page_api_url }}

Result Format



{"__v":0,"_id":"58405e1be3e04b230055c6c9","api":{"auth":"required","examples":{"codes":[]},"params":[{"_id":"58405e1be3e04b230055c6cb","default":"10","desc":"Number of results to return. Max 100.","in":"query","name":"limit","ref":"","required":false,"type":"int"},{"_id":"58405e1be3e04b230055c6ca","default":"0","desc":"Specifies the number of rows to skip, before starting to return results.","in":"query","name":"offset","ref":"","required":false,"type":"int"}],"results":{"codes":[{"status":200,"language":"json","code":"{\n  \"_metadata\": {\n    \"collection\": \"notes\",\n    \"offset\": 0,\n    \"limit\": 10,\n    \"total\": 359\n  },\n  \"notes\": [\n    {\n      \"id\": 1819,\n      \"created\": \"2014-06-19T18:32:26Z\",\n      \"updated\": \"2014-06-19T18:32:26Z\",\n      \"createdBy\": \"Agent White\",\n      \"updatedBy\": \"Agent White\",\n      \"personId\": 12235,\n      \"subject\": \"\",\n      \"body\": \"Plans to sell within the next three months.\",\n      \"type\": \"\",\n      \"isHtml\": 0\n    },\n    ...\n  ]\n}","name":""}]},"settings":"","url":"/notes"},"body":"","category":"584194f348904a100005169b","createdAt":"2016-12-01T17:30:03.144Z","excerpt":"Search for notes","githubsync":"","hidden":false,"isReference":true,"link_external":false,"link_url":"","next":{"pages":[],"description":""},"order":0,"parentDoc":null,"project":"55f0d412f3949a1700ce2c05","slug":"notes-get","sync_unique":"","title":"/notes","type":"get","updates":[],"user":"57d5af6965a96a170037d0f1","version":"55f0d412f3949a1700ce2c08","childrenPages":[]}

get/notes

Search for notes

Query Params

limit:
integer10
Number of results to return. Max 100.
offset:
integer0
Specifies the number of rows to skip, before starting to return results.

User Information

Try It Out

get
{{ tryResults.results }}
Method{{ tryResults.method }}
Request Headers
{{ tryResults.requestHeaders }}
URL{{ tryResults.url }}
Request Data
{{ tryResults.data }}
Status
Response Headers
{{ tryResults.responseHeaders }}

Definition

{{ api_url }}{{ page_api_url }}

Result Format



{"__v":0,"_id":"58405cb9cee8ec1900c45801","api":{"examples":{"codes":[{"name":"JSON Example","language":"json","code":"{\n  \"personId\": 12235,\n  \"subject\": \"Some note subject\",\n  \"body\": \"This is the content of the note\",\n  \"isHtml\": 0\n}"}]},"results":{"codes":[{"status":200,"language":"json","code":"{}","name":""}]},"settings":"","auth":"required","params":[{"_id":"58405cb9cee8ec1900c45805","ref":"","in":"body","required":false,"desc":"The ID of a person associated with this note.","default":"","type":"int","name":"personId"},{"_id":"58405cb9cee8ec1900c45804","ref":"","in":"body","required":false,"desc":"You can give a note a title or subject using this field.","default":"","type":"string","name":"subject"},{"_id":"58405cb9cee8ec1900c45803","ref":"","in":"body","required":false,"desc":"The content of the note.","default":"","type":"string","name":"body"},{"_id":"58405cb9cee8ec1900c45802","ref":"","in":"body","required":false,"desc":"Weather the note is plain-text or HTML.","default":"","type":"string","name":"isHtml"}],"url":"/notes"},"body":"","category":"584194f348904a100005169b","createdAt":"2016-12-01T17:24:09.453Z","excerpt":"Add a note","githubsync":"","hidden":false,"isReference":true,"link_external":false,"link_url":"","next":{"pages":[],"description":""},"order":1,"parentDoc":null,"project":"55f0d412f3949a1700ce2c05","slug":"notes-post","sync_unique":"","title":"/notes","type":"post","updates":[],"user":"57d5af6965a96a170037d0f1","version":"55f0d412f3949a1700ce2c08","childrenPages":[]}

post/notes

Add a note

Body Params

personId:
integer
The ID of a person associated with this note.
subject:
string
You can give a note a title or subject using this field.
body:
string
The content of the note.
isHtml:
string
Weather the note is plain-text or HTML.

User Information

Try It Out

post
{{ tryResults.results }}
Method{{ tryResults.method }}
Request Headers
{{ tryResults.requestHeaders }}
URL{{ tryResults.url }}
Request Data
{{ tryResults.data }}
Status
Response Headers
{{ tryResults.responseHeaders }}

Definition

{{ api_url }}{{ page_api_url }}

Examples


Result Format



{"__v":0,"_id":"58405f13e3e04b230055c6ce","api":{"settings":"","results":{"codes":[{"status":200,"language":"json","code":"{\n  \"id\": 1819,\n  \"created\": \"2014-06-19T18:32:26Z\",\n  \"updated\": \"2014-06-19T18:32:26Z\",\n  \"createdBy\": \"Agent White\",\n  \"updatedBy\": \"Agent White\",\n  \"personId\": 12235,\n  \"subject\": \"Some note subject\",\n  \"body\": \"Plans to sell within the next three months.\",\n  \"type\": \"\",\n  \"isHtml\": 0\n}","name":""}]},"examples":{"codes":[]},"auth":"required","params":[{"_id":"58405f13e3e04b230055c6cf","ref":"","in":"path","required":false,"desc":"The ID of the note.","default":"","type":"int","name":"id"}],"url":"/notes/:id"},"body":"","category":"584194f348904a100005169b","createdAt":"2016-12-01T17:34:11.983Z","excerpt":"Retrieve a note by id","githubsync":"","hidden":false,"isReference":true,"link_external":false,"link_url":"","next":{"pages":[],"description":""},"order":2,"parentDoc":null,"project":"55f0d412f3949a1700ce2c05","slug":"notes-id-get","sync_unique":"","title":"/notes/:id","type":"get","updates":[],"user":"57d5af6965a96a170037d0f1","version":"55f0d412f3949a1700ce2c08","childrenPages":[]}

get/notes/:id

Retrieve a note by id

Path Params

id:
integer
The ID of the note.

User Information

Try It Out

get
{{ tryResults.results }}
Method{{ tryResults.method }}
Request Headers
{{ tryResults.requestHeaders }}
URL{{ tryResults.url }}
Request Data
{{ tryResults.data }}
Status
Response Headers
{{ tryResults.responseHeaders }}

Definition

{{ api_url }}{{ page_api_url }}

Result Format



{"__v":1,"_id":"58405cd2c6c9322300273fa4","api":{"auth":"required","examples":{"codes":[{"name":"JSON Example","language":"json","code":"{\n  \"personId\": 12235,\n  \"subject\": \"Some note subject\",\n  \"body\": \"Plans to sell within the next three months.\",\n  \"isHtml\": 0\n}"}]},"params":[{"_id":"58405cb9cee8ec1900c45805","ref":"","in":"body","required":false,"desc":"The ID of a person associated with this note.","default":"","type":"int","name":"personId"},{"_id":"58405cb9cee8ec1900c45804","ref":"","in":"body","required":false,"desc":"You can give a note a title or subject using this field.","default":"","type":"string","name":"subject"},{"_id":"58405cb9cee8ec1900c45803","ref":"","in":"body","required":false,"desc":"The content of the note.","default":"","type":"string","name":"body"},{"_id":"58405cb9cee8ec1900c45802","ref":"","in":"body","required":false,"desc":"Weather the note is plain-text or HTML.","default":"","type":"string","name":"isHtml"},{"_id":"5840604529e3ff0f000d85f0","ref":"","in":"path","required":false,"desc":"The ID of the note to update.","default":"","type":"int","name":"id"}],"results":{"codes":[{"status":200,"language":"json","code":"{\n  \"id\": 1819,\n  \"created\": \"2014-06-19T18:32:26Z\",\n  \"updated\": \"2014-06-19T18:32:26Z\",\n  \"createdBy\": \"Agent White\",\n  \"updatedBy\": \"Agent White\",\n  \"personId\": 12235,\n  \"subject\": \"Some note subject\",\n  \"body\": \"Plans to sell within the next three months.\",\n  \"type\": \"\",\n  \"isHtml\": 0\n}","name":""}]},"settings":"","url":"/notes/:id"},"body":"","category":"584194f348904a100005169b","createdAt":"2016-12-01T17:24:34.837Z","excerpt":"Edit a note","githubsync":"","hidden":false,"isReference":true,"link_external":false,"link_url":"","next":{"pages":[],"description":""},"order":3,"parentDoc":null,"project":"55f0d412f3949a1700ce2c05","slug":"notes-id-put","sync_unique":"","title":"/notes/:id","type":"put","updates":[],"user":"57d5af6965a96a170037d0f1","version":"55f0d412f3949a1700ce2c08","childrenPages":[]}

put/notes/:id

Edit a note

Path Params

id:
integer
The ID of the note to update.

Body Params

personId:
integer
The ID of a person associated with this note.
subject:
string
You can give a note a title or subject using this field.
body:
string
The content of the note.
isHtml:
string
Weather the note is plain-text or HTML.

User Information

Try It Out

put
{{ tryResults.results }}
Method{{ tryResults.method }}
Request Headers
{{ tryResults.requestHeaders }}
URL{{ tryResults.url }}
Request Data
{{ tryResults.data }}
Status
Response Headers
{{ tryResults.responseHeaders }}

Definition

{{ api_url }}{{ page_api_url }}

Examples


Result Format



{"__v":0,"_id":"5840603963e13523002d01bf","api":{"examples":{"codes":[]},"results":{"codes":[{"status":200,"language":"json","code":"{}","name":""}]},"settings":"","auth":"required","params":[{"_id":"5840603963e13523002d01c0","ref":"","in":"path","required":false,"desc":"The ID of the note to delete.","default":"","type":"int","name":"id"}],"url":"/notes/:id"},"body":"","category":"584194f348904a100005169b","createdAt":"2016-12-01T17:39:05.560Z","excerpt":"Delete a note","githubsync":"","hidden":false,"isReference":true,"link_external":false,"link_url":"","next":{"pages":[],"description":""},"order":4,"parentDoc":null,"project":"55f0d412f3949a1700ce2c05","slug":"notesid","sync_unique":"","title":"/notes/:id","type":"delete","updates":[],"user":"57d5af6965a96a170037d0f1","version":"55f0d412f3949a1700ce2c08","childrenPages":[]}

delete/notes/:id

Delete a note

Path Params

id:
integer
The ID of the note to delete.

User Information

Try It Out

delete
{{ tryResults.results }}
Method{{ tryResults.method }}
Request Headers
{{ tryResults.requestHeaders }}
URL{{ tryResults.url }}
Request Data
{{ tryResults.data }}
Status
Response Headers
{{ tryResults.responseHeaders }}

Definition

{{ api_url }}{{ page_api_url }}

Result Format



{"__v":0,"_id":"58406215c050731900063546","api":{"examples":{"codes":[]},"results":{"codes":[{"status":200,"language":"json","code":"{\n  \"_metadata\": {\n    \"collection\": \"calls\",\n    \"offset\": 0,\n    \"limit\": 10,\n    \"total\": 5\n  },\n  \"calls\": [\n    {\n      \"id\": 18,\n      \"created\": \"2014-06-20T23:28:51Z\",\n      \"updated\": \"2014-08-12T17:24:22Z\",\n      \"createdById\": 4,\n      \"updatedById\": 4,\n      \"phone\": \"555-405-0815\",\n      \"personId\": 12254,\n      \"userId\": 4,\n      \"userName\": \"Agent White\",\n      \"note\": \"A note about the call\",\n      \"outcome\": \"Left Message\",\n      \"isIncoming\": false,\n      \"duration\": 63\n    },\n    ...\n  ]\n}","name":""},{"status":400,"language":"json","code":"{}","name":""}]},"settings":"","auth":"required","params":[{"_id":"58406215c050731900063549","ref":"","in":"query","required":false,"desc":"Number of results to return. Max 100.","default":"10","type":"int","name":"limit"},{"_id":"58406215c050731900063548","ref":"","in":"query","required":false,"desc":"Specifies the number of rows to skip, before starting to return results.","default":"0","type":"int","name":"offset"},{"_id":"58406215c050731900063547","ref":"","in":"query","required":false,"desc":"Finds calls related to a person ID.","default":"","type":"int","name":"personId"}],"url":"/calls"},"body":"","category":"5841950648904a100005169c","createdAt":"2016-12-01T17:47:01.035Z","excerpt":"Search for calls","githubsync":"","hidden":false,"isReference":true,"link_external":false,"link_url":"","next":{"pages":[],"description":""},"order":0,"parentDoc":null,"project":"55f0d412f3949a1700ce2c05","slug":"calls-get","sync_unique":"","title":"/calls","type":"get","updates":[],"user":"57d5af6965a96a170037d0f1","version":"55f0d412f3949a1700ce2c08","childrenPages":[]}

get/calls

Search for calls

Query Params

limit:
integer10
Number of results to return. Max 100.
offset:
integer0
Specifies the number of rows to skip, before starting to return results.
personId:
integer
Finds calls related to a person ID.

User Information

Try It Out

get
{{ tryResults.results }}
Method{{ tryResults.method }}
Request Headers
{{ tryResults.requestHeaders }}
URL{{ tryResults.url }}
Request Data
{{ tryResults.data }}
Status
Response Headers
{{ tryResults.responseHeaders }}

Definition

{{ api_url }}{{ page_api_url }}

Result Format



{"__v":0,"_id":"58406113c05073190006353f","api":{"examples":{"codes":[{"name":"JSON Example","language":"json","code":"{\n    \"phone\": \"555-405-0815\",\n    \"personId\": 12254,\n    \"note\": \"John didn't have time to talk, call back on friday\",\n    \"outcome\": \"Interested\",\n    \"isIncoming\": 0,\n    \"duration\": 63\n}"}]},"results":{"codes":[{"status":200,"language":"json","code":"{}","name":""},{"status":400,"language":"json","code":"{}","name":""}]},"settings":"","auth":"required","params":[{"_id":"58406113c050731900063545","ref":"","in":"body","required":false,"desc":"The log message entered for this call.","default":"","type":"string","name":"note"},{"_id":"58406113c050731900063544","ref":"","in":"body","required":false,"desc":"The ID of a person associated with this note.","default":"","type":"int","name":"personId"},{"_id":"58406113c050731900063543","ref":"","in":"body","required":false,"desc":"The phone number this call was made to or from","default":"","type":"string","name":"phone"},{"_id":"58406113c050731900063542","ref":"","in":"body","required":false,"desc":"The outcome of the call, which can be one of `Interested`, `Not Interested`, `Left Message`, `No Answer` or `Bad Number`.","default":"","type":"string","name":"outcome"},{"_id":"58406113c050731900063541","ref":"","in":"body","required":false,"desc":"Whether this was an incoming or outgoing call.","default":"","type":"boolean","name":"isIncoming"},{"_id":"58406113c050731900063540","ref":"","in":"body","required":false,"desc":"Length of the call in seconds.","default":"","type":"int","name":"duration"}],"url":"/calls"},"body":"","category":"5841950648904a100005169c","createdAt":"2016-12-01T17:42:43.370Z","excerpt":"Add a call","githubsync":"","hidden":false,"isReference":true,"link_external":false,"link_url":"","next":{"pages":[],"description":""},"order":1,"parentDoc":null,"project":"55f0d412f3949a1700ce2c05","slug":"calls-post","sync_unique":"","title":"/calls","type":"post","updates":[],"user":"57d5af6965a96a170037d0f1","version":"55f0d412f3949a1700ce2c08","childrenPages":[]}

post/calls

Add a call

Body Params

note:
string
The log message entered for this call.
personId:
integer
The ID of a person associated with this note.
phone:
string
The phone number this call was made to or from
outcome:
string
The outcome of the call, which can be one of `Interested`, `Not Interested`, `Left Message`, `No Answer` or `Bad Number`.
isIncoming:
boolean
Whether this was an incoming or outgoing call.
duration:
integer
Length of the call in seconds.

User Information

Try It Out

post
{{ tryResults.results }}
Method{{ tryResults.method }}
Request Headers
{{ tryResults.requestHeaders }}
URL{{ tryResults.url }}
Request Data
{{ tryResults.data }}
Status
Response Headers
{{ tryResults.responseHeaders }}

Definition

{{ api_url }}{{ page_api_url }}

Examples


Result Format



{"__v":0,"_id":"58406287c05073190006354a","api":{"examples":{"codes":[]},"results":{"codes":[{"status":200,"language":"json","code":"{\n  \"id\": 18,\n  \"created\": \"2014-06-20T23:28:51Z\",\n  \"updated\": \"2014-08-12T17:24:22Z\",\n  \"createdById\": 4,\n  \"updatedById\": 4,\n  \"phone\": \"555-405-0815\",\n  \"personId\": 12254,\n  \"userId\": 4,\n  \"userName\": \"Agent White\",\n  \"note\": \"A note about the call\",\n  \"outcome\": \"Left Message\",\n  \"isIncoming\": false,\n  \"duration\": 63\n}","name":""},{"status":400,"language":"json","code":"{}","name":""}]},"settings":"","auth":"required","params":[{"_id":"58406287c05073190006354b","ref":"","in":"path","required":false,"desc":"The ID of the call.","default":"","type":"int","name":"id"}],"url":"/calls/:id"},"body":"","category":"5841950648904a100005169c","createdAt":"2016-12-01T17:48:55.303Z","excerpt":"Retrieve a call by id","githubsync":"","hidden":false,"isReference":true,"link_external":false,"link_url":"","next":{"pages":[],"description":""},"order":2,"parentDoc":null,"project":"55f0d412f3949a1700ce2c05","slug":"calls-id-get","sync_unique":"","title":"/calls/:id","type":"get","updates":[],"user":"57d5af6965a96a170037d0f1","version":"55f0d412f3949a1700ce2c08","childrenPages":[]}

get/calls/:id

Retrieve a call by id

Path Params

id:
integer
The ID of the call.

User Information

Try It Out

get
{{ tryResults.results }}
Method{{ tryResults.method }}
Request Headers
{{ tryResults.requestHeaders }}
URL{{ tryResults.url }}
Request Data
{{ tryResults.data }}
Status
Response Headers
{{ tryResults.responseHeaders }}

Definition

{{ api_url }}{{ page_api_url }}

Result Format



{"__v":0,"_id":"584063bdc05073190006354c","api":{"examples":{"codes":[]},"results":{"codes":[{"status":200,"language":"json","code":"{\n  \"_metadata\": {\n    \"collection\": \"users\",\n    \"offset\": 0,\n    \"limit\": 10,\n    \"total\": 5\n  },\n  \"users\": [\n    {\n      \"id\": 7,\n      \"created\": \"2013-08-08T00:53:52Z\",\n      \"updated\": \"2014-06-04T14:57:37Z\",\n      \"name\": \"Kuno Woudt\",\n      \"firstName\": \"Kuno\",\n      \"lastName\": \"Woudt\",\n      \"email\": \"kuno@followupboss.com\",\n      \"phone\": \"5555551234\",\n      \"role\": \"Agent\",\n      \"status\": \"Active\",\n      \"timezone\": \"America/New_York\",\n      \"beta\": true,\n      \"isOwner\": false,\n      \"groups\": [\n        {\n          \"id\": 1,\n          \"name\": \"Buyer Leads\"\n        },\n        {\n          \"id\": 2,\n          \"name\": \"Seller Leads\"\n        }\n      ]\n    },\n    {\n      \"id\": 5,\n      \"created\": \"2013-05-05T22:55:19Z\",\n      \"updated\": \"2014-03-06T08:52:25Z\",\n      \"name\": \"Daniel Corkill\",\n      \"firstName\": \"Daniel\",\n      \"lastName\": \"Corkill\",\n      \"email\": \"dan@example.com\",\n      \"phone\": \"\",\n      \"role\": \"Broker\",\n      \"status\": \"Active\",\n      \"timezone\": \"Asia/Beirut\",\n      \"beta\": false,\n      \"isOwner\": false,\n      \"groups\": [\n        {\n          \"id\": 1,\n          \"name\": \"Buyer Leads\"\n        },\n        {\n          \"id\": 2,\n          \"name\": \"Seller Leads\"\n        }\n      ]\n    }\n    ...\n  ]\n}","name":""}]},"settings":"","auth":"required","params":[{"_id":"584063bdc050731900063552","ref":"","in":"query","required":false,"desc":"Number of results to return. Max 100.","default":"10","type":"int","name":"limit"},{"_id":"584063bdc050731900063551","ref":"","in":"query","required":false,"desc":"Specifies the number of rows to skip, before starting to return results.","default":"0","type":"int","name":"offset"},{"_id":"584063bdc050731900063550","ref":"","in":"query","required":false,"desc":"Field so sort by. Currently only `id`, `name` and `created` are available to sort on.","default":"","type":"string","name":"sort"},{"_id":"584063bdc05073190006354f","ref":"","in":"query","required":false,"desc":"Find users by a specific role: `Broker`, `Agent` or `Lender`.","default":"","type":"string","name":"role"},{"_id":"584063bdc05073190006354e","ref":"","in":"query","required":false,"desc":"Find a user by their full name.","default":"","type":"string","name":"name"},{"_id":"584063bdc05073190006354d","ref":"","in":"query","required":false,"desc":"Fine a user by their email.","default":"","type":"string","name":"email"}],"url":"/users"},"body":"","category":"5841950e48904a100005169d","createdAt":"2016-12-01T17:54:05.131Z","excerpt":"List all users or search for a user","githubsync":"","hidden":false,"isReference":true,"link_external":false,"link_url":"","next":{"pages":[],"description":""},"order":0,"parentDoc":null,"project":"55f0d412f3949a1700ce2c05","slug":"users-get","sync_unique":"","title":"/users","type":"get","updates":[],"user":"57d5af6965a96a170037d0f1","version":"55f0d412f3949a1700ce2c08","childrenPages":[]}

get/users

List all users or search for a user

Query Params

limit:
integer10
Number of results to return. Max 100.
offset:
integer0
Specifies the number of rows to skip, before starting to return results.
sort:
string
Field so sort by. Currently only `id`, `name` and `created` are available to sort on.
role:
string
Find users by a specific role: `Broker`, `Agent` or `Lender`.
name:
string
Find a user by their full name.
email:
string
Fine a user by their email.

User Information

Try It Out

get
{{ tryResults.results }}
Method{{ tryResults.method }}
Request Headers
{{ tryResults.requestHeaders }}
URL{{ tryResults.url }}
Request Data
{{ tryResults.data }}
Status
Response Headers
{{ tryResults.responseHeaders }}

Definition

{{ api_url }}{{ page_api_url }}

Result Format



{"__v":0,"_id":"584068e5e3e04b230055c6da","api":{"examples":{"codes":[]},"results":{"codes":[{"status":200,"language":"json","code":"{\n  \"id\": 5,\n  \"created\": \"2013-05-05T22:55:19Z\",\n  \"updated\": \"2014-03-06T08:52:25Z\",\n  \"name\": \"Daniel Corkill\",\n  \"firstName\": \"Daniel\",\n  \"lastName\": \"Corkill\",\n  \"email\": \"dan@example.com\",\n  \"phone\": \"\",\n  \"role\": \"Broker\",\n  \"status\": \"Active\",\n  \"timezone\": \"Asia/Beirut\",\n  \"beta\": false,\n  \"isOwner\": false,\n  \"groups\": [\n    {\n      \"id\": 1,\n      \"name\": \"Buyer Leads\"\n    },\n    {\n      \"id\": 2,\n      \"name\": \"Seller Leads\"\n    }\n  ]\n}","name":""}]},"settings":"","auth":"required","params":[{"_id":"584068e5e3e04b230055c6db","ref":"","in":"path","required":false,"desc":"The ID of a user.","default":"","type":"int","name":"id"}],"url":"/users/:id"},"body":"","category":"5841950e48904a100005169d","createdAt":"2016-12-01T18:16:05.419Z","excerpt":"Retrieve a user by id","githubsync":"","hidden":false,"isReference":true,"link_external":false,"link_url":"","next":{"pages":[],"description":""},"order":1,"parentDoc":null,"project":"55f0d412f3949a1700ce2c05","slug":"users-id-get","sync_unique":"","title":"/users/:id","type":"get","updates":[],"user":"57d5af6965a96a170037d0f1","version":"55f0d412f3949a1700ce2c08","childrenPages":[]}

get/users/:id

Retrieve a user by id

Path Params

id:
integer
The ID of a user.

User Information

Try It Out

get
{{ tryResults.results }}
Method{{ tryResults.method }}
Request Headers
{{ tryResults.requestHeaders }}
URL{{ tryResults.url }}
Request Data
{{ tryResults.data }}
Status
Response Headers
{{ tryResults.responseHeaders }}

Definition

{{ api_url }}{{ page_api_url }}

Result Format



{"__v":0,"_id":"58406a1e29e3ff0f000d85f7","api":{"examples":{"codes":[]},"results":{"codes":[{"status":200,"language":"json","code":"{\n  \"id\": 1,\n  \"name\": \"Gerald Leenerts\",\n  \"role\": \"admin\",\n  \"email\": \"gerald@followupboss.com\",\n  \"phone\": \"(123) 456-7890\",\n  \"timeZone\": \"America/Chicago\",\n  \"signature\": \"<div>Cheers,<br></div><div>-Gerald</div>\",\n  \"rawSignature\": \"<div>Cheers,<br></div><div>-Gerald</div>\",\n  \"apiKey\": \"...\",\n  \"algoliaKey\": \"...\",\n  \"intercomSettings\": {\n    \"app_id\": \"...\",\n    \"created_at\": \"1313236940\",\n    \"user_hash\": \"...\",\n    \"user_id\": \"1234-1\"\n  }\n  \"account\": 1234,\n  \"teamMember\": null,\n  \"beta\": true,\n  \"betaOnly\": false,\n  \"connectedEmail\": {\n    \"email\": \"gerald@followupboss.com\",\n    \"oauthProvider\": \"google\",\n    \"shareEmails\": false,\n    \"imapLeadProcessing\": true,\n    \"hasSmtp\": true\n  },\n  \"leadEmailAddress\": \"gerald@followupboss.me\",\n  \"callingEnabled\": true,\n  \"voicemailEnabled\": false,\n  \"voicemailUrl\": null,\n  \"callingCapabilityToken\": \"\",\n  \"isOwner\": true,\n  \"unreadConversationCount\": 0,\n  \"notifyBy\": \"Email only\",\n  \"features\": [\n    \"action-plans-smtp\",\n    \"call-recording\",\n    \"calling\",\n    \"link-tracking\"\n  ]\n}","name":""}]},"settings":"","auth":"required","params":[],"url":"/me"},"body":"","category":"5841950e48904a100005169d","createdAt":"2016-12-01T18:21:18.394Z","excerpt":"Retrieve information about the currently authenticated user","githubsync":"","hidden":false,"isReference":true,"link_external":false,"link_url":"","next":{"pages":[],"description":""},"order":2,"parentDoc":null,"project":"55f0d412f3949a1700ce2c05","slug":"me","sync_unique":"","title":"/me","type":"get","updates":[],"user":"57d5af6965a96a170037d0f1","version":"55f0d412f3949a1700ce2c08","childrenPages":[]}

get/me

Retrieve information about the currently authenticated user


User Information

Try It Out

get
{{ tryResults.results }}
Method{{ tryResults.method }}
Request Headers
{{ tryResults.requestHeaders }}
URL{{ tryResults.url }}
Request Data
{{ tryResults.data }}
Status
Response Headers
{{ tryResults.responseHeaders }}

Definition

{{ api_url }}{{ page_api_url }}

Result Format



{"__v":0,"_id":"58406c5529e3ff0f000d85fd","api":{"examples":{"codes":[]},"results":{"codes":[{"status":200,"language":"json","code":"{\n  \"_metadata\": {\n    \"collection\": \"smartlists\",\n    \"offset\": 0,\n    \"limit\": 100,\n    \"total\": 12\n  },\n  \"smartlists\": [\n    { \"id\": 14, \"name\": \"Stay In Touch\" },\n    { \"id\": 13, \"name\": \"Email Activity\" },\n    { \"id\": 12, \"name\": \"IDX Activity\" },\n    { \"id\": 9,  \"name\": \"Sphere\" },\n    { \"id\": 8,  \"name\": \"Past Clients\" },\n    { \"id\": 7,  \"name\": \"Closed\" },\n    { \"id\": 6,  \"name\": \"Pending\" },\n    { \"id\": 5,  \"name\": \"Sellers\" },\n    { \"id\": 4,  \"name\": \"Buyers\" },\n    { \"id\": 3,  \"name\": \"Nurture\" },\n    { \"id\": 2,  \"name\": \"Hot Prospects\" },\n    { \"id\": 1,  \"name\": \"Leads\" }\n  ]\n}","name":""}]},"settings":"","auth":"required","params":[{"_id":"58406c5529e3ff0f000d85ff","ref":"","in":"query","required":false,"desc":"Number of results to return. Max 100.","default":"10","type":"int","name":"limit"},{"_id":"58406c5529e3ff0f000d85fe","ref":"","in":"query","required":false,"desc":"Specifies the number of rows to skip, before starting to return results.","default":"0","type":"int","name":"offset"}],"url":"/smartLists"},"body":"","category":"5841951548904a100005169e","createdAt":"2016-12-01T18:30:45.493Z","excerpt":"List all smart lists","githubsync":"","hidden":false,"isReference":true,"link_external":false,"link_url":"","next":{"pages":[],"description":""},"order":0,"parentDoc":null,"project":"55f0d412f3949a1700ce2c05","slug":"smart-lists-get","sync_unique":"","title":"/smartLists","type":"get","updates":[],"user":"57d5af6965a96a170037d0f1","version":"55f0d412f3949a1700ce2c08","childrenPages":[]}

get/smartLists

List all smart lists

Query Params

limit:
integer10
Number of results to return. Max 100.
offset:
integer0
Specifies the number of rows to skip, before starting to return results.

User Information

Try It Out

get
{{ tryResults.results }}
Method{{ tryResults.method }}
Request Headers
{{ tryResults.requestHeaders }}
URL{{ tryResults.url }}
Request Data
{{ tryResults.data }}
Status
Response Headers
{{ tryResults.responseHeaders }}

Definition

{{ api_url }}{{ page_api_url }}

Result Format



{"__v":0,"_id":"58406c93c6c9322300273fb5","api":{"settings":"","results":{"codes":[{"status":200,"language":"json","code":"{\n  \"id\": 6,\n  \"name\": \"Pending\"\n}","name":""}]},"examples":{"codes":[]},"auth":"required","params":[{"_id":"58406c93c6c9322300273fb6","ref":"","in":"path","required":false,"desc":"The ID of the smart list.","default":"","type":"int","name":"id"}],"url":"/smartLists/:id"},"body":"","category":"5841951548904a100005169e","createdAt":"2016-12-01T18:31:47.352Z","excerpt":"Retrieve a smart list by id","githubsync":"","hidden":false,"isReference":true,"link_external":false,"link_url":"","next":{"pages":[],"description":""},"order":1,"parentDoc":null,"project":"55f0d412f3949a1700ce2c05","slug":"smart-list-id-get","sync_unique":"","title":"/smartLists/:id","type":"get","updates":[],"user":"57d5af6965a96a170037d0f1","version":"55f0d412f3949a1700ce2c08","childrenPages":[]}

get/smartLists/:id

Retrieve a smart list by id

Path Params

id:
integer
The ID of the smart list.

User Information

Try It Out

get
{{ tryResults.results }}
Method{{ tryResults.method }}
Request Headers
{{ tryResults.requestHeaders }}
URL{{ tryResults.url }}
Request Data
{{ tryResults.data }}
Status
Response Headers
{{ tryResults.responseHeaders }}

Definition

{{ api_url }}{{ page_api_url }}

Result Format



{"__v":0,"_id":"58409a1ec6c9322300273fdb","api":{"auth":"required","examples":{"codes":[]},"params":[{"_id":"58409a1ec6c9322300273fdf","ref":"","in":"query","required":false,"desc":"Number of results to return. Max 100.","default":"10","type":"int","name":"limit"},{"_id":"58409a1ec6c9322300273fde","ref":"","in":"query","required":false,"desc":"Specifies the number of rows to skip, before starting to return results.","default":"0","type":"int","name":"offset"},{"_id":"58409a1ec6c9322300273fdd","ref":"","in":"query","required":false,"desc":"Sort action plans by `id` or `name`.","default":"","type":"string","name":"sort"},{"_id":"58409a1ec6c9322300273fdc","default":"","desc":"Search for action plans with one of the following status: `Active` or `Deleted`.","in":"query","name":"status","ref":"","required":false,"type":"array_string"}],"results":{"codes":[{"status":200,"language":"json","code":"{\n  \"_metadata\": {\n    \"collection\": \"actionPlans\",\n    \"offset\": 0,\n    \"limit\": 10,\n    \"total\": 6\n  },\n  \"actionPlans\": [\n    {\n      \"id\": 6,\n      \"created\": \"2014-08-24T22:12:53Z\",\n      \"updated\": \"2014-08-24T22:12:53Z\",\n      \"name\": \"Qualify buyer leads\",\n      \"status\": \"Active\"\n    },\n    ...\n  ]\n}","name":""},{"status":400,"language":"json","code":"{}","name":""}]},"settings":"","url":"/actionPlans"},"body":"","category":"5841951e48904a100005169f","createdAt":"2016-12-01T21:46:06.619Z","excerpt":"List or search Action Plans","githubsync":"","hidden":false,"isReference":true,"link_external":false,"link_url":"","next":{"pages":[],"description":""},"order":0,"parentDoc":null,"project":"55f0d412f3949a1700ce2c05","slug":"action-plans-get","sync_unique":"","title":"/actionPlans","type":"get","updates":[],"user":"57d5af6965a96a170037d0f1","version":"55f0d412f3949a1700ce2c08","childrenPages":[]}

get/actionPlans

List or search Action Plans

Query Params

limit:
integer10
Number of results to return. Max 100.
offset:
integer0
Specifies the number of rows to skip, before starting to return results.
sort:
string
Sort action plans by `id` or `name`.
status:
array of strings
Search for action plans with one of the following status: `Active` or `Deleted`.

User Information

Try It Out

get
{{ tryResults.results }}
Method{{ tryResults.method }}
Request Headers
{{ tryResults.requestHeaders }}
URL{{ tryResults.url }}
Request Data
{{ tryResults.data }}
Status
Response Headers
{{ tryResults.responseHeaders }}

Definition

{{ api_url }}{{ page_api_url }}

Result Format



{"__v":1,"_id":"58409ada63e13523002d0220","api":{"auth":"required","examples":{"codes":[]},"params":[{"_id":"58409ada63e13523002d0222","ref":"","in":"query","required":false,"desc":"Number of results to return. Max 100.","default":"10","type":"int","name":"limit"},{"_id":"58409ada63e13523002d0221","ref":"","in":"query","required":false,"desc":"Specifies the number of rows to skip, before starting to return results.","default":"0","type":"int","name":"offset"},{"_id":"58499875fcabe31900998f27","ref":"","in":"query","required":false,"desc":"List action plans applied to the specified person","default":"","type":"int","name":"personId"},{"_id":"58499875fcabe31900998f26","ref":"","in":"query","required":false,"desc":"List people on the specified action plan","default":"","type":"int","name":"actionPlanId"}],"results":{"codes":[{"status":200,"language":"json","code":"{\n  \"_metadata\": {\n    \"collection\": \"actionPlansPeople\",\n    \"offset\": 0,\n    \"limit\": 10,\n    \"total\": 2\n  },\n  \"actionPlansPeople\": [\n    {\n      \"id\": 2,\n      \"created\": \"2014-08-19T18:31:43Z\",\n      \"updated\": \"2014-08-19T18:31:43Z\",\n      \"personId\": 10810,\n      \"actionPlanId\": 2,\n      \"status\": \"Running\"\n    },\n    ...\n  ]\n}\n  ","name":""}]},"settings":"","url":"/actionPlansPeople"},"body":"","category":"5841951e48904a100005169f","createdAt":"2016-12-01T21:49:14.689Z","excerpt":"List action plans applied to a particular person, or list people on a particular action plan","githubsync":"","hidden":false,"isReference":true,"link_external":false,"link_url":"","next":{"pages":[],"description":""},"order":1,"parentDoc":null,"project":"55f0d412f3949a1700ce2c05","slug":"action-plans-people-get","sync_unique":"","title":"/actionPlansPeople","type":"get","updates":[],"user":"57d5af6965a96a170037d0f1","version":"55f0d412f3949a1700ce2c08","childrenPages":[]}

get/actionPlansPeople

List action plans applied to a particular person, or list people on a particular action plan

Query Params

limit:
integer10
Number of results to return. Max 100.
offset:
integer0
Specifies the number of rows to skip, before starting to return results.
personId:
integer
List action plans applied to the specified person
actionPlanId:
integer
List people on the specified action plan

User Information

Try It Out

get
{{ tryResults.results }}
Method{{ tryResults.method }}
Request Headers
{{ tryResults.requestHeaders }}
URL{{ tryResults.url }}
Request Data
{{ tryResults.data }}
Status
Response Headers
{{ tryResults.responseHeaders }}

Definition

{{ api_url }}{{ page_api_url }}

Result Format



{"__v":0,"_id":"58409b46c6c9322300273fe1","api":{"examples":{"codes":[]},"results":{"codes":[{"status":200,"language":"json","code":"{}"}]},"settings":"","auth":"required","params":[{"_id":"58409b46c6c9322300273fe3","ref":"","in":"body","required":false,"desc":"The ID of the person to whom you would like to apply the action plan.","default":"","type":"int","name":"personId"},{"_id":"58409b46c6c9322300273fe2","ref":"","in":"body","required":false,"desc":"The ID of the action plan to apply","default":"","type":"int","name":"actionPlanId"}],"url":"/actionPlansPeople"},"body":"","category":"5841951e48904a100005169f","createdAt":"2016-12-01T21:51:02.818Z","excerpt":"Apply an action plan to a person","githubsync":"","hidden":false,"isReference":true,"link_external":false,"link_url":"","next":{"pages":[],"description":""},"order":2,"parentDoc":null,"project":"55f0d412f3949a1700ce2c05","slug":"action-plans-people-post","sync_unique":"","title":"/actionPlansPeople","type":"post","updates":[],"user":"57d5af6965a96a170037d0f1","version":"55f0d412f3949a1700ce2c08","childrenPages":[]}

post/actionPlansPeople

Apply an action plan to a person

Body Params

personId:
integer
The ID of the person to whom you would like to apply the action plan.
actionPlanId:
integer
The ID of the action plan to apply

User Information

Try It Out

post
{{ tryResults.results }}
Method{{ tryResults.method }}
Request Headers
{{ tryResults.requestHeaders }}
URL{{ tryResults.url }}
Request Data
{{ tryResults.data }}
Status
Response Headers
{{ tryResults.responseHeaders }}

Definition

{{ api_url }}{{ page_api_url }}

Result Format



{"__v":0,"_id":"58409bc629e3ff0f000d8690","api":{"settings":"","results":{"codes":[{"status":200,"language":"json","code":"{}"}]},"examples":{"codes":[]},"auth":"required","params":[{"_id":"58409bc629e3ff0f000d8692","ref":"","in":"path","required":false,"desc":"The ID of the action plan people.","default":"","type":"int","name":"id"},{"_id":"58409bc629e3ff0f000d8691","ref":"","in":"body","required":false,"desc":"The desired state of the applied action plan. Either `Running` or `Paused`.","default":"","type":"string","name":"status"}],"url":"/actionPlansPeople/:id"},"body":"","category":"5841951e48904a100005169f","createdAt":"2016-12-01T21:53:10.984Z","excerpt":"","githubsync":"","hidden":false,"isReference":true,"link_external":false,"link_url":"","next":{"pages":[],"description":""},"order":3,"parentDoc":null,"project":"55f0d412f3949a1700ce2c05","slug":"action-plans-people-id-put","sync_unique":"","title":"/actionPlansPeople/:id","type":"put","updates":[],"user":"57d5af6965a96a170037d0f1","version":"55f0d412f3949a1700ce2c08","childrenPages":[]}

put/actionPlansPeople/:id


Path Params

id:
integer
The ID of the action plan people.

Body Params

status:
string
The desired state of the applied action plan. Either `Running` or `Paused`.

User Information

Try It Out

put
{{ tryResults.results }}
Method{{ tryResults.method }}
Request Headers
{{ tryResults.requestHeaders }}
URL{{ tryResults.url }}
Request Data
{{ tryResults.data }}
Status
Response Headers
{{ tryResults.responseHeaders }}

Definition

{{ api_url }}{{ page_api_url }}

Result Format



{"__v":0,"_id":"58406d3829e3ff0f000d8601","api":{"examples":{"codes":[]},"results":{"codes":[{"status":200,"language":"json","code":"{\n  \"_metadata\": {\n    \"collection\": \"templates\",\n    \"offset\": 0,\n    \"limit\": 10,\n    \"total\": 5\n  },\n  \"templates\": [\n    {\n      \"id\": 6,\n      \"created\": \"2014-02-28T08:45:46Z\",\n      \"updated\": \"2014-08-12T17:24:22Z\",\n      \"createdById\": 14,\n      \"updatedById\": 14,\n      \"name\": \"I am here to help\",\n      \"isMobile\": 1,\n      \"isShared\": true,\n      \"body\": \"Hi %contact_first_name%, I am here to help, ...\",\n      \"subject\": \"%inquiry_address%\",\n      \"isEditable\": true,\n      \"isDeletable\": true,\n      \"actionPlans\": [\n        {\n            \"id\": 1,\n            \"name\": \"Buyers engagement emails\"\n        }\n      ]\n    }\n    ...\n  ]\n}","name":""}]},"settings":"","auth":"required","params":[{"_id":"58406d3829e3ff0f000d8603","ref":"","in":"query","required":false,"desc":"Number of results to return. Max 100.","default":"10","type":"int","name":"limit"},{"_id":"58406d3829e3ff0f000d8602","ref":"","in":"query","required":false,"desc":"Specifies the number of rows to skip, before starting to return results.","default":"0","type":"int","name":"offset"}],"url":"/templates"},"body":"[block:callout]\n{\n  \"type\": \"info\",\n  \"title\": \"Templates use Merge Fields\",\n  \"body\": \"Within templates, we need a way to modify the template with contact data. We call these Merge Fields. For more information, see [Merge Fields](/docs/merge-fields).\"\n}\n[/block]","category":"583f61a11602030f003dae2b","createdAt":"2016-12-01T18:34:32.282Z","excerpt":"List all email templates","githubsync":"","hidden":false,"isReference":true,"link_external":false,"link_url":"","next":{"pages":[],"description":""},"order":0,"parentDoc":null,"project":"55f0d412f3949a1700ce2c05","slug":"templates-get","sync_unique":"","title":"/templates","type":"get","updates":[],"user":"57d5af6965a96a170037d0f1","version":"55f0d412f3949a1700ce2c08","childrenPages":[]}

get/templates

List all email templates

Query Params

limit:
integer10
Number of results to return. Max 100.
offset:
integer0
Specifies the number of rows to skip, before starting to return results.
[block:callout] { "type": "info", "title": "Templates use Merge Fields", "body": "Within templates, we need a way to modify the template with contact data. We call these Merge Fields. For more information, see [Merge Fields](/docs/merge-fields)." } [/block]

User Information

Try It Out

get
{{ tryResults.results }}
Method{{ tryResults.method }}
Request Headers
{{ tryResults.requestHeaders }}
URL{{ tryResults.url }}
Request Data
{{ tryResults.data }}
Status
Response Headers
{{ tryResults.responseHeaders }}

Definition

{{ api_url }}{{ page_api_url }}

Result Format



[block:callout] { "type": "info", "title": "Templates use Merge Fields", "body": "Within templates, we need a way to modify the template with contact data. We call these Merge Fields. For more information, see [Merge Fields](/docs/merge-fields)." } [/block]
{"__v":1,"_id":"58406d70e3e04b230055c6e6","api":{"auth":"required","examples":{"codes":[]},"params":[{"_id":"58406d70e3e04b230055c6e7","ref":"","in":"path","required":false,"desc":"The ID of the template","default":"","type":"int","name":"id"},{"_id":"584991fb3bcfb30f00dde6d7","ref":"","in":"query","required":false,"desc":"Person ID, when specified the returned template will have been merged with the specified person record and the current user record.","default":"","type":"int","name":"mergePersonId"}],"results":{"codes":[{"status":200,"language":"json","code":"{\n  \"id\": 6,\n  \"created\": \"2014-02-28T08:45:46Z\",\n  \"updated\": \"2014-08-12T17:24:22Z\",\n  \"createdById\": 14,\n  \"updatedById\": 14,\n  \"name\": \"I am here to help\",\n  \"isMobile\": 1,\n  \"isShared\": true,\n  \"body\": \"Hi %contact_first_name%, I am here to help, ...\",\n  \"subject\": \"Your property inquiry from Zillow\",\n  \"isEditable\": true,\n  \"isDeletable\": true,\n  \"actionPlans\": [\n    {\n        \"id\": 1,\n        \"name\": \"Buyers engagement emails\"\n    }\n  ]\n}","name":""}]},"settings":"","url":"/templates/:id"},"body":"[block:callout]\n{\n  \"type\": \"info\",\n  \"title\": \"Templates use Merge Fields\",\n  \"body\": \"Within templates, we need a way to modify the template with contact data. We call these Merge Fields. For more information, see [Merge Fields](/docs/merge-fields).\"\n}\n[/block]","category":"583f61a11602030f003dae2b","createdAt":"2016-12-01T18:35:28.448Z","excerpt":"Retrieve a template by id, optionally merging fields","githubsync":"","hidden":false,"isReference":true,"link_external":false,"link_url":"","next":{"pages":[],"description":""},"order":1,"parentDoc":null,"project":"55f0d412f3949a1700ce2c05","slug":"templates-id-get","sync_unique":"","title":"/templates/:id","type":"get","updates":[],"user":"57d5af6965a96a170037d0f1","version":"55f0d412f3949a1700ce2c08","childrenPages":[]}

get/templates/:id

Retrieve a template by id, optionally merging fields

Path Params

id:
integer
The ID of the template

Query Params

mergePersonId:
integer
Person ID, when specified the returned template will have been merged with the specified person record and the current user record.
[block:callout] { "type": "info", "title": "Templates use Merge Fields", "body": "Within templates, we need a way to modify the template with contact data. We call these Merge Fields. For more information, see [Merge Fields](/docs/merge-fields)." } [/block]

User Information

Try It Out

get
{{ tryResults.results }}
Method{{ tryResults.method }}
Request Headers
{{ tryResults.requestHeaders }}
URL{{ tryResults.url }}
Request Data
{{ tryResults.data }}
Status
Response Headers
{{ tryResults.responseHeaders }}

Definition

{{ api_url }}{{ page_api_url }}

Result Format



[block:callout] { "type": "info", "title": "Templates use Merge Fields", "body": "Within templates, we need a way to modify the template with contact data. We call these Merge Fields. For more information, see [Merge Fields](/docs/merge-fields)." } [/block]
{"__v":0,"_id":"58409cd763e13523002d0224","api":{"auth":"required","examples":{"codes":[]},"params":[{"_id":"58409cd763e13523002d0229","ref":"","in":"query","required":false,"desc":"Number of results to return. Max 100.","default":"10","type":"int","name":"limit"},{"_id":"58409cd763e13523002d0228","ref":"","in":"query","required":false,"desc":"Specifies the number of rows to skip, before starting to return results.","default":"0","type":"int","name":"offset"},{"_id":"58409cd763e13523002d0227","default":"","desc":"Find email marketing events based on type. Options include `delivered`, `dropped`, `bounced`, `soft-bounce`, `hard-bounce`, `unsubscribe`, `spamreport`, `open` and `click`.","in":"query","name":"type","ref":"","required":false,"type":"array_string"},{"_id":"58409cd763e13523002d0226","default":"","desc":"Find email marketing events by person ID.","in":"query","name":"personId","ref":"","required":false,"type":"int"},{"_id":"58409cd763e13523002d0225","default":"","desc":"Find email marketing events that have been updated after the specified time.","in":"query","name":"updatedAfter","ref":"","required":false,"type":"timestamp"}],"results":{"codes":[{"status":200,"language":"json","code":"{\n  \"_metadata\": {\n    \"collection\": \"emEvents\",\n    \"offset\": 0,\n    \"limit\": 10,\n    \"total\": 9\n  },\n  \"emEvents\": [\n    {\n      \"count\": 2,\n      \"type\": \"open\",\n      \"personId\": 10911,\n      \"campaignId\": 1,\n      \"campaignName\": \"Your home search\",\n      \"created\": \"2014-01-03T19:20:49Z\",\n      \"updated\": \"2014-07-18T19:20:49Z\"\n    },\n    ...\n  ]\n}","name":""}]},"settings":"","url":"/emEvents"},"body":"","category":"5841952648904a10000516a0","createdAt":"2016-12-01T21:57:43.067Z","excerpt":"List of Email Marketing Events","githubsync":"","hidden":false,"isReference":true,"link_external":false,"link_url":"","next":{"pages":[],"description":""},"order":0,"parentDoc":null,"project":"55f0d412f3949a1700ce2c05","slug":"em-events-get","sync_unique":"","title":"/emEvents","type":"get","updates":[],"user":"57d5af6965a96a170037d0f1","version":"55f0d412f3949a1700ce2c08","childrenPages":[]}

get/emEvents

List of Email Marketing Events

Query Params

limit:
integer10
Number of results to return. Max 100.
offset:
integer0
Specifies the number of rows to skip, before starting to return results.
type:
array of strings
Find email marketing events based on type. Options include `delivered`, `dropped`, `bounced`, `soft-bounce`, `hard-bounce`, `unsubscribe`, `spamreport`, `open` and `click`.
personId:
integer
Find email marketing events by person ID.
updatedAfter:
timestamp
Find email marketing events that have been updated after the specified time.

User Information

Try It Out

get
{{ tryResults.results }}
Method{{ tryResults.method }}
Request Headers
{{ tryResults.requestHeaders }}
URL{{ tryResults.url }}
Request Data
{{ tryResults.data }}
Status
Response Headers
{{ tryResults.responseHeaders }}

Definition

{{ api_url }}{{ page_api_url }}

Result Format



{"__v":0,"_id":"58409d3729e3ff0f000d8694","api":{"examples":{"codes":[]},"results":{"codes":[{"status":200,"language":"json","code":"{\n    \"id\": 944,\n    \"type\": \"click\",\n    \"occurredAt\": \"2016-10-07T15:37:27Z\",\n    \"personId\": 31091,\n    \"userId\": 15,\n    \"origin\": \"MailChimp\",\n    \"recipient\": \"patricia@gmail.com\",\n    \"campaignId\": 357,\n    \"campaignName\": \"\",\n    \"emailId\": 0,\n    \"emailTemplateId\": 0,\n    \"actionPlanId\": 0,\n    \"url\": null,\n    \"recipientName\": \"Patricia Smith\"\n}","name":""}]},"settings":"","auth":"required","params":[{"_id":"58409d3729e3ff0f000d8695","ref":"","in":"path","required":false,"desc":"The ID of the email marketing event.","default":"","type":"int","name":"id"}],"url":"/emEvents/:id"},"body":"","category":"5841952648904a10000516a0","createdAt":"2016-12-01T21:59:19.668Z","excerpt":"Get an Email Marketing Event","githubsync":"","hidden":false,"isReference":true,"link_external":false,"link_url":"","next":{"pages":[],"description":""},"order":1,"parentDoc":null,"project":"55f0d412f3949a1700ce2c05","slug":"em-events-id-get","sync_unique":"","title":"/emEvents/:id","type":"get","updates":[],"user":"57d5af6965a96a170037d0f1","version":"55f0d412f3949a1700ce2c08","childrenPages":[]}

get/emEvents/:id

Get an Email Marketing Event

Path Params

id:
integer
The ID of the email marketing event.

User Information

Try It Out

get
{{ tryResults.results }}
Method{{ tryResults.method }}
Request Headers
{{ tryResults.requestHeaders }}
URL{{ tryResults.url }}
Request Data
{{ tryResults.data }}
Status
Response Headers
{{ tryResults.responseHeaders }}

Definition

{{ api_url }}{{ page_api_url }}

Result Format



{"__v":0,"_id":"5840a1a6c0507319000635a3","api":{"examples":{"codes":[]},"results":{"codes":[{"status":200,"language":"json","code":"{\n  \"_metadata\": {\n    \"collection\": \"customfields\",\n    \"offset\": 0,\n    \"limit\": 10,\n    \"total\": \"4\"\n  },\n  \"customfields\": [\n    {\n      \"id\": 2,\n      \"label\": \"Birthday\",\n      \"name\": \"customBirthday\",\n      \"type\": \"date\",\n      \"isRecurring\": true\n    },\n    {\n      \"id\": 4,\n      \"label\": \"Facebook\",\n      \"name\": \"customFacebook\",\n      \"type\": \"text\"\n    },\n    {\n      \"id\": 6,\n      \"label\": \"Looking for\",\n      \"name\": \"customLookingFor\",\n      \"type\": \"dropdown\",\n      \"choices\": [\n          \"Apartment\",\n          \"Townhouse\",\n          \"Detached House\"\n      ]\n    },\n    {\n      \"id\": 7,\n      \"label\": \"Close price\",\n      \"name\": \"customClosePrice\",\n      \"type\": \"number\"\n    }\n  ]\n}","name":""}]},"settings":"","auth":"required","params":[{"_id":"5840a1a6c0507319000635a6","ref":"","in":"query","required":false,"desc":"Number of results to return. Max 100.","default":"10","type":"int","name":"limit"},{"_id":"5840a1a6c0507319000635a5","ref":"","in":"query","required":false,"desc":"Specifies the number of rows to skip, before starting to return results.","default":"0","type":"int","name":"offset"},{"_id":"5840a1a6c0507319000635a4","ref":"","in":"query","required":false,"desc":"Find custom field by label.","default":"","type":"string","name":"label"}],"url":"/customFields"},"body":"","category":"5841952f48904a10000516a1","createdAt":"2016-12-01T22:18:14.358Z","excerpt":"List all custom fields available in your account.\n\n Custom fields can be used when adding an event, adding a person or updating a person. The account owner can add/edit/delete custom fields in Follow Up Boss, see [using custom fields](http://support.followupboss.com/article/219-using-custom-fields) for more info.","githubsync":"","hidden":false,"isReference":true,"link_external":false,"link_url":"","next":{"pages":[],"description":""},"order":0,"parentDoc":null,"project":"55f0d412f3949a1700ce2c05","slug":"custom-fields-get","sync_unique":"","title":"/customFields","type":"get","updates":[],"user":"57d5af6965a96a170037d0f1","version":"55f0d412f3949a1700ce2c08","childrenPages":[]}

get/customFields

List all custom fields available in your account. Custom fields can be used when adding an event, adding a person or updating a person. The account owner can add/edit/delete custom fields in Follow Up Boss, see [using custom fields](http://support.followupboss.com/article/219-using-custom-fields) for more info.

Query Params

limit:
integer10
Number of results to return. Max 100.
offset:
integer0
Specifies the number of rows to skip, before starting to return results.
label:
string
Find custom field by label.

User Information

Try It Out

get
{{ tryResults.results }}
Method{{ tryResults.method }}
Request Headers
{{ tryResults.requestHeaders }}
URL{{ tryResults.url }}
Request Data
{{ tryResults.data }}
Status
Response Headers
{{ tryResults.responseHeaders }}

Definition

{{ api_url }}{{ page_api_url }}

Result Format



{"__v":0,"_id":"5840a1d9c6c9322300273fe8","api":{"examples":{"codes":[]},"results":{"codes":[{"status":200,"language":"json","code":"{\n    \"id\": 6,\n    \"label\": \"Looking for\",\n    \"name\": \"customLookingFor\",\n    \"type\": \"dropdown\",\n    \"choices\": [\n        \"Apartment\",\n        \"Townhouse\",\n        \"Detached House\"\n    ]\n}","name":""}]},"settings":"","auth":"required","params":[{"_id":"5840a1d9c6c9322300273fe9","ref":"","in":"path","required":false,"desc":"The ID of a custom field.","default":"","type":"int","name":"id"}],"url":"/customFields/:id"},"body":"","category":"5841952f48904a10000516a1","createdAt":"2016-12-01T22:19:05.568Z","excerpt":"","githubsync":"","hidden":false,"isReference":true,"link_external":false,"link_url":"","next":{"pages":[],"description":""},"order":1,"parentDoc":null,"project":"55f0d412f3949a1700ce2c05","slug":"custom-fields-id-get","sync_unique":"","title":"/customFields/:id","type":"get","updates":[],"user":"57d5af6965a96a170037d0f1","version":"55f0d412f3949a1700ce2c08","childrenPages":[]}

get/customFields/:id


Path Params

id:
integer
The ID of a custom field.

User Information

Try It Out

get
{{ tryResults.results }}
Method{{ tryResults.method }}
Request Headers
{{ tryResults.requestHeaders }}
URL{{ tryResults.url }}
Request Data
{{ tryResults.data }}
Status
Response Headers
{{ tryResults.responseHeaders }}

Definition

{{ api_url }}{{ page_api_url }}

Result Format



{"__v":2,"_id":"5849a570fcabe31900998f33","api":{"auth":"required","examples":{"codes":[]},"params":[{"_id":"5849a6ebb781ea1b009cbe7f","ref":"","in":"query","required":false,"desc":"Number of results to return. Max 100.","default":"10","type":"int","name":"limit"},{"_id":"5849a6ebb781ea1b009cbe7e","ref":"","in":"query","required":false,"desc":"Specifies the number of rows to skip, before starting to return results.","default":"0","type":"int","name":"offset"},{"_id":"5849a7640e1b5e0f00854064","ref":"","in":"query","required":false,"desc":"Sorts the stages by `orderWeight`, `id` or `name`.","default":"orderWeight","type":"string","name":"sort"}],"results":{"codes":[{"status":200,"language":"json","code":"{\n  \"_metadata\": {\n    \"collection\": \"stages\",\n    \"offset\": 0,\n    \"limit\": 20,\n    \"total\": 8\n  },\n  \"stages\": [\n    {\n      \"id\": 1,\n      \"name\": \"Contact\",\n      \"orderWeight\": 1000,\n      \"isProtected\": false,\n      \"peopleCount\": 16\n    },\n    {\n      \"id\": 5,\n      \"name\": \"Buyer\",\n      \"orderWeight\": 2000,\n      \"isProtected\": false,\n      \"peopleCount\": 40\n    },\n    {\n      \"id\": 2,\n      \"name\": \"Lead\",\n      \"orderWeight\": 3000,\n      \"isProtected\": true,\n      \"peopleCount\": 12077\n    },\n    {\n      \"id\": 4,\n      \"name\": \"Nurture\",\n      \"orderWeight\": 4000,\n      \"isProtected\": false,\n      \"peopleCount\": 66\n    },\n    {\n      \"id\": 8,\n      \"name\": \"Closed\",\n      \"orderWeight\": 5000,\n      \"isProtected\": true,\n      \"peopleCount\": 15\n    },\n    {\n      \"id\": 9,\n      \"name\": \"Past Client\",\n      \"orderWeight\": 6000,\n      \"isProtected\": false,\n      \"peopleCount\": 98\n    },\n    {\n      \"id\": 10,\n      \"name\": \"Sphere\",\n      \"orderWeight\": 7000,\n      \"isProtected\": false,\n      \"peopleCount\": 17\n    },\n    {\n      \"id\": 11,\n      \"name\": \"Trash\",\n      \"orderWeight\": 8000,\n      \"isProtected\": true,\n      \"peopleCount\": 892\n    }\n  ]\n}","name":""}]},"settings":"","url":"/stages"},"body":"","category":"5849a5500385050f00dd4106","createdAt":"2016-12-08T18:24:48.765Z","excerpt":"","githubsync":"","hidden":false,"isReference":true,"link_external":false,"link_url":"","next":{"pages":[],"description":""},"order":0,"parentDoc":null,"project":"55f0d412f3949a1700ce2c05","slug":"stages-get","sync_unique":"","title":"/stages","type":"get","updates":[],"user":"57d5af6965a96a170037d0f1","version":"55f0d412f3949a1700ce2c08","childrenPages":[]}

get/stages


Query Params

limit:
integer10
Number of results to return. Max 100.
offset:
integer0
Specifies the number of rows to skip, before starting to return results.
sort:
stringorderWeight
Sorts the stages by `orderWeight`, `id` or `name`.

User Information

Try It Out

get
{{ tryResults.results }}
Method{{ tryResults.method }}
Request Headers
{{ tryResults.requestHeaders }}
URL{{ tryResults.url }}
Request Data
{{ tryResults.data }}
Status
Response Headers
{{ tryResults.responseHeaders }}

Definition

{{ api_url }}{{ page_api_url }}

Result Format



{"__v":1,"_id":"5849a5b03bcfb30f00dde6e9","api":{"auth":"required","examples":{"codes":[]},"params":[{"_id":"5849a7d9fcabe31900998f37","ref":"","in":"body","required":true,"desc":"Name of the stage","default":"","type":"string","name":"name"},{"_id":"5849a7d9fcabe31900998f36","default":"1000","desc":"Helps to set a specific sort order.","in":"body","name":"orderWeight","ref":"","required":false,"type":"int"}],"results":{"codes":[{"status":200,"language":"json","code":"{\n  \"id\": 7,\n  \"name\": \"Pending\",\n  \"orderWeight\": 7000,\n  \"isProtected\": false,\n  \"peopleCount\": 10\n}","name":""},{"status":400,"language":"json","code":"{}","name":""}]},"settings":"","url":"/stages"},"body":"[block:callout]\n{\n  \"type\": \"warning\",\n  \"title\": \"Note about creating a new stage\",\n  \"body\": \"When create a stage, the orderWeight for all stages will be recalculated.\"\n}\n[/block]","category":"5849a5500385050f00dd4106","createdAt":"2016-12-08T18:25:52.120Z","excerpt":"","githubsync":"","hidden":false,"isReference":true,"link_external":false,"link_url":"","next":{"pages":[],"description":""},"order":1,"parentDoc":null,"project":"55f0d412f3949a1700ce2c05","slug":"stages-post","sync_unique":"","title":"/stages","type":"post","updates":[],"user":"57d5af6965a96a170037d0f1","version":"55f0d412f3949a1700ce2c08","childrenPages":[]}

post/stages


Body Params

name:
required
string
Name of the stage
orderWeight:
integer1000
Helps to set a specific sort order.
[block:callout] { "type": "warning", "title": "Note about creating a new stage", "body": "When create a stage, the orderWeight for all stages will be recalculated." } [/block]

User Information

Try It Out

post
{{ tryResults.results }}
Method{{ tryResults.method }}
Request Headers
{{ tryResults.requestHeaders }}
URL{{ tryResults.url }}
Request Data
{{ tryResults.data }}
Status
Response Headers
{{ tryResults.responseHeaders }}

Definition

{{ api_url }}{{ page_api_url }}

Result Format



[block:callout] { "type": "warning", "title": "Note about creating a new stage", "body": "When create a stage, the orderWeight for all stages will be recalculated." } [/block]
{"__v":0,"_id":"5849a58c0385050f00dd4108","api":{"auth":"required","examples":{"codes":[]},"params":[{"_id":"5849a58c0385050f00dd4109","default":"","desc":"The id of the stage to retrieve.","in":"path","name":"id","ref":"","required":false,"type":"int"}],"results":{"codes":[{"status":200,"language":"json","code":"{\n  \"id\": 7,\n  \"name\": \"Pending\",\n  \"orderWeight\": 7000,\n  \"isProtected\": false,\n  \"peopleCount\": 10\n}","name":""}]},"settings":"","url":"/stages/:id"},"body":"","category":"5849a5500385050f00dd4106","createdAt":"2016-12-08T18:25:16.138Z","excerpt":"","githubsync":"","hidden":false,"isReference":true,"link_external":false,"link_url":"","next":{"pages":[],"description":""},"order":2,"parentDoc":null,"project":"55f0d412f3949a1700ce2c05","slug":"stages-id-get","sync_unique":"","title":"/stages/:id","type":"get","updates":[],"user":"57d5af6965a96a170037d0f1","version":"55f0d412f3949a1700ce2c08","childrenPages":[]}

get/stages/:id


Path Params

id:
integer
The id of the stage to retrieve.

User Information

Try It Out

get
{{ tryResults.results }}
Method{{ tryResults.method }}
Request Headers
{{ tryResults.requestHeaders }}
URL{{ tryResults.url }}
Request Data
{{ tryResults.data }}
Status
Response Headers
{{ tryResults.responseHeaders }}

Definition

{{ api_url }}{{ page_api_url }}

Result Format



{"__v":1,"_id":"5849a5e80c1cc00f009d129c","api":{"auth":"required","examples":{"codes":[]},"params":[{"_id":"5849a5e80c1cc00f009d129d","ref":"","in":"path","required":false,"desc":"The id of the stage to update.","default":"","type":"int","name":"id"},{"_id":"5849a908b781ea1b009cbe83","ref":"","in":"body","required":false,"desc":"Name of the stage","default":"","type":"string","name":"name"},{"_id":"5849a908b781ea1b009cbe82","ref":"","in":"body","required":false,"desc":"Helps to set a specific sort order.","default":"","type":"int","name":"orderWeight"}],"results":{"codes":[{"status":200,"language":"json","code":"{\n  \"id\": 7,\n  \"name\": \"Pending\",\n  \"orderWeight\": 7000,\n  \"isProtected\": false,\n  \"peopleCount\": 10\n}","name":""},{"status":400,"language":"json","code":"{}","name":""}]},"settings":"","url":"/stages/:id"},"body":"[block:callout]\n{\n  \"type\": \"warning\",\n  \"title\": \"Note on updating\",\n  \"body\": \"If the order weight changes, it will cause all other stages to recalculate the order.\\nIf the `isProtected` is `true`, you can not update the name.\"\n}\n[/block]","category":"5849a5500385050f00dd4106","createdAt":"2016-12-08T18:26:48.681Z","excerpt":"","githubsync":"","hidden":false,"isReference":true,"link_external":false,"link_url":"","next":{"pages":[],"description":""},"order":3,"parentDoc":null,"project":"55f0d412f3949a1700ce2c05","slug":"stages-id-put","sync_unique":"","title":"/stages/:id","type":"put","updates":[],"user":"57d5af6965a96a170037d0f1","version":"55f0d412f3949a1700ce2c08","childrenPages":[]}

put/stages/:id


Path Params

id:
integer
The id of the stage to update.

Body Params

name:
string
Name of the stage
orderWeight:
integer
Helps to set a specific sort order.
[block:callout] { "type": "warning", "title": "Note on updating", "body": "If the order weight changes, it will cause all other stages to recalculate the order.\nIf the `isProtected` is `true`, you can not update the name." } [/block]

User Information

Try It Out

put
{{ tryResults.results }}
Method{{ tryResults.method }}
Request Headers
{{ tryResults.requestHeaders }}
URL{{ tryResults.url }}
Request Data
{{ tryResults.data }}
Status
Response Headers
{{ tryResults.responseHeaders }}

Definition

{{ api_url }}{{ page_api_url }}

Result Format



[block:callout] { "type": "warning", "title": "Note on updating", "body": "If the order weight changes, it will cause all other stages to recalculate the order.\nIf the `isProtected` is `true`, you can not update the name." } [/block]
{"__v":0,"_id":"5849a94db781ea1b009cbe86","api":{"examples":{"codes":[]},"results":{"codes":[{"status":200,"language":"json","code":"{}","name":""}]},"settings":"","auth":"required","params":[{"_id":"5849a94db781ea1b009cbe87","ref":"","in":"path","required":true,"desc":"The id of the stage to delete.","default":"","type":"int","name":"id"}],"url":"/stages/:id"},"body":"[block:callout]\n{\n  \"type\": \"danger\",\n  \"title\": \"Is Protected\",\n  \"body\": \"If a stage `isProtected` is `true` you can not delete the stage.\"\n}\n[/block]","category":"5849a5500385050f00dd4106","createdAt":"2016-12-08T18:41:17.486Z","excerpt":"","githubsync":"","hidden":false,"isReference":true,"link_external":false,"link_url":"","next":{"pages":[],"description":""},"order":4,"parentDoc":null,"project":"55f0d412f3949a1700ce2c05","slug":"stage-id-delete","sync_unique":"","title":"/stages/:id","type":"delete","updates":[],"user":"57d5af6965a96a170037d0f1","version":"55f0d412f3949a1700ce2c08","childrenPages":[]}

delete/stages/:id


Path Params

id:
required
integer
The id of the stage to delete.
[block:callout] { "type": "danger", "title": "Is Protected", "body": "If a stage `isProtected` is `true` you can not delete the stage." } [/block]

User Information

Try It Out

delete
{{ tryResults.results }}
Method{{ tryResults.method }}
Request Headers
{{ tryResults.requestHeaders }}
URL{{ tryResults.url }}
Request Data
{{ tryResults.data }}
Status
Response Headers
{{ tryResults.responseHeaders }}

Definition

{{ api_url }}{{ page_api_url }}

Result Format



[block:callout] { "type": "danger", "title": "Is Protected", "body": "If a stage `isProtected` is `true` you can not delete the stage." } [/block]
{"__v":1,"_id":"58594faa8f0b4a2f00697895","api":{"auth":"required","examples":{"codes":[]},"params":[{"_id":"5859536fe342f919009320b4","ref":"","in":"query","required":false,"desc":"Find tasks by a personId","default":"","type":"int","name":"personId"},{"_id":"5859536fe342f919009320b3","ref":"","in":"query","required":false,"desc":"Find tasks assigned to a specific users (full name).","default":"","type":"string","name":"assignedTo"},{"_id":"5859536fe342f919009320b2","ref":"","in":"query","required":false,"desc":"Find tasks assigned to a specific user.","default":"","type":"int","name":"assignedUserId"},{"_id":"5859536fe342f919009320b1","ref":"","in":"query","required":false,"desc":"Will find tasks where the name is like what you pass in. Like `?name=world` would find a task named \"hello world\".","default":"","type":"string","name":"name"},{"_id":"5859536fe342f919009320b0","ref":"","in":"query","required":false,"desc":"Find tasks by the following types: `Follow Up`, `Call`, `Email`, `Appointment`, `Showing`, `Closing`, `Open House` or `Thank You`.","default":"","type":"string","name":"type"},{"_id":"5859536fe342f919009320af","ref":"","in":"query","required":false,"desc":"Find tasks that have been completed or not completed.","default":"","type":"boolean","name":"isCompleted"},{"_id":"5859536fe342f919009320ae","ref":"","in":"query","required":false,"desc":"Can be `today`, `overdue` and `upcoming`. Will find the tasks that fall into those ranges.","default":"","type":"string","name":"due"},{"_id":"5859536fe342f919009320ad","ref":"","in":"query","required":false,"desc":"Finds tasks that are due from this time on.","default":"","type":"timestamp","name":"dueStart"},{"_id":"5859536fe342f919009320ac","ref":"","in":"query","required":false,"desc":"Find tasks that are due from this time and before.","default":"","type":"timestamp","name":"dueEnd"}],"results":{"codes":[{"name":"","code":"{\n  \"_metadata\": {\n    \"collection\": \"tasks\",\n    \"offset\": 0,\n    \"limit\": 1,\n    \"total\": 126\n  },\n  \"tasks\": [\n    {\n      \"id\": 4066,\n      \"created\": \"2016-12-07T15:50:47Z\",\n      \"updated\": \"2016-12-07T15:50:47Z\",\n      \"createdBy\": \"Gerald Leenerts\",\n      \"updatedBy\": \"Gerald Leenerts\",\n      \"personId\": 15013,\n      \"AssignedTo\": \"Gerald Leenerts\",\n      \"assignedUserId\": 1,\n      \"name\": \"Follow Up\",\n      \"type\": \"Follow Up\",\n      \"isCompleted\": 0,\n      \"dueDate\": null,\n      \"dueDateTime\": null,\n      \"person\": {\n        \"id\": 15013,\n        \"name\": \"William Riker\"\n      }\n    }\n  ]\n}","language":"json","status":200}]},"settings":"","url":"/tasks"},"body":"","category":"58594f8a7c26220f00bd610a","createdAt":"2016-12-20T15:35:06.282Z","excerpt":"","githubsync":"","hidden":false,"isReference":false,"link_external":false,"link_url":"","next":{"pages":[],"description":""},"order":0,"parentDoc":null,"project":"55f0d412f3949a1700ce2c05","slug":"get-tasks","sync_unique":"","title":"/tasks","type":"get","updates":[],"user":"57d5af6965a96a170037d0f1","version":"55f0d412f3949a1700ce2c08","childrenPages":[]}

get/tasks


Query Params

personId:
integer
Find tasks by a personId
assignedTo:
string
Find tasks assigned to a specific users (full name).
assignedUserId:
integer
Find tasks assigned to a specific user.
name:
string
Will find tasks where the name is like what you pass in. Like `?name=world` would find a task named "hello world".
type:
string
Find tasks by the following types: `Follow Up`, `Call`, `Email`, `Appointment`, `Showing`, `Closing`, `Open House` or `Thank You`.
isCompleted:
boolean
Find tasks that have been completed or not completed.
due:
string
Can be `today`, `overdue` and `upcoming`. Will find the tasks that fall into those ranges.
dueStart:
timestamp
Finds tasks that are due from this time on.
dueEnd:
timestamp
Find tasks that are due from this time and before.

User Information

Try It Out

get
{{ tryResults.results }}
Method{{ tryResults.method }}
Request Headers
{{ tryResults.requestHeaders }}
URL{{ tryResults.url }}
Request Data
{{ tryResults.data }}
Status
Response Headers
{{ tryResults.responseHeaders }}

Definition

{{ api_url }}{{ page_api_url }}

Result Format



{"__v":0,"_id":"5859602b9d82913100dde27d","api":{"settings":"","results":{"codes":[{"status":200,"language":"json","code":"{\n  \"id\": 4066,\n  \"created\": \"2016-12-07T15:50:47Z\",\n  \"updated\": \"2016-12-07T15:50:47Z\",\n  \"createdBy\": \"Gerald Leenerts\",\n  \"updatedBy\": \"Gerald Leenerts\",\n  \"personId\": 15013,\n  \"AssignedTo\": \"Gerald Leenerts\",\n  \"assignedUserId\": 1,\n  \"name\": \"Follow Up\",\n  \"type\": \"Follow Up\",\n  \"isCompleted\": 0,\n  \"dueDate\": null,\n  \"dueDateTime\": null,\n  \"person\": {\n    \"id\": 15013,\n    \"name\": \"William Riker\"\n  }\n}","name":""}]},"examples":{"codes":[]},"auth":"required","params":[{"_id":"585956278f0b4a2f006978b3","ref":"","in":"body","required":false,"desc":"The ID of the person this task is related to.","default":"","type":"int","name":"personId"},{"_id":"585956278f0b4a2f006978b2","ref":"","in":"body","required":false,"desc":"The full name of the agent to assign this task to.","default":"","type":"string","name":"AssignedTo"},{"_id":"585956278f0b4a2f006978b1","ref":"","in":"body","required":false,"desc":"The ID of the user to assign this task to.","default":"","type":"int","name":"assignedUserId"},{"_id":"585956278f0b4a2f006978b0","ref":"","in":"body","required":false,"desc":"The name of the task.","default":"","type":"string","name":"name"},{"_id":"585956278f0b4a2f006978af","ref":"","in":"body","required":false,"desc":"Type can be one of the following: `Follow Up`, `Call`, `Email`, `Appointment`, `Showing`, `Closing`, `Open House` or `Thank You`","default":"","type":"string","name":"type"},{"_id":"585956278f0b4a2f006978ae","ref":"","in":"body","required":false,"desc":"If the task is completed or not.","default":"","type":"boolean","name":"isCompleted"}],"url":"/tasks"},"body":"","category":"58594f8a7c26220f00bd610a","createdAt":"2016-12-20T16:45:31.224Z","excerpt":"","githubsync":"","hidden":false,"isReference":false,"link_external":false,"link_url":"","next":{"pages":[],"description":""},"order":1,"parentDoc":null,"project":"55f0d412f3949a1700ce2c05","slug":"post-tasks","sync_unique":"","title":"/tasks","type":"post","updates":[],"user":"57d5af6965a96a170037d0f1","version":"55f0d412f3949a1700ce2c08","childrenPages":[]}

post/tasks


Body Params

personId:
integer
The ID of the person this task is related to.
AssignedTo:
string
The full name of the agent to assign this task to.
assignedUserId:
integer
The ID of the user to assign this task to.
name:
string
The name of the task.
type:
string
Type can be one of the following: `Follow Up`, `Call`, `Email`, `Appointment`, `Showing`, `Closing`, `Open House` or `Thank You`
isCompleted:
boolean
If the task is completed or not.

User Information

Try It Out

post
{{ tryResults.results }}
Method{{ tryResults.method }}
Request Headers
{{ tryResults.requestHeaders }}
URL{{ tryResults.url }}
Request Data
{{ tryResults.data }}
Status
Response Headers
{{ tryResults.responseHeaders }}

Definition

{{ api_url }}{{ page_api_url }}

Result Format



{"__v":1,"_id":"585950317c26220f00bd610c","api":{"auth":"required","examples":{"codes":[]},"params":[{"_id":"58595056e342f919009320a6","ref":"","in":"path","required":true,"desc":"The ID of the task to get.","default":"","type":"int","name":"id"}],"results":{"codes":[{"status":200,"language":"json","code":"{\n  \"id\": 4066,\n  \"created\": \"2016-12-07T15:50:47Z\",\n  \"updated\": \"2016-12-07T15:50:47Z\",\n  \"createdBy\": \"Gerald Leenerts\",\n  \"updatedBy\": \"Gerald Leenerts\",\n  \"personId\": 15013,\n  \"AssignedTo\": \"Gerald Leenerts\",\n  \"assignedUserId\": 1,\n  \"name\": \"Follow Up\",\n  \"type\": \"Follow Up\",\n  \"isCompleted\": 0,\n  \"dueDate\": null,\n  \"dueDateTime\": null,\n  \"person\": {\n    \"id\": 15013,\n    \"name\": \"William Riker\"\n  }\n}","name":""}]},"settings":"","url":"/tasks/:id"},"body":"","category":"58594f8a7c26220f00bd610a","createdAt":"2016-12-20T15:37:21.744Z","excerpt":"","githubsync":"","hidden":false,"isReference":false,"link_external":false,"link_url":"","next":{"pages":[],"description":""},"order":2,"parentDoc":null,"project":"55f0d412f3949a1700ce2c05","slug":"get-tasks-id","sync_unique":"","title":"/tasks/:id","type":"get","updates":[],"user":"57d5af6965a96a170037d0f1","version":"55f0d412f3949a1700ce2c08","childrenPages":[]}

get/tasks/:id


Path Params

id:
required
integer
The ID of the task to get.

User Information

Try It Out

get
{{ tryResults.results }}
Method{{ tryResults.method }}
Request Headers
{{ tryResults.requestHeaders }}
URL{{ tryResults.url }}
Request Data
{{ tryResults.data }}
Status
Response Headers
{{ tryResults.responseHeaders }}

Definition

{{ api_url }}{{ page_api_url }}

Result Format



{"__v":1,"_id":"5859507c44de5c250072327f","api":{"auth":"required","examples":{"codes":[]},"params":[{"_id":"5859507c44de5c2500723280","ref":"","in":"path","required":true,"desc":"The ID of the task to update","default":"","type":"int","name":"id"},{"_id":"585956278f0b4a2f006978b3","ref":"","in":"body","required":false,"desc":"The ID of the person this task is related to.","default":"","type":"int","name":"personId"},{"_id":"585956278f0b4a2f006978b2","ref":"","in":"body","required":false,"desc":"The full name of the agent to assign this task to.","default":"","type":"string","name":"AssignedTo"},{"_id":"585956278f0b4a2f006978b1","ref":"","in":"body","required":false,"desc":"The ID of the user to assign this task to.","default":"","type":"int","name":"assignedUserId"},{"_id":"585956278f0b4a2f006978b0","ref":"","in":"body","required":false,"desc":"The name of the task.","default":"","type":"string","name":"name"},{"_id":"585956278f0b4a2f006978af","ref":"","in":"body","required":false,"desc":"Type can be one of the following: `Follow Up`, `Call`, `Email`, `Appointment`, `Showing`, `Closing`, `Open House` or `Thank You`","default":"","type":"string","name":"type"},{"_id":"585956278f0b4a2f006978ae","ref":"","in":"body","required":false,"desc":"If the task is completed or not.","default":"","type":"boolean","name":"isCompleted"}],"results":{"codes":[{"status":200,"language":"json","code":"{\n  \"id\": 4066,\n  \"created\": \"2016-12-07T15:50:47Z\",\n  \"updated\": \"2016-12-07T15:50:47Z\",\n  \"createdBy\": \"Gerald Leenerts\",\n  \"updatedBy\": \"Gerald Leenerts\",\n  \"personId\": 15013,\n  \"AssignedTo\": \"Gerald Leenerts\",\n  \"assignedUserId\": 1,\n  \"name\": \"Follow Up\",\n  \"type\": \"Follow Up\",\n  \"isCompleted\": 0,\n  \"dueDate\": null,\n  \"dueDateTime\": null,\n  \"person\": {\n    \"id\": 15013,\n    \"name\": \"William Riker\"\n  }\n}","name":""}]},"settings":"","url":"/tasks/:id"},"body":"","category":"58594f8a7c26220f00bd610a","createdAt":"2016-12-20T15:38:36.545Z","excerpt":"","githubsync":"","hidden":false,"isReference":false,"link_external":false,"link_url":"","next":{"pages":[],"description":""},"order":3,"parentDoc":null,"project":"55f0d412f3949a1700ce2c05","slug":"put-tasks-id","sync_unique":"","title":"/tasks/:id","type":"put","updates":[],"user":"57d5af6965a96a170037d0f1","version":"55f0d412f3949a1700ce2c08","childrenPages":[]}

put/tasks/:id


Path Params

id:
required
integer
The ID of the task to update

Body Params

personId:
integer
The ID of the person this task is related to.
AssignedTo:
string
The full name of the agent to assign this task to.
assignedUserId:
integer
The ID of the user to assign this task to.
name:
string
The name of the task.
type:
string
Type can be one of the following: `Follow Up`, `Call`, `Email`, `Appointment`, `Showing`, `Closing`, `Open House` or `Thank You`
isCompleted:
boolean
If the task is completed or not.

User Information

Try It Out

put
{{ tryResults.results }}
Method{{ tryResults.method }}
Request Headers
{{ tryResults.requestHeaders }}
URL{{ tryResults.url }}
Request Data
{{ tryResults.data }}
Status
Response Headers
{{ tryResults.responseHeaders }}

Definition

{{ api_url }}{{ page_api_url }}

Result Format



{"__v":1,"_id":"585189aa9122583900ea3105","api":{"auth":"required","examples":{"codes":[{"language":"curl","code":""}]},"params":[{"_id":"58518cc9fa1fd92300ab54a6","ref":"","in":"query","required":false,"desc":"The sort order, can be one of the following: `id`, `created`, `updated`, `status` or `event`","default":"created","type":"string","name":"sort"},{"_id":"58518cc9fa1fd92300ab54a5","ref":"","in":"query","required":false,"desc":"Specifies the number of rows to skip, before starting to return results.","default":"0","type":"int","name":"offset"},{"_id":"58518cc9fa1fd92300ab54a4","ref":"","in":"query","required":false,"desc":"Number of results to return. Max 100.","default":"10","type":"int","name":"limit"},{"_id":"585189aa9122583900ea3107","ref":"","in":"query","required":false,"desc":"Search for webhooks by event. Example `personCreated` or `personUpdated`","default":"","type":"array_string","name":"event"},{"_id":"585189aa9122583900ea3106","ref":"","in":"query","required":false,"desc":"Search for webhooks by status. Status can be `Active` or `Disabled`.","default":"","type":"array_string","name":"status"},{"_id":"585189aa9122583900ea3108","default":"","desc":"The name of the integration partner.","in":"header","name":"X-System","ref":"","required":true,"type":"string"}],"results":{"codes":[{"status":200,"language":"json","code":"{\n  \"_metadata\": {\n    \"collection\": \"webhooks\",\n    \"offset\": 0,\n    \"limit\": 10,\n    \"total\": 3\n  },\n  \"webhooks\": [\n    {\n      \"id\": 1001,\n      \"event\": \"peopleCreated\",\n      \"status\": \"Active\",\n      \"url\": \"https://acmeLeadProvider.com/callbacks/peopleCreated\"\n    },\n    {\n      \"id\": 1002,\n      \"event\": \"peopleUpdated\",\n      \"status\": \"Active\",\n      \"url\": \"https://acmeLeadProvider.com/callbacks/peopleUpdated\"\n    },\n    {\n      \"id\": 1003,\n      \"event\": \"peopleDeleted\",\n      \"status\": \"Active\",\n      \"url\": \"https://acmeLeadProvider.com/callbacks/peopleDeleted\"\n    },\n  ]\n}","name":""},{"status":400,"language":"json","code":"{}","name":""}]},"settings":"","url":"/webhooks"},"body":"","category":"585186c5edfad12300710da3","createdAt":"2016-12-14T18:04:26.961Z","excerpt":"Get a list of webhoks","githubsync":"","hidden":false,"isReference":true,"link_external":false,"link_url":"","next":{"pages":[],"description":""},"order":0,"parentDoc":null,"project":"55f0d412f3949a1700ce2c05","slug":"webhooks","sync_unique":"","title":"/webhooks","type":"get","updates":[],"user":"58417e17b629181b00ea2bda","version":"55f0d412f3949a1700ce2c08","childrenPages":[]}

get/webhooks

Get a list of webhoks

Query Params

sort:
stringcreated
The sort order, can be one of the following: `id`, `created`, `updated`, `status` or `event`
offset:
integer0
Specifies the number of rows to skip, before starting to return results.
limit:
integer10
Number of results to return. Max 100.
event:
array of strings
Search for webhooks by event. Example `personCreated` or `personUpdated`
status:
array of strings
Search for webhooks by status. Status can be `Active` or `Disabled`.

Headers

X-System:
required
string
The name of the integration partner.

User Information

Try It Out

get
{{ tryResults.results }}
Method{{ tryResults.method }}
Request Headers
{{ tryResults.requestHeaders }}
URL{{ tryResults.url }}
Request Data
{{ tryResults.data }}
Status
Response Headers
{{ tryResults.responseHeaders }}

Definition

{{ api_url }}{{ page_api_url }}

Result Format



{"__v":1,"_id":"58518eadd8404c3900c75dec","api":{"auth":"required","examples":{"codes":[{"language":"json","code":"{\n\t\"event\": \"peopleCreated\",\n  \"url\": \"https://acmeLeadProvider.com/callbacks/followupboss/peopleCreated\"\n}"}]},"params":[{"_id":"58518eadd8404c3900c75dee","ref":"","in":"body","required":true,"desc":"The event the webook responds to. Should be one of the following: `personCreated`, `personUpdated`, `personDeleted` or `importCompleted`","default":"","type":"string","name":"event"},{"_id":"58518eadd8404c3900c75ded","ref":"","in":"body","required":true,"desc":"The url of the webhook.","default":"","type":"string","name":"url"},{"_id":"58519016c816e30f002df746","ref":"","in":"header","required":true,"desc":"","default":"","type":"string","name":"X-System"}],"results":{"codes":[{"status":200,"language":"json","code":"{\n  \"id\": 1004,\n  \"status\": \"Active\",\n\t\"event\": \"peopleCreated\",\n  \"url\": \"https://acmeLeadProvider.com/callbacks/followupboss/peopleCreated\"\n}","name":""},{"status":400,"language":"json","code":"{}","name":""}]},"settings":"","url":"/webhooks"},"body":"","category":"585186c5edfad12300710da3","createdAt":"2016-12-14T18:25:49.278Z","excerpt":"","githubsync":"","hidden":false,"isReference":true,"link_external":false,"link_url":"","next":{"pages":[],"description":""},"order":1,"parentDoc":null,"project":"55f0d412f3949a1700ce2c05","slug":"webhooks-1","sync_unique":"","title":"/webhooks","type":"post","updates":[],"user":"58417e17b629181b00ea2bda","version":"55f0d412f3949a1700ce2c08","childrenPages":[]}

post/webhooks


Body Params

event:
required
string
The event the webook responds to. Should be one of the following: `personCreated`, `personUpdated`, `personDeleted` or `importCompleted`
url:
required
string
The url of the webhook.

Headers

X-System:
required
string

User Information

Try It Out

post
{{ tryResults.results }}
Method{{ tryResults.method }}
Request Headers
{{ tryResults.requestHeaders }}
URL{{ tryResults.url }}
Request Data
{{ tryResults.data }}
Status
Response Headers
{{ tryResults.responseHeaders }}

Definition

{{ api_url }}{{ page_api_url }}

Examples


Result Format



{"__v":1,"_id":"58518f969122583900ea3113","api":{"auth":"required","examples":{"codes":[]},"params":[{"_id":"58518f969122583900ea3114","ref":"","in":"path","required":true,"desc":"The ID of the webhook.","default":"","type":"int","name":"id"},{"_id":"58519027fa1fd92300ab54a8","ref":"","in":"header","required":true,"desc":"","default":"","type":"string","name":"X-System"}],"results":{"codes":[{"status":200,"language":"json","code":"{\n\t\"id\": 1004,\n  \"status\": \"Active\",\n  \"event\": \"peopleCreated\",\n  \"url\": \"https://acmeLeadProvider.com/callbacks/followupboss/peopleCreated\"\n}","name":""},{"status":400,"language":"json","code":"{}","name":""}]},"settings":"","url":"/webhooks/:id"},"body":"","category":"585186c5edfad12300710da3","createdAt":"2016-12-14T18:29:42.256Z","excerpt":"","githubsync":"","hidden":false,"isReference":true,"link_external":false,"link_url":"","next":{"pages":[],"description":""},"order":2,"parentDoc":null,"project":"55f0d412f3949a1700ce2c05","slug":"webhooksid","sync_unique":"","title":"/webhooks/:id","type":"get","updates":[],"user":"58417e17b629181b00ea2bda","version":"55f0d412f3949a1700ce2c08","childrenPages":[]}

get/webhooks/:id


Path Params

id:
required
integer
The ID of the webhook.

Headers

X-System:
required
string

User Information

Try It Out

get
{{ tryResults.results }}
Method{{ tryResults.method }}
Request Headers
{{ tryResults.requestHeaders }}
URL{{ tryResults.url }}
Request Data
{{ tryResults.data }}
Status
Response Headers
{{ tryResults.responseHeaders }}

Definition

{{ api_url }}{{ page_api_url }}

Result Format



{"__v":0,"_id":"585190b6c816e30f002df748","api":{"auth":"required","examples":{"codes":[{"language":"json","code":"{\n\t\"event\": \"peopleCreated\",\n  \"status\": \"Disabled\",\n  \"url\": \"https://acmeLeadProvider.com/callbacks/followupboss/peopleCreated\"\n}"}]},"params":[{"_id":"58518eadd8404c3900c75dee","ref":"","in":"body","required":false,"desc":"The event the webook responds to. Should be one of the following: `personCreated`, `personUpdated`, `personDeleted` or `importCompleted`","default":"","type":"string","name":"event"},{"_id":"58518eadd8404c3900c75ded","ref":"","in":"body","required":false,"desc":"The url of the webhook.","default":"","type":"string","name":"url"},{"_id":"58519016c816e30f002df746","ref":"","in":"header","required":true,"desc":"","default":"","type":"string","name":"X-System"},{"_id":"585190b6c816e30f002df749","ref":"","in":"body","required":false,"desc":"The status of the webhook. Can be `Active` or `Disabled`","default":"","type":"string","name":"status"}],"results":{"codes":[{"status":200,"language":"json","code":"{\n  \"id\": 1004,\n  \"status\": \"Disabled\",\n\t\"event\": \"peopleCreated\",\n  \"url\": \"https://acmeLeadProvider.com/callbacks/followupboss/peopleCreated\"\n}","name":""},{"status":400,"language":"json","code":"{}","name":""}]},"settings":"","url":"/webhooks/:id"},"body":"","category":"585186c5edfad12300710da3","createdAt":"2016-12-14T18:34:30.986Z","excerpt":"","githubsync":"","hidden":false,"isReference":true,"link_external":false,"link_url":"","next":{"pages":[],"description":""},"order":3,"parentDoc":null,"project":"55f0d412f3949a1700ce2c05","slug":"webhooksid-1","sync_unique":"","title":"/webhooks/:id","type":"put","updates":[],"user":"58417e17b629181b00ea2bda","version":"55f0d412f3949a1700ce2c08","childrenPages":[]}

put/webhooks/:id


Body Params

event:
string
The event the webook responds to. Should be one of the following: `personCreated`, `personUpdated`, `personDeleted` or `importCompleted`
url:
string
The url of the webhook.
status:
string
The status of the webhook. Can be `Active` or `Disabled`

Headers

X-System:
required
string

User Information

Try It Out

put
{{ tryResults.results }}
Method{{ tryResults.method }}
Request Headers
{{ tryResults.requestHeaders }}
URL{{ tryResults.url }}
Request Data
{{ tryResults.data }}
Status
Response Headers
{{ tryResults.responseHeaders }}

Definition

{{ api_url }}{{ page_api_url }}

Examples


Result Format



{"__v":0,"_id":"58519125fa1fd92300ab54a9","api":{"settings":"","results":{"codes":[{"status":200,"language":"json","code":"","name":""},{"status":400,"language":"json","code":"{}","name":""}]},"examples":{"codes":[]},"auth":"required","params":[{"_id":"58518f969122583900ea3114","ref":"","in":"path","required":true,"desc":"The ID of the webhook.","default":"","type":"int","name":"id"},{"_id":"58519027fa1fd92300ab54a8","ref":"","in":"header","required":true,"desc":"","default":"","type":"string","name":"X-System"}],"url":"/webhooks/:id"},"body":"","category":"585186c5edfad12300710da3","createdAt":"2016-12-14T18:36:21.990Z","excerpt":"","githubsync":"","hidden":false,"isReference":true,"link_external":false,"link_url":"","next":{"pages":[],"description":""},"order":4,"parentDoc":null,"project":"55f0d412f3949a1700ce2c05","slug":"webhooksid-2","sync_unique":"","title":"/webhooks/:id","type":"delete","updates":[],"user":"58417e17b629181b00ea2bda","version":"55f0d412f3949a1700ce2c08","childrenPages":[]}

delete/webhooks/:id


Path Params

id:
required
integer
The ID of the webhook.

Headers

X-System:
required
string

User Information

Try It Out

delete
{{ tryResults.results }}
Method{{ tryResults.method }}
Request Headers
{{ tryResults.requestHeaders }}
URL{{ tryResults.url }}
Request Data
{{ tryResults.data }}
Status
Response Headers
{{ tryResults.responseHeaders }}

Definition

{{ api_url }}{{ page_api_url }}


{"__v":0,"_id":"5853152501e8340f0038f8c9","api":{"auth":"required","examples":{"codes":[]},"params":[{"_id":"5853152501e8340f0038f8ca","ref":"","in":"header","required":true,"desc":"","default":"","type":"string","name":"X-System"}],"results":{"codes":[{"status":200,"language":"json","code":"{\n  \"id\": \"db36048a6b06d80e7f9d3440233ae915\",\n  \"eventCreated\": \"2016-12-12T18:36:26Z\",\n  \"event\": \"peopleUpdated\",\n  \"resourceIds\": [1234,3422,4343],\n  \"uri\": \"https://api.followupboss.com/v1/people?id=1234,3422,4343\"\n}","name":""},{"status":400,"language":"json","code":"{}","name":""}]},"settings":"","url":"/webhookEvents/:id"},"body":"","category":"5853149601e8340f0038f8c7","createdAt":"2016-12-15T22:11:49.259Z","excerpt":"","githubsync":"","hidden":false,"isReference":false,"link_external":false,"link_url":"","next":{"pages":[],"description":""},"order":0,"parentDoc":null,"project":"55f0d412f3949a1700ce2c05","slug":"webhookeventsuuid","sync_unique":"","title":"/webhookEvents/:id","type":"get","updates":[],"user":"58417e17b629181b00ea2bda","version":"55f0d412f3949a1700ce2c08","childrenPages":[]}

get/webhookEvents/:id


Headers

X-System:
required
string

User Information

Try It Out

get
{{ tryResults.results }}
Method{{ tryResults.method }}
Request Headers
{{ tryResults.requestHeaders }}
URL{{ tryResults.url }}
Request Data
{{ tryResults.data }}
Status
Response Headers
{{ tryResults.responseHeaders }}

Definition

{{ api_url }}{{ page_api_url }}

Result Format