Membrain API Documentation

Index
Print
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Membrain REST API Documentation
Request Types
GET
GET requests are used to read data from Membrain
POST
POST requests are used to add new data to Membrain
PUT
PUT requests are used to update data in Membrain
DELETE
DELETE requests are used to delete data from Membrain
 
Entry Point
The REST API is accessed via the following URL:
https://*.membrain.com/API/v2/
Appending ?Dev=true to the above URL and opening it in a webbrowser allows you to easily test different requests.
 
Authentication
Authentication with the API is done by passing ?APIKey=xxxx to all requests, where xxx is replaced with one of your active API keys. If you prefer, you may instead pass the APIKey in a Request Header named APIKey.
GET /users/?apiKey=xxx
 
Paging
Many requests return a paged collection with a maximum of 1000 entries per page (default is 100 per page), in these cases you need to supply ?From=N in the query to access entries starting from index N. By default you will only see entries 0 - 100. Any paged collection will be contained in a root node which contains: count, from & to.
 
Rate Limits
The Membrain API employs rate limits. What rate limits apply depends on what type of Membrain instance you have, and if you have the API Add-on module or not.
 
Working With Custom Fields
Custom Fields are a central concept in Membrain and allow you to setup and use your own set of fields in a number of different contexts.
Custom Fields Properties are prefixed with "CustomField" followed by a GUID referencing the Custom Field. Ex: CustomField447dbe60-4925-4a75-b07b-13ad07d095d7.
To write Custom Field Values just add the Custom Field Property and the desired value to any PUT/POST requests where Custom Fields are available.
Custom Fields are available for Prospects, Sales Projects (Opportunity), Account Growth Projects, Tickets, Companies, Contacts, Users and Appointments/Tasks/Notes/Emails (Activities). Use the GET /customFields/ endpoint to access definitions for the currently available Custom Fields in your Membrain instance.
For Process Custom Fields you can also use the GET /prospectingProcesses/ or GET /salesProcesses/ or GET /accountGrowthProcesses/ or GET /ticketProcesses/ to get Custom Fields available for each Process.
Text Fields
Text fields are the most basic field type in Membrain, they are represented simply by any desired string
Number Fields
Number fields represent any positive or negative number, with up to 4 decimals.
Currency Fields
Currency fields represent a Currency value with up to 4 decimals. The value of these fields contain three parts separated by a comma, the first part is the value converted to the Base Currency at the time it was set, the second value is the value in the specified Currency, the third and final value is a GUID reference to the Currency the value is in. Typically you'd use only the last two of these components. When writing to a Currency field value you are also allowed to do so in this format: 1000 SEK, so {Value}{CurrencyCode}. This is the recommended method.
Single-Select and Multi-Select Fields
Single-Select and Multi-Select fields are represented by a comma separated list with zero to one (Single) or more (Multi) GUIDs representing the selected options available for that specific field.
Single-Relationship and Multi-Relationship Fields
Single-Relationship and Multi-Relationship fields are represented by a comma separated list with zero to one (Single) or more (Multi) GUIDs representing the selected Related Item (Prospect, Sales Project, Account Growth Project, Ticket, Company, Contact) available for that specific field.
Date Fields
Date fields are either an empty string (no value) or a date formated YYYY-MM-DD.
Link Fields
Link fields contains a string in standard URL format, ie: protocol://some.location.
Calculation Fields
Calculation Fields are read only and will return the result of the configured calculation as a Number.
Date Calculation Fields
Date Calculation Fields are read only and will return the result of the configured calculation as an empty string (no value) or a date formated YYYY-MM-DD.
File Fields
File fields are not currently supported by the API.
Score Card Fields
Score Card fields are not currently supported by the API.
Example
{
CustomFielddfe4a47b-ff3a-4f2c-b58c-6db636cf9cd8: "Lorem Ipsum" // Text Field
CustomField46ecf80b-782e-4f30-aeca-73029160f39b: "1234.5678" // Number Field
CustomFieldadb06116-3e1f-4df6-b494-d2285bc76f62: "1234.5678 SEK" // Currency Field
CustomFieldadb06116-3e1f-4df6-b494-d2285bc76f62: "100,200,4dc71064-431d-4900-8488-5fc02b0d4d44" // Currency Field
CustomFieldc968bb9b-d095-41f0-b91d-303cac4313b1: "de086727-7356-4e5c-84cb-d9e7c7d7244e" // Single-Select Field
CustomField68c197bf-1b53-4822-8530-909cc2cd8e57: "f46017b3-dec7-41fd-a84b-6b7256bc5bf0,936e9e78-02fa-41f0-8e5d-6b9b8827aea5" // Multi-Select Field
CustomField6fb26833-022d-44ff-a211-25698ab6ab53: "b0b4e77e-62a6-4408-b0d3-bb1167950b03" // Single-Relationship Field
CustomField9bd1150d-eec9-4e6b-9db9-a46b845cae07: "f46017b3-dec7-41fd-a84b-6b7256bc5bf0,f9b06f6b-c6f5-4c88-87c9-c04b603dfd2b" // Multi-Relationship Field
CustomField54ea8e2a-c785-4976-ab99-5ab0f27f6ef2: "2021-03-26" // Date Field
CustomField7be0bf72-556c-48d0-9be4-33be91f594b7: "https://example.com" // Link Field
CustomField39365ee3-95b2-4044-a048-098efd55d3bb: "1234.5678" // Calculation Field
CustomFieldc660137e-6f3e-4086-9404-5d15004f252a: "2021-03-26" // Date Calculation Field
}
 
GET /accountGrowthProcesses/
Fetches descriptions of all currently active Account Growth Processes. The data returned includes all stages, steps and custom fields.
Example Request
GET /accountGrowthProcesses/
Example Result
[ // Array with 1 elements
// 0:
{
Id: "6ab83f5c-8e49-4182-b273-c97433525c45"
Name: "Account Growth Process"
Stages: [ // Array with 2 elements
{ // 0
Id: "481eaa00-dae4-4d57-afc8-52d024512786"
Name: "Engage"
Steps: [ // Array with 3 elements
{ // 0
Id: "a7883063-ccb9-4107-99b7-c15c40edf5c1"
Name: "First Step"
}
{ // 1
Id: "0e8218d1-cc6f-45f1-86cd-711d715c2024"
Name: "Second Step"
}
{ // 2
Id: "13c8b6d6-a1b4-4511-b167-f2c62e3f3928"
Name: "Third Step"
}
]
}
{ // 1
Id: "5e2a0e33-e94f-4da2-911f-b59a900ac16d"
Name: "Close"
Steps: [ // Array with 2 elements
{ // 0
Id: "eacf403b-dff8-47c5-8629-ecaf52130d41"
Name: "Fourth Step"
}
{ // 1
Id: "1c8171a3-5523-41b5-ab28-06a0c10e2e0b"
Name: "Fifth Step"
}
]
}
]
CustomFields: [ // Array with 3 elements
{ // 0
Id: "9106cf69-0adf-4b71-98f8-d8dd42b3c6b4"
Name: "Business Goals"
Type: "Text"
}
{ // 1
Id: "4d8f0839-02cd-4d99-858e-6f24011eb529"
Name: "Competition Strength"
Type: "SingleSelect"
Options: [ // Array with 5 elements
{ // 0
Id: "2b7bc6ef-91cf-4905-b4db-0bd2766b156d"
Name: "No external competition"
}
{ // 1
Id: "e0a86138-83c4-4b5d-80b9-54f3c1795923"
Name: "We dont know about the competition"
}
{ // 2
Id: "adb63f3e-def2-4c35-b78d-dec540d285c8"
Name: "We know about the competition"
}
{ // 3
Id: "9ef02fa1-3599-42ae-933c-7fbaed5134ec"
Name: "The client believes we stand-out"
}
{ // 4
Id: "0f8d7cd4-a184-439e-9272-029a7ac7c3ab"
Name: "The client favors a competitor"
}
]
}
{ // 2
Id: "9e307de8-60aa-44fd-9d3b-1438712989f4"
Name: "Buying Mode"
Type: "SingleSelect"
Options: [ // Array with 4 elements
{ // 0
Id: "af4c53c8-6308-4c46-ac8c-9e86c13a6b25"
Name: "Problem-solving"
}
{ // 1
Id: "593bec6e-e39f-45e4-9ef6-5fad46dd047a"
Name: "Future-seeking"
}
{ // 2
Id: "4553f007-cf35-449b-9ddf-af320b27012c"
Name: "Satisfied"
}
{ // 3
Id: "c6af6953-7258-4911-aaa4-0a315ed77e62"
Name: "Euphoric"
}
]
}
]
}
]
Properties
Id
GUID. The unique identifier for this Account Growth Process
Name
The Name of this Account Growth Process
Stages
A list of all the Stages in the Account Growth Process, if any. Every stage can then contain 0 or more Steps. Each Stage and Step has an Id and a Name.
CustomFields
A list of all Custom Fields referenced in this Account Growth Process, if any. To learn more about Custom Field properties, see GET /customFields/.
 
GET /salesProcesses/
Fetches description of all currently active sales processes and includes stages, steps and custom fields.
Example Request
GET /salesProcesses/
Example Result
[ // Array with 1 elements
// 0:
{
Id: "6ab83f5c-8e49-4182-b273-c97433525c45"
Name: "Sales Process"
Stages: [ // Array with 2 elements
{ // 0
Id: "481eaa00-dae4-4d57-afc8-52d024512786"
Name: "Engage"
Steps: [ // Array with 3 elements
{ // 0
Id: "a7883063-ccb9-4107-99b7-c15c40edf5c1"
Name: "First Step"
}
{ // 1
Id: "0e8218d1-cc6f-45f1-86cd-711d715c2024"
Name: "Second Step"
}
{ // 2
Id: "13c8b6d6-a1b4-4511-b167-f2c62e3f3928"
Name: "Third Step"
}
]
}
{ // 1
Id: "5e2a0e33-e94f-4da2-911f-b59a900ac16d"
Name: "Close"
Steps: [ // Array with 2 elements
{ // 0
Id: "eacf403b-dff8-47c5-8629-ecaf52130d41"
Name: "Fourth Step"
}
{ // 1
Id: "1c8171a3-5523-41b5-ab28-06a0c10e2e0b"
Name: "Fifth Step"
}
]
}
]
CustomFields: [ // Array with 3 elements
{ // 0
Id: "9106cf69-0adf-4b71-98f8-d8dd42b3c6b4"
Name: "Business Goals"
Type: "Text"
}
{ // 1
Id: "4d8f0839-02cd-4d99-858e-6f24011eb529"
Name: "Competition Strength"
Type: "SingleSelect"
Options: [ // Array with 5 elements
{ // 0
Id: "2b7bc6ef-91cf-4905-b4db-0bd2766b156d"
Name: "No external competition"
}
{ // 1
Id: "e0a86138-83c4-4b5d-80b9-54f3c1795923"
Name: "We dont know about the competition"
}
{ // 2
Id: "adb63f3e-def2-4c35-b78d-dec540d285c8"
Name: "We know about the competition"
}
{ // 3
Id: "9ef02fa1-3599-42ae-933c-7fbaed5134ec"
Name: "The client believes we stand-out"
}
{ // 4
Id: "0f8d7cd4-a184-439e-9272-029a7ac7c3ab"
Name: "The client favors a competitor"
}
]
}
{ // 2
Id: "9e307de8-60aa-44fd-9d3b-1438712989f4"
Name: "Buying Mode"
Type: "SingleSelect"
Options: [ // Array with 4 elements
{ // 0
Id: "af4c53c8-6308-4c46-ac8c-9e86c13a6b25"
Name: "Problem-solving"
}
{ // 1
Id: "593bec6e-e39f-45e4-9ef6-5fad46dd047a"
Name: "Future-seeking"
}
{ // 2
Id: "4553f007-cf35-449b-9ddf-af320b27012c"
Name: "Satisfied"
}
{ // 3
Id: "c6af6953-7258-4911-aaa4-0a315ed77e62"
Name: "Euphoric"
}
]
}
]
}
]
Properties
Id
GUID. The unique identifier for this Sales Process.
Name
The name of this Sales Process.
Stages
A list of all the Stages in the Sales Process, if any. Every stage can then contain 0 or more Steps. Each Stage and Step has an Id and a Name.
CustomFields
A list of all Custom Fields referenced in this Sales Process, if any. To learn more about Custom Field properties, see GET /customFields/.
 
GET /prospectingProcesses/
Fetches description of all currently active prospecting processes.
Example Request
GET /prospectingProcesses/
Example Result
[ // Array with 1 elements
// 0:
{
Id: "6ab83f5c-8e49-4182-b273-c97433525c45"
Name: "Prospecting Process"
Stages: [ // Array with 2 elements
{ // 0
Id: "481eaa00-dae4-4d57-afc8-52d024512786"
Name: "Engage"
Steps: [ // Array with 3 elements
{ // 0
Id: "a7883063-ccb9-4107-99b7-c15c40edf5c1"
Name: "First Step"
}
{ // 1
Id: "0e8218d1-cc6f-45f1-86cd-711d715c2024"
Name: "Second Step"
}
{ // 2
Id: "13c8b6d6-a1b4-4511-b167-f2c62e3f3928"
Name: "Third Step"
}
]
}
{ // 1
Id: "5e2a0e33-e94f-4da2-911f-b59a900ac16d"
Name: "Close"
Steps: [ // Array with 2 elements
{ // 0
Id: "eacf403b-dff8-47c5-8629-ecaf52130d41"
Name: "Fourth Step"
}
{ // 1
Id: "1c8171a3-5523-41b5-ab28-06a0c10e2e0b"
Name: "Fifth Step"
}
]
}
]
CustomFields: [ // Array with 3 elements
{ // 0
Id: "9106cf69-0adf-4b71-98f8-d8dd42b3c6b4"
Name: "Business Goals"
Type: "Text"
}
{ // 1
Id: "4d8f0839-02cd-4d99-858e-6f24011eb529"
Name: "Competition Strength"
Type: "SingleSelect"
Options: [ // Array with 5 elements
{ // 0
Id: "2b7bc6ef-91cf-4905-b4db-0bd2766b156d"
Name: "No external competition"
}
{ // 1
Id: "e0a86138-83c4-4b5d-80b9-54f3c1795923"
Name: "We dont know about the competition"
}
{ // 2
Id: "adb63f3e-def2-4c35-b78d-dec540d285c8"
Name: "We know about the competition"
}
{ // 3
Id: "9ef02fa1-3599-42ae-933c-7fbaed5134ec"
Name: "The client believes we stand-out"
}
{ // 4
Id: "0f8d7cd4-a184-439e-9272-029a7ac7c3ab"
Name: "The client favors a competitor"
}
]
}
{ // 2
Id: "9e307de8-60aa-44fd-9d3b-1438712989f4"
Name: "Buying Mode"
Type: "SingleSelect"
Options: [ // Array with 4 elements
{ // 0
Id: "af4c53c8-6308-4c46-ac8c-9e86c13a6b25"
Name: "Problem-solving"
}
{ // 1
Id: "593bec6e-e39f-45e4-9ef6-5fad46dd047a"
Name: "Future-seeking"
}
{ // 2
Id: "4553f007-cf35-449b-9ddf-af320b27012c"
Name: "Satisfied"
}
{ // 3
Id: "c6af6953-7258-4911-aaa4-0a315ed77e62"
Name: "Euphoric"
}
]
}
]
}
]
Properties
Id
GUID. The unique identifier for this Prospecting Process.
Name
The name of this Prospecting Process.
Stages
A list of all the Stages in the Prospecting Process, if any. Every stage can then contain 0 or more Steps. Each Stage and Step has an Id and a Name.
CustomFields
A list of all Custom Fields referenced in this Prospecting Process, if any. To learn more about Custom Field properties, see GET /customFields/.
 
GET /ticketProcesses/
Fetches description of all currently active Ticket Processes. The data returned includes all stages, steps and custom fields.
Example Request
GET /ticketProcesses/
Example Result
[ // Array with 1 elements
// 0:
{
Id: "6ab83f5c-8e49-4182-b273-c97433525c45"
Name: "Ticket Process"
Stages: [ // Array with 2 elements
{ // 0
Id: "481eaa00-dae4-4d57-afc8-52d024512786"
Name: "Engage"
Steps: [ // Array with 3 elements
{ // 0
Id: "a7883063-ccb9-4107-99b7-c15c40edf5c1"
Name: "First Step"
}
{ // 1
Id: "0e8218d1-cc6f-45f1-86cd-711d715c2024"
Name: "Second Step"
}
{ // 2
Id: "13c8b6d6-a1b4-4511-b167-f2c62e3f3928"
Name: "Third Step"
}
]
}
{ // 1
Id: "5e2a0e33-e94f-4da2-911f-b59a900ac16d"
Name: "Close"
Steps: [ // Array with 2 elements
{ // 0
Id: "eacf403b-dff8-47c5-8629-ecaf52130d41"
Name: "Fourth Step"
}
{ // 1
Id: "1c8171a3-5523-41b5-ab28-06a0c10e2e0b"
Name: "Fifth Step"
}
]
}
]
CustomFields: [ // Array with 2 elements
{ // 0
Id: "9106cf69-0adf-4b71-98f8-d8dd42b3c6b4"
Name: "Complexity"
Type: "Number"
}
{ // 1
Id: "9e307de8-60aa-44fd-9d3b-1438712989f4"
Name: "Related Industry"
Type: "SingleSelect"
Options: [ // Array with 3 elements
{ // 0
Id: "af4c53c8-6308-4c46-ac8c-9e86c13a6b25"
Name: "Software"
}
{ // 1
Id: "593bec6e-e39f-45e4-9ef6-5fad46dd047a"
Name: "Manufacturing"
}
{ // 2
Id: "4553f007-cf35-449b-9ddf-af320b27012c"
Name: "Men's Apparel"
}
]
}
]
}
]
Properties
Id
GUID. The unique identifier for this Ticket Process.
Name
The name of this Ticket Process.
Stages
A list of all the Stages in the Ticket Process, if any. Every stage can then contain 0 or more Steps. Each Stage and Step has an Id and a Name.
CustomFields
A list of all Custom Fields referenced in this Ticket Process, if any. To learn more about Custom Field properties, see GET /customFields/.
 
GET /customFields/
Fetches description of all Custom Fields used for Companies, Contacts, Users, Activities and Process.

Company, Contact (Person) and User custom fields are always available for all entries of that type. These Custom Fields are found under CustomFields > Company, CustomFields > Person and CustomFields > User respectively.

Process Custom Fields availability is depedant on if they are referenced or not in the Process that is currently used for a specific Project. Do note that you can always read and write all custom fields even if they are not mapped, but the data will NOT be shown in the user interface. These Custom Fields are found under CustomFields > Process.

Activity Custom Fields avaiability is dependant on if they are referenced in the Activity Type assigned to a specific Activity. Do note that you can always read and write all custom fields even if they are not mapped, but the data will NOT be shown in the user interface. These Custom Fields are found under CustomFields > Activity.
Example Request
GET /customFields/
Example Result
{
companyCustomFields: [ // Array with 3 elements
{ // 0
Id: "0c7526b2-3ad6-4e82-89d3-f46b7d71f666"
Name: "Company Text Field"
Type: "Text"
}
{ // 1
Id: "262db46c-f298-4af2-9e31-af9a7cb421f9"
Name: "Company Date Field"
Type: "Date"
}
{ // 2
Id: "00c24314-3eeb-48ac-9506-9be1c07da27d"
Name: "Company Single Select Field"
Type: "SingleSelect"
Options: [ // Array with 3 elements
{ // 0
Id: "e236f545-c248-479a-9af0-236700a885af"
Name: "A"
}
{ // 1
Id: "970198e3-05f3-40e7-ba19-825bae46993c"
Name: "B"
}
{ // 2
Id: "0c129515-c5a8-4934-b934-f388cd26b7cb"
Name: "C"
}
]
}
]
contactCustomFields: [ // Array with 3 elements
{ // 0
Id: "44020ef0-e654-4d26-93c8-a4d6603f83eb"
Name: "Contact Date Field"
Type: "Date"
}
{ // 1
Id: "1918fae7-eeca-4614-92c2-8ff10783843c"
Name: "Contact Link Field"
Type: "Link"
}
{ // 2
Id: "42517b8c-4fbb-4837-8469-20922251b8ca"
Name: "Contact Number Field"
Type: "Number"
}
]
userCustomFields: [ // Array with 3 elements
{ // 0
Id: "44020ef0-e654-4d26-93c8-a4d6603f83eb"
Name: "User Date Field"
Type: "Date"
}
{ // 1
Id: "1918fae7-eeca-4614-92c2-8ff10783843c"
Name: "User Link Field"
Type: "Link"
}
{ // 2
Id: "42517b8c-4fbb-4837-8469-20922251b8ca"
Name: "User Number Field"
Type: "Number"
}
]
activityCustomFields: [ // Array with 3 elements
{ // 0
Id: "5bc33a38-bd27-45fc-8766-966f7f1506b6"
Name: "Activity Date Field"
Type: "Date"
}
{ // 1
Id: "be0f11d8-549f-43f2-8ccd-a7a808330a0e"
Name: "Activity Link Field"
Type: "Link"
}
{ // 2
Id: "ca57487b-548a-467c-a19b-f5261b4981ed"
Name: "Activity Single Select"
Type: "SingleSelect"
Options: [ // Array with 7 elements
{ // 0
Id: "19692074-d2ea-4bf6-9858-b755a6f02f3a"
Name: "A"
}
{ // 1
Id: "f4eb8606-b24e-4046-8c5e-df87f63194ff"
Name: "B"
}
{ // 2
Id: "f2b4af1b-3f63-4477-bfd9-cff8d0c38aa2"
Name: "C"
}
{ // 3
Id: "78c29515-dcf2-4ab2-884d-8b2d996993ca"
Name: "D"
}
{ // 4
Id: "88b5b197-907d-4ff7-803a-173f86ba453c"
Name: "E"
}
{ // 5
Id: "b0a2f3c5-3dad-45a0-82e0-ac36a7d06831"
Name: "F"
}
{ // 6
Id: "fced209f-b2dc-422e-bb82-3114a9f5be43"
Name: "G"
}
]
}
]
processCustomFields: [ // Array with 3 elements
{ // 0
Id: "5bc33a38-bd27-45fc-8766-966f7f1506b6"
Name: "Date Field"
Type: "Date"
}
{ // 1
Id: "be0f11d8-549f-43f2-8ccd-a7a808330a0e"
Name: "Link Field"
Type: "Link"
}
{ // 2
Id: "ca57487b-548a-467c-a19b-f5261b4981ed"
Name: "Single Select"
Type: "SingleSelect"
Options: [ // Array with 7 elements
{ // 0
Id: "19692074-d2ea-4bf6-9858-b755a6f02f3a"
Name: "A"
}
{ // 1
Id: "f4eb8606-b24e-4046-8c5e-df87f63194ff"
Name: "B"
}
{ // 2
Id: "f2b4af1b-3f63-4477-bfd9-cff8d0c38aa2"
Name: "C"
}
{ // 3
Id: "78c29515-dcf2-4ab2-884d-8b2d996993ca"
Name: "D"
}
{ // 4
Id: "88b5b197-907d-4ff7-803a-173f86ba453c"
Name: "E"
}
{ // 5
Id: "b0a2f3c5-3dad-45a0-82e0-ac36a7d06831"
Name: "F"
}
{ // 6
Id: "fced209f-b2dc-422e-bb82-3114a9f5be43"
Name: "G"
}
]
}
]
}
Properties
Id
GUID. The unique identifier for this Custom Field.
Name
The name of this Custom Field.
Type
The type of the Custom Field, this can be any of "SingleSelect", "MultiSelect", "Number", "Text", "Date", "ScoreCard", "Calculation", "File", "Link", "SingleRelationship", "MultiRelationship", "Currency" or "RichText".
Options
If the Custom Field is a "SingleSelect" or "MultiSelect" then this property will include a list of all the possible options you can choose from. Each option has an Id and a Name.
ShowAsPercent
If the Custom Field is a "Number" or "Calculation" field, this property will contain either "true" or "false" indicating if the value should be shown as a percentage or not.
ShowAsCurrency
If the Custom Field is a "Calculation" field, this property will contain either "true" or "false" indicating if the value should be shown as a Currency or not.
ShowNumberOfDecimals
If the Custom Field is a "Number", "Currency" or "Calculation" field, this property will tell you how many decimals should be used when presenting the value, valid options inlude: 0, 1, 2, 3 or 4.
ScoreCardXML
If the Custom Field is a "ScoreCard" then this property will be returned containing an XML representation of the ScoreCards various options and their corresponding values.
RelatedType
If the Custom Field is a "SingleRelationship" or "MultiRelaionship", this value is one of "Company", "Person", "Prospect", "Opportunity", "AccountGrowthItem" or "Ticket" corresponding to the type of object that is referenced.
SelectionId
If the Custom Field is a "SingleRelationship" or "MultiRelaionship", this value contains a GUID referencing the Filter that is applied when listing things to select in the user interface in Membrain, if any.
 
GET /roles/
Fetches a list of all available Roles that can be assigned to a ProcessContainerContact. Sorted by Name.
Example Request
GET /roles/
Example Result
[ // Array with 3 elements
// 0:
{
Id: "d5b08186-a7d2-47e8-8a58-a6bfbeb65e58"
Name: "Accountable"
}
// 1:
{
Id: "3fac1534-947d-420d-a0d9-4a08252d5743"
Name: "Approver"
}
// 2:
{
Id: "4cc34ead-64c7-494f-b810-486a4b15f795"
Name: "Billing Contact"
}
]
Properties
Id
GUID. The unique identifier for this Role.
Name
The name of this Role.
 
GET /attitudes/
Fetches description of all Attitudes supported for a ProcessContainerContact. Sorted by least favorable first. Note that Attitude is only shown if enabled in a specific Process.
Example Request
GET /attitudes/
Example Result
[ // Array with 5 elements
// 0:
{
id: "5c494d81-a18c-46e4-bd79-580802b7a48b"
name: "Hostile"
}
// 1:
{
id: "5dc72390-c84f-4984-b7f5-b7e4cfb917f0"
name: "Concerned"
}
// 2:
{
id: "0b651184-f403-4eb2-8375-de086520c138"
name: "Unbiased"
}
// 3:
{
id: "329fb992-5bc7-496e-96a8-0886d6ee1f1d"
name: "Favorable"
}
// 4:
{
id: "468c8468-f115-413b-8369-1a0aecd043fc"
name: "Convinced"
}
]
Properties
Id
GUID. The unique identifier for this Attitude.
Name
The name of this Attitude.
 
GET /influences/
Fetches description of all Influences supported for a ProcessContainerContact. Sorted by least significant first. Note that Influence is only shown if enabled in a specific Process.
Example Request
GET /influences/
Example Result
[ // Array with 3 elements
// 0:
{
Id: "b0a1a9cf-8fc2-493c-84fd-4f35d08902ed"
Name: "Minor"
}
// 1:
{
Id: "e7c0f45a-b5d7-4ee2-8b20-268f05148aa8"
Name: "Significant"
}
// 2:
{
Id: "a7d93c6d-bd9b-4c30-86c7-8894be48de14"
Name: "Decisive"
}
]
Properties
Id
GUID. The unique identifier for this Influence.
Name
The name of this Influence.
 
GET /activityTypes/
Fetches a list of all Activity Types. Sorted by Name.
Example Request
GET /activityTypes/
Example Result
[ // Array with 2 elements
// 0:
{
Id: "5eab24e3-3706-4114-bbf2-0aa180a5de27"
Name: "Absence"
}
// 1:
{
Id: "67da2316-afea-40f3-9a42-797d99d1a0fd"
Name: "Administration"
}
]
Properties
Id
GUID. The unique identifier for this Activity Type.
Name
The name of this Activity Type.
 
GET /documentTypes/
Fetches a list of all Document Categories.
Example Request
GET /documentTypes/
Example Result
[ // Array with 2 elements
// 0:
{
Id: "18c69917-efea-496e-87a8-7152098d70a9"
Name: "Contracts"
}
// 1:
{
Id: "9f8525d9-4c58-497c-a08f-b1d19a9ea854"
Name: "RFQs"
}
]
Properties
Id
GUID representing this Document Category
Name
The name of this Document Category
 
GET /labels/
Fetches a list of all Labels. Sorted by Name.
Example Request
GET /labels/
Example Result
[ // Array with 2 elements
// 0:
{
Id: "eb6d3a82-f2e2-4742-b700-0c9de4a59e42"
Name: "Blog Subscriber"
UseFor: "Contact"
}
// 1:
{
Id: "bc3ab339-e4d9-476e-ba13-fd7ba90d5d42"
Name: "Client"
UseFor: "Company"
}
]
Properties
Id
GUID. The unique identifier for this Label.
Name
The name of this Label.
UseFor
Either "Company" or "Contact". Labels with UseFor set to "Company" are used for Companies, while Labels with UseFor set to "Contact" are used for Contacts.
 
GET /currencies/
Fetches a list of all Currencies. Sorted by CurrencyCode.
Example Request
GET /currencies/
Example Result
[ // Array with 5 elements
// 0:
{
Id: "18c69917-efea-496e-87a8-7152098d70a9"
Name: "Euro"
CurrencyCode: "EUR"
ExchangeRate: "0.1"
}
// 1:
{
Id: "9f8525d9-4c58-497c-a08f-b1d19a9ea854"
Name: "Svenska Kronor"
CurrencyCode: "SEK"
ExchangeRate: "1"
}
// 2:
{
Id: "740d4e5d-0006-4dfe-b2e3-a7a8ffd5509d"
Name: "US Dollar"
CurrencyCode: "USD"
ExchangeRate: "0.212"
}
// 3:
{
Id: "c8b3489e-35ff-45b9-883a-ad8bb1a3eb6c"
Name: "100 times larger"
CurrencyCode: "X1H"
ExchangeRate: "100"
}
// 4:
{
Id: "2e596b22-f755-4d9b-8a6f-25a6bbc91701"
Name: "1000 times larger"
CurrencyCode: "X1K"
ExchangeRate: "1000"
}
]
Properties
Id
GUID. The unique identifier for this Currency.
Name
The name of this Currency.
CurrencyCode
The Currency Code of this Currency (ie USD, EUR, GBP, SEK...)
ExchangeRate
The Exchange Rate for this Currency, always 1 for the Primary Currency. To convert from this Currency to the Primary Currency use "amount / exchange rate". To convert to this Currency from the Primary Currency use "amount * exchange rate".
 
GET /users/
Fetches a list of all Users. Sorted by Name. Note that every User is also a Contact/Person and you use those endpoints to read and write additional properties such as Title, Phone Number and Custom Fields.
Example Request
GET /users/
Example Result
[ // Array with 2 elements
// 0:
{
Id: "9e13db78-7df6-45fc-a652-5e7193d185cb"
Name: "Al Pacino (Hawaii)"
CompanyId: "799dc80d-1368-44c7-ab35-246e082b7a00"
CompanyName: "Membrain"
EmailAddress: "al.pacino@membrain.com"
UserInterfaceLanguage: "en"
TimeZone: "HawaiianStandardTime"
SalesTeams: [ // Array with 1 elements
{ // 0
Id: "34573ef1-0082-46d4-b2ba-6026afe879bf"
Name: "Team Alpha"
}
]
}
// 1:
{
Id: "16e48649-0120-41d2-bb50-daf2e1226cb1"
Name: "Alicia Vikander"
CompanyId: "253b9f1d-d901-4e39-9068-2f1d73c476fd"
CompanyName: "Membrain Alternate"
EmailAddress: "alicia.vikander@membrain.com"
UserInterfaceLanguage: "en"
TimeZone: "WesternEuropeStandardTime"
SalesTeams: [ // Array with 0 elements]
}
]
Properties
Id
GUID. The unique identifier for this User. Note that a User in Membrain is also a Person/Contact and further properties can be accessed via GET /contact/id/
Name
The name of this User.
CompanyId
GUID. Reference to the Company this User belongs to.
CompanyName
Name of the Company this User belongs to.
EmailAddress
The primary e-mail address which is also the users login name.
UserInterfaceLanguage
This Users desired User Interface Language as a two character language code (ie, "en" or "sv").
TimeZone
This Users selected timezone. Given as a Membrain timezone id which corresponds with Microsoft .Net timezones (TimeZoneInfo).
SalesTeams
A list of all Sales Teams this User belongs to, if any. Currently you can only belong to one Sales Team. Each returned Sales Team has an Id and a Name.
 
GET /salesTeams/
Fetches a list of all Sales Teams. Sorted by Name.
Example Request
GET /salesTeams/
Example Result
[ // Array with 2 elements
// 0:
{
Id: "34573ef1-0082-46d4-b2ba-6026afe879bf"
Name: "Team Alpha"
}
// 1:
{
Id: "44bb0514-2c21-4fcb-95f8-be823cd6e6d8"
Name: "Team Bravo"
}
]
Properties
Id
GUID. The unique identifier for this Sales Team.
Name
The name of this Sales Team.
 
Company Class
Companies in Membrain are represented by the Company class. Companies are central to Membrain in that most other classes require you to reference a Company.
Properties
Id
GUID uniquely identifying the Company (Read Only)
Name
String representing the Name of the Company (Max 255 characters)
City
String representing the City from the Visiting Address of the Company
CountryName
String representing the Country the Company is in
CountryCode
Number representing the Country the Company is in
EmailAddress
String representing the Email Address of the Company (Max 255 characters)
Facebook
String representing the Facebook profile of the Company. Can be a full link or just the profile name (Max 255 characters)
Instagram
String representing the Instagram profile of the Company. Can be a full link or just the profile name (Max 255 characters)
Homepage
String representing the URL of the Company homepage (Max 255 characters)
LabelIds
String with zero or more GUIDs separated by commas. Each GUID references a Label
LabelNames
String representing the Labels set on the Company, separated by commas
LinkedIn
String representing the LinkedIn profile of the Company. Can be a full link or just the profile name (Max 255 characters)
Notes
String representing the Description of the Company
ExternalIdentifier
String representing the External Identifier of the Company (Max 1000 characters)
Phone
String representing the Phone Number of the Company (Max 255 characters)
ParentCompanyId
GUID referencing the Parent Company of the Company. 00000000-0000-0000-0000-000000000000 represents an empty value
ParentCompanyName
String representing the name of the Parent Company of the Company
SalesPersonId
GUID referencing the User who is the Account Manager for the Company. 00000000-0000-0000-0000-000000000000 represents an empty value
SalesPersonName
String representing the name of the Account Manager for the Company
State
String representing the State from the Visiting Address of the Company
StreetAddress
String representing the Street Address from the Visiting Address of the Company
Twitter
String representing the Twitter profile of the Company. Can be a full link or just the profile name (Max 255 characters)
BillingAddress.Name / ShippingAddress.Name / VisitingAddress.Name
String representing the Name of each of the three Addresses of the Company (Max 100 characters)
BillingAddress.Address1 / ShippingAddress.Address1 / VisitingAddress.Address1
String representing the first row of the Address of each of the three Addresses of the Company (Max 100 characters)
BillingAddress.Address2 / ShippingAddress.Address2 / VisitingAddress.Address2
String representing the second row of the Address of each of the three Addresses of the Company (Max 100 characters)
BillingAddress.Address3 / ShippingAddress.Address3 / VisitingAddress.Address3
String representing the third row of the Address of each of the three Addresses of the Company (Max 100 characters)
BillingAddress.State / ShippingAddress.State / VisitingAddress.State
String representing the State of each of the three Addresses of the Company (Max 100 characters)
BillingAddress.ZipCode / ShippingAddress.ZipCode / VisitingAddress.ZipCode
String representing the Zip Code of each of the three Addresses of the Company (Max 100 characters)
BillingAddress.City / ShippingAddress.City / VisitingAddress.City
String representing the City of each of the three Addresses of the Company (Max 100 characters)
BillingAddress.CountryCode / ShippingAddress.CountryCode / VisitingAddress.CountryCode
String representing the Country Code of the Country of each of the three Addresses of the Company (Max 100 characters)
BillingAddress.CountryName / ShippingAddress.CountryName / VisitingAddress.CountryName
String representing the Country of the Country of each of the three Addresses of the Company (Max 100 characters)
CustomField{GUID}
Custom Field Values, please see the Working With Custom Fields section to learn more
MergedWithId
GUID referencing the Company that this Company was merged with. This field only exists if the Company has been merged with another Company (Read Only)
CreatedById
GUID referencing the User that created the Company (Read Only)
CreatedByName
String representing the name of the User that created the Company (Read Only)
CreatedDate
Date when the Company was created (Read Only)
ChangedById
GUID referencing the User that last changed the Company (Read Only)
ChangedByName
String representing the name of the User that last changed the Company (Read Only)
ChangedDate
Date when the Company was last changed (Read Only)
Deleted
Boolean set to "true" if the Company has been deleted. This field only exists if the Company has been deleted (Read Only)
DeletedById
GUID referencing the User that deleted the Company. This field only exists if the Company has been deleted (Read Only)
DeletedByName
String representing the name of the User that deleted the Company. This field only exists if the Company has been deleted (Read Only)
DeletedDate
Date when the Company was deleted. This field only exists if the Company has been deleted (Read Only)
 
GET /companies/
Get a list of Companies. Use these query string parameters to filter the list:
Parameters
SelectionId
GUID. Refence to a saved Filter in Membrain, currently only supported in relation to Relationship fields.
Name
Supports optional wildcards, ex: Name*.
ExternalIdentifier
Supports optional wildcards, ex: 55*.
EmailAddress
Supports optional wildcards, ex: info@*.
SalesPersonId
Comma separated list of GUIDs referencing Users. The result will return only Companies where the Account Manager is one of the provided Users.
HasLabel
Comma separated list of GUIDs referencing Company Labels. The result will return Companies that has ANY of the provided Labels.
DoesNotHaveLabel
Comma separated list of GUIDs referencing Company Labels. The result will return Companies that has NONE of the provided Labels.
CreatedById
Comma separated list of GUIDs referencing Users. The result will return only Companies created by one of the provided Users.
CreatedFromDate
Given as a date in the format YYYY-MM-DD HH:mm:ss.ffffff where HH:mm:ss.ffffff is optional, default to 00:00.000000. Must be provided with CreatedToDate.
CreatedToDate
Given as a date in the format YYYY-MM-DD HH:mm:ss.ffffff where HH:mm:ss.ffffff is optional, default to 23:59:59.999999. Must be provided with CreatedFromDate.
ChangedById
Comma separated list of GUIDs referencing Users. The result will return only Companies that where last changed by one of the provided Users.
ChangedFromDate
Given as a date in the format YYYY-MM-DD HH:mm:ss.ffffff where HH:mm:ss.ffffff is optional, default to 00:00:00.000000. Must be provided with ChangedToDate.
ChangedToDate
Given as a date in the format YYYY-MM-DD HH:mm:ss.ffffff where HH:mm:ss.ffffff is optional, default to 23:59:59.999999. Must be provided with ChangedFromDate.
IncludeDeleted
If passed with a value of "true", Companies will be returned that have been deleted.
Return
Comma separated list of fields to return. It is recommended that you use this for most calls as reading fewer fields will decrease download sizes and make calls complete faster.
Example Request
GET /companies/?CreatedFromDate=2020-01-01 12:30:35.123456&CreatedToDate=2020-01-31
Example Result
{
count: "1"
from: "0"
to: "1"
items: [ // Array with 1 elements
{ // 0
Id: "24044e67-2158-4c1e-81be-9233239dd543"
CreatedById: "e30a2d31-20c7-40a7-a097-865f652aae0b"
CreatedByName: "Sophie Juliet"
CreatedDate: "2032-02-03 11:23:03.123456"
ChangedById: "aa0e40a1-7yui-41e4-a599-c48b72155071"
ChangedByName: "Ben Bron"
ChangedDate: "2032-10-25 08:22:03.123456"
Name: "Socks Are Us"
City: "Stockholm"
CountryName: "Sweden"
CountryCode: "46"
EmailAddress: "email@domain.com"
Facebook: "https://www.facebook.com/"
Instagram: ""
Homepage: "https://domain.com"
LabelIds: "d76d7668-fcce-40ff-87ba-bfb2d65daa9e"
LabelNames: "Client (self-service)"
LinkedIn: "https://www.linkedin.com/company/"
Notes: "Sells Socks"
ExternalIdentifier: ""
Phone: "+46-8+5551234"
ParentCompanyId: "00000000-0000-0000-0000-000000000000"
ParentCompanyName: ""
SalesPersonId: "e30a2d31-20c7-40a7-a097-909f652aae0b"
SalesPersonName: "Sophie Juliet"
State: ""
Twitter: "https://twitter.com/profile/"
BillingAddress.Id: "00000000-0000-0000-0000-000000000000"
BillingAddress.Name: ""
BillingAddress.Address1: ""
BillingAddress.Address2: ""
BillingAddress.Address3: ""
BillingAddress.State: ""
BillingAddress.ZipCode: ""
BillingAddress.City: ""
BillingAddress.CountryCode: ""
BillingAddress.CountryName: ""
ShippingAddress.Id: "00000000-0000-0000-0000-000000000000"
ShippingAddress.Name: ""
ShippingAddress.Address1: ""
ShippingAddress.Address2: ""
ShippingAddress.Address3: ""
ShippingAddress.State: ""
ShippingAddress.ZipCode: ""
ShippingAddress.City: ""
ShippingAddress.CountryCode: ""
ShippingAddress.CountryName: ""
VisitingAddress.Id: "5a485eec-b795-420d-9107-d636e75fba2a"
VisitingAddress.Name: ""
VisitingAddress.Address1: "Industrivägen 31"
VisitingAddress.Address2: "Solna"
VisitingAddress.Address3: ""
VisitingAddress.State: ""
VisitingAddress.ZipCode: "123 45"
VisitingAddress.City: "Stockholm"
VisitingAddress.CountryCode: "46"
VisitingAddress.CountryName: "Sweden"
CustomField54f45f3ece3a4dcda909044cb1e5b5b5: "Lorem Ipsum"
}
]
}
 
GET /companies/{Id}
Read data related to a company entry in the database, requires either a valid Id (GUID) for the company you want to read.
Example Request
GET /companies/799dc80d-1368-44c7-ab35-258e082b7a99
Example Result
{
Id: "24044e67-2158-4c1e-81be-9233239dd543"
CreatedById: "e30a2d31-20c7-40a7-a097-865f652aae0b"
CreatedByName: "Sophie Juliet"
CreatedDate: "2032-02-03 11:23:03.123456"
ChangedById: "aa0e40a1-7yui-41e4-a599-c48b72155071"
ChangedByName: "Ben Bron"
ChangedDate: "2032-10-25 08:22:03.123456"
Name: "Socks Are Us"
City: "Stockholm"
CountryName: "Sweden"
CountryCode: "46"
EmailAddress: "email@domain.com"
Facebook: "https://www.facebook.com/"
Instagram: ""
Homepage: "https://domain.com"
LabelIds: "d76d7668-fcce-40ff-87ba-bfb2d65daa9e"
LabelNames: "Client (self-service)"
LinkedIn: "https://www.linkedin.com/company/"
Notes: "Sells Socks"
ExternalIdentifier: ""
Phone: "+46-8+5551234"
ParentCompanyId: "00000000-0000-0000-0000-000000000000"
ParentCompanyName: ""
SalesPersonId: "e30a2d31-20c7-40a7-a097-909f652aae0b"
SalesPersonName: "Sophie Juliet"
State: ""
Twitter: "https://twitter.com/profile/"
BillingAddress.Id: "00000000-0000-0000-0000-000000000000"
BillingAddress.Name: ""
BillingAddress.Address1: ""
BillingAddress.Address2: ""
BillingAddress.Address3: ""
BillingAddress.State: ""
BillingAddress.ZipCode: ""
BillingAddress.City: ""
BillingAddress.CountryCode: ""
BillingAddress.CountryName: ""
ShippingAddress.Id: "00000000-0000-0000-0000-000000000000"
ShippingAddress.Name: ""
ShippingAddress.Address1: ""
ShippingAddress.Address2: ""
ShippingAddress.Address3: ""
ShippingAddress.State: ""
ShippingAddress.ZipCode: ""
ShippingAddress.City: ""
ShippingAddress.CountryCode: ""
ShippingAddress.CountryName: ""
VisitingAddress.Id: "5a485eec-b795-420d-9107-d636e75fba2a"
VisitingAddress.Name: ""
VisitingAddress.Address1: "Industrivägen 31"
VisitingAddress.Address2: "Solna"
VisitingAddress.Address3: ""
VisitingAddress.State: ""
VisitingAddress.ZipCode: "123 45"
VisitingAddress.City: "Stockholm"
VisitingAddress.CountryCode: "46"
VisitingAddress.CountryName: "Sweden"
CustomField54f45f3ece3a4dcda909044cb1e5b5b5: "Lorem ipsum"
}
 
POST /companies/
Creates a new Company in Membrain.

We generally recommend performing a GET /companies/ request with the appropriate parameters to see if the Company you want to create already exists in the database to avoid duplicates.
Example Request
POST /companies/
{
Name: "ABC Solution"
Homepage: "https://test.com"
CustomFielde5f959b4-0522-4a2a-9941-950ed45217c5: "Lorem Ipsum"
}
Example Result
{
Id: "a43adb34-808f-4e25-8233-65eca61b3179"
Name: "ABC Solution"
Homepage: "https://test.com"
CustomFielde5f959b4-0522-4a2a-9941-950ed45217c5: "Lorem Ipsum"
}
 
PUT /companies/{Id}
Update a Company in Membrain.
Example Request
PUT /companies/7af5fd1d-95b0-4564-a0d2-45e2c3b35f4b
{
Name: "Company Name"
CountryName: "Norway"
CustomFielde5f959b4-0522-4a2a-9941-950ed45217c5: "Lorem Ipsum"
}
Example Result
{
Id: "7af5fd1d-95b0-4564-a0d2-45e2c3b35f4b"
Name: "Company Name"
CountryName: "Norway"
CustomFielde5f959b4-0522-4a2a-9941-950ed45217c5: "Lorem Ipsum"
}
 
PUT /companies/{Id}/mergeWith/{MergeWithId}
Merges Company {Id} into Company {MergeWithId}.

Account Growth Projects, Sales Projects, Prospects, Tickets, Labels, Activities & Documents will be transfered from Company {Id} over to Company {MergeWithId}.

If Company {MergeWithId} has empty fields (ex. Email Address, Homepage etc) these will be populated by the data from Company {Id}.

Company {Id} will be deleted.
Example Request
PUT /companies/bf406c56-556f-4cf5-9724-a4b32ecfa461/mergeWith/7af5fd1d-95b0-4564-a0d2-45e2c3b35f4b
Example Result
{
success: "true"
}
 
DELETE /companies/{Id}
Deletes a Company and all Contacts related to that Company.
Example Request
DELETE /companies/7af5fd1d-95b0-4564-a0d2-45e2c3b35f4b
Example Result
{
success: "true"
}
 
Contact Class
Contacts in Membrain are represented by the Contact class. All Contacts must belong to a Company.
Properties
Id
GUID uniquely identifying the Contact (Read Only)
Name
String representing the Name of the Contact. The Name is automatically constructed from the FirstName and LastName properties (Max 100 characters)
EmailAddress
String representing the Email Address of the Contact (Max 255 characters)
CompanyId
GUID referencing the Company that the Contact belongs to
CompanyName
String representing the name of the Company the Contact belongs to
FirstName
String representing the First Name of the Contact (Max 50 characters)
LastName
String representing the Last Name of the Contact (Max 50 characters)
Position
String representing the Position of the Contact, called Title in the user interface (Max 50 characters)
Retired
Boolean representing if the Contact has been marked as Retired/Left Company (true | false)
Notes
String representing the Description of the Contact
Notes
String representing the Description of the Contact
WorkPhone
String representing the Work Phone Number of the Contact (Max 255 characters)
CellularPhone
String representing the Cellular Phone Number of the Contact (Max 255 characters)
HomePhone
String representing the Home Phone Number of the Contact (Max 255 characters)
StreetAddress
String representing the Street Address of the Contact
Address2
String representing the second row of the Contact Address (Max 100 characters)
Address3
String representing the third row of the Contact Address (Max 100 characters)
State
String representing the State from the Contact Address (Max 100 characters)
ZipCode
String representing the Zip from the Contact Address (Max 100 characters)
City
String representing the City from the Contact Address (Max 100 characters)
CountryCode
String representing the Country Code the Contact is in (Max 100 characters)
CountryName
String representing the Country Name the Contact is in (Max 100 characters)
LabelIds
String with zero or more GUIDs separated by commas. Each GUID references a Contact Label
LabelNames
String representing the Contact Labels set on the Contact, separated by commas
Facebook
String representing the Facebook profile of the Contact. Can be a full link or just the profile name (Max 255 characters)
LinkedIn
String representing the LinkedIn profile of the Contact. Can be a full link or just the profile name (Max 255 characters)
Twitter
String representing the Twitter profile of the Contact. Can be a full link or just the profile name (Max 255 characters)
Instagram
String representing the Instagram profile of the Contact. Can be a full link or just the profile name (Max 255 characters)
ExternalIdentifier
String representing the External Identifier of the Contact (Max 1000 characters)
ReportsToPersonId
GUID referencing the Contact that this Contact Reports to. 00000000-0000-0000-0000-000000000000 represents an empty value
SecondaryEmailAddresses
String representing the Additional Email Addresses of the Contact, separated by commas
CustomField{GUID}
Custom Field Values, please see the Working With Custom Fields section to learn more
MergedWithId
GUID referencing the Contact that this Contact was merged with. This field only exists if the Contact has been merged with another Contact (Read Only)
CreatedById
GUID referencing the User that created the Contact (Read Only)
CreatedByName
String representing the name of the User that created the Contact (Read Only)
CreatedDate
Date when the Contact was created (Read Only)
ChangedById
GUID referencing the User that last changed the Contact (Read Only)
ChangedByName
String representing the name of the User that last changed the Contact (Read Only)
ChangedDate
Date when the Contact was last changed (Read Only)
Deleted
Boolean set to "true" if the Contact has been deleted. This field only exists if the Contact has been deleted (Read Only)
DeletedById
GUID referencing the User that deleted the Contact. This field only exists if the Contact has been deleted (Read Only)
DeletedByName
String representing the name of the User that deleted the Contact. This field only exists if the Contact has been deleted (Read Only)
DeletedDate
Date when the Contact was deleted. This field only exists if the Contact has been deleted (Read Only)
 
GET /contacts/
Get a list of Contacts. Use these query string parameters to filter the list:
Parameters
SelectionId
GUID. Refence to a saved Filter in Membrain, currently only supported in relation to Relationship fields.
CompanyId
GUID. Reference to a Company which you want to look for Contacts in.
Name
Supports optional wildcards, ex: Name*.
EmailAddress
Supports optional wildcards, ex: info@*.
IncludeRetired
Set IncludeRetired to "true" in order for the search to include Contacts that are marked with "Left Company" / "Retired".
HasLabel
Comma separated list of GUIDs referencing Contact Labels. The result will return Contacts that has ANY of the provided Labels.
DoesNotHaveLabel
Comma separated list of GUIDs referencing Contact Labels. The result will return Contacts that has NONE of the provided Labels.
CreatedById
Comma separated list of GUIDs referencing Users. The result will return only Contacts created by one of the provided Users.
CreatedFromDate
Given as a date in the format YYYY-MM-DD HH:mm:ss.ffffff where HH:mm:ss.ffffff is optional, default to 00:00.000000. Must be provided with CreatedToDate.
CreatedToDate
Given as a date in the format YYYY-MM-DD HH:mm:ss.ffffff where HH:mm:ss.ffffff is optional, default to 23:59:59.999999. Must be provided with CreatedFromDate.
ChangedById
Comma separated list of GUIDs referencing Users. The result will return only Contacts that where last changed by one of the provided Users.
ChangedFromDate
Given as a date in the format YYYY-MM-DD HH:mm:ss.ffffff where HH:mm:ss.ffffff is optional, default to 00:00:00.000000. Must be provided with ChangedToDate.
ChangedToDate
Given as a date in the format YYYY-MM-DD HH:mm:ss.ffffff where HH:mm:ss.ffffff is optional, default to 23:59:59.999999. Must be provided with ChangedFromDate.
IncludeDeleted
If passed with a value of "true", Contacts will be returned that have been deleted.
Return
String with a comma separated list of fields to return. It is recommended that you use this for most calls as reading fewer fields will decrease download sizes and make calls complete faster.
Example Request
GET /contacts/?CreatedFromDate=2020-01-01 04:50:00:123456&CreatedToDate=2020-01-31
Example Result
{
count: "1"
from: "0"
to: "1"
items: [ // Array with 1 elements
{ // 0
Id: "32e205ca-5dad-44ef-a02f-65f846170c1d"
CreatedById: "94a479da-5e9a-4d14-b909-562da1664533"
CreatedByName: "Some User"
CreatedDate: "2018-04-27 19:30:46.496799"
ChangedById: "df8c074f-180f-4564-a80a-ef960d01bd58"
ChangedByName: "Some Other User"
ChangedDate: "2023-06-07 10:24:37.926643"
CustomFieldfd1117fc-2634-4f3c-99c3-ff7e2645cb1f: "9e936a40-5b23-4724-981e-0e2d3b3cfb3a"
CustomFieldfe2c3412-dce2-40af-94a7-f987da35be98: ""
CustomField9aace1a9-35a6-4b47-9591-de75623b074b: "2ad697cb-00ef-43c0-9cce-17596590b3c0"
CustomField5ea0d53d-9842-43fc-9168-78e80506938e: "b286cf2b-883a-4dda-99e6-91c692dc4ae9"
CustomFieldd1db75fa-418d-449e-a116-6e9d92db8ec6: "40"
CustomField9042c79b-39bf-496b-9707-11cb6d8807a1: "20"
Name: "Alicia Vikander"
EmailAddress: "alicia.vikander@membrain.com"
CompanyId: "2cc29974-fa8e-4107-b140-86a0a951f963"
CompanyName: "Membrain"
ShortName: ""
FirstName: "Alicia"
LastName: "Vikander"
Position: "SDR"
Retired: "false"
Notes: ""
WorkPhone: "616 292 7124"
CellularPhone: "838 780 8163"
HomePhone: ""
StreetAddress: ""
Address2: ""
Address3: ""
State: ""
ZipCode: ""
City: ""
CountryCode: ""
CountryName: ""
LabelIds: ""
LabelNames: ""
Facebook: ""
LinkedIn: "https://linkedin.com/profile/alicia.vikander"
Twitter: ""
Instagram: ""
ExternalIdentifier: ""
ReportsToPersonId: "00000000-0000-0000-0000-000000000000"
SecondaryEmailAddresses: ""
}
]
}
 
GET /contacts/{Id}
Read data related to a Contact entry in the database, requires either a valid Id (GUID) for the Contact you want to read, or the ContactNumber.
Example Request
GET /contacts/aa0e40a1-7cae-41e4-a599-c48b12345071
Example Result
{
Id: "32e205ca-5dad-44ef-a02f-65f846170c1d"
CreatedById: "94a479da-5e9a-4d14-b909-562da1664533"
CreatedByName: "Some User"
CreatedDate: "2018-04-27 19:30:46.496799"
ChangedById: "df8c074f-180f-4564-a80a-ef960d01bd58"
ChangedByName: "Some Other User"
ChangedDate: "2023-06-07 10:24:37.926643"
CustomFieldfd1117fc-2634-4f3c-99c3-ff7e2645cb1f: "9e936a40-5b23-4724-981e-0e2d3b3cfb3a"
CustomFieldfe2c3412-dce2-40af-94a7-f987da35be98: ""
CustomField9aace1a9-35a6-4b47-9591-de75623b074b: "2ad697cb-00ef-43c0-9cce-17596590b3c0"
CustomField5ea0d53d-9842-43fc-9168-78e80506938e: "b286cf2b-883a-4dda-99e6-91c692dc4ae9"
CustomFieldd1db75fa-418d-449e-a116-6e9d92db8ec6: "40"
CustomField9042c79b-39bf-496b-9707-11cb6d8807a1: "20"
Name: "Alicia Vikander"
EmailAddress: "alicia.vikander@membrain.com"
CompanyId: "2cc29974-fa8e-4107-b140-86a0a951f963"
CompanyName: "Membrain"
ShortName: ""
FirstName: "Alicia"
LastName: "Vikander"
Position: "SDR"
Retired: "false"
Notes: ""
WorkPhone: "616 292 7124"
CellularPhone: "838 780 8163"
HomePhone: ""
StreetAddress: ""
Address2: ""
Address3: ""
State: ""
ZipCode: ""
City: ""
CountryCode: ""
CountryName: ""
LabelIds: ""
LabelNames: ""
Facebook: ""
LinkedIn: "https://linkedin.com/profile/alicia.vikander"
Twitter: ""
Instagram: ""
ExternalIdentifier: ""
ReportsToPersonId: "00000000-0000-0000-0000-000000000000"
SecondaryEmailAddresses: ""
}
 
POST /contacts/
Create a new Contact (Person) in Membrain.

All Contacts in Membrain MUST be related to a Company.
Example Request
POST /contacts/
{
FirstName: "Ed"
LastName: "Shane"
CompanyId: "788ef80d-1368-44c7-ab35-246e082b7a00"
EmailAddress: "abc@gmail.com"
Position: "Test"
CellularPhone: "0123456789"
WorkPhone: "0123456789"
CustomFielde5f959b4-0522-4a2a-9941-950ed45217c5: "Lorem Ipsum"
}
Example Result
{
Id: "8cc47733-b388-4ccc-91fe-3c09d5d26b96"
FirstName: "Ed"
LastName: "Shane"
CompanyId: "788efdc80d-1368-44c7-ab35-246e082b7a00"
EmailAddress: "abc@gmail.com"
Position: "Test"
CellularPhone: "0123456789"
WorkPhone: "0123456789"
CustomFielde5f959b4-0522-4a2a-9941-950ed45217c5: "Lorem Ipsum"
}
 
PUT /contacts/{Id}
Update a Contact in Membrain.
Example Request
PUT /contacts/874b0126-d355-4d4f-a792-9b906fe2f97d
{
Name: "Michelle A"
EmailAddress: "contact@domain.com"
LastName: "A"
FirstName: "Michelle"
CompanyId: "799dc80d-2345-44c7-ab35-246e082b7a00"
SecondaryEmailAddresses: "abc@gmail.com"
Position: "Test"
WorkPhone: "123456789"
StreetAddress: "Milano"
Address2: "Roma"
Address3: "Alexander"
State: "US"
ZipCode: "123"
City: "New York"
CustomFielde5f959b4-0522-4a2a-9941-950ed45217c5: "Lorem Ipsum"
}
Example Result
{
Id: "874b0126-d355-4d4f-a792-9b906fe2f97d"
Name: "Michelle A"
EmailAddress: "contact@domain.com"
LastName: "A"
FirstName: "Michelle"
CompanyId: "799dc80d-4567-44c7-ab35-246e082b7a00"
SecondaryEmailAddresses: "abc@gmail.com"
Position: "Test"
WorkPhone: "123456789"
StreetAddress: "Milano"
Address2: "Roma"
Address3: "Alexander"
State: "US"
ZipCode: "123"
City: "New York"
CustomFielde5f959b4-0522-4a2a-9941-950ed45217c5: "Lorem Ipsum"
}
 
PUT /contacts/{Id}/mergeWith/{MergeWithId}
Merges Contact {Id} into Contact {MergeWithId}.

Account Growth Projects, Sales Projects, Prospects, Tickets, Labels & Activities will be transfered from Contact {Id} over to Contact {MergeWithId}.

If Contact {MergeWithId} has empty fields (ex. Email Address, Twitter etc) these will be populated by the data from Contact {Id}.

Contact {Id} will be deleted.
Example Request
PUT /contacts/bf406c56-556f-4cf5-9724-a4b32ecfa461/mergeWith/7af5fd1d-95b0-4564-a0d2-45e2c3b35f4b
Example Result
{
success: "true"
}
 
DELETE /contacts/{Id}
Deletes a Contact from Membrain.
Example Request
DELETE /contacts/7af5fd1d-95b0-4564-a0d2-45e2c3b35f4b
Example Result
{
success: "true"
}
 
GET /accountGrowthItems/
Get list of AccountGrowthItems (Account Growth Projects). Use these query strings to filter the list:
Parameters
SelectionId
A GUID identifying a Selection from Membrain, currently only supported in relation to Relationship fields. If a Selection is used this node MUST be provided first.
Name
String with optional wildcards, ex: Name*
CompanyId
Comma separated list of GUIDs referencing Companies.
ProcessId
Comma separated list of GUIDs referencing Prospecting Processes.
OwnerId
Comma separated list of GUIDs referencing Users.
Status
Comma separated list with one or more of: Open, Won, Archived.
CreatedById
Comma separated list of GUIDs referencing Users. The result will return only Account Growth Projects created by one of the provided Users.
CreatedFromDate
Given as a date in the format YYYY-MM-DD HH:mm:ss.ffffff where HH:mm:ss.ffffff is optional, default to 00:00.000000. Must be provided with CreatedToDate.
CreatedToDate
Given as a date in the format YYYY-MM-DD HH:mm:ss.ffffff where HH:mm:ss.ffffff is optional, default to 23:59:59.999999. Must be provided with CreatedFromDate.
ChangedById
Comma separated list of GUIDs referencing Users. The result will return only Account Growth Projects that where last changed by one of the provided Users.
ChangedFromDate
Given as a date in the format YYYY-MM-DD HH:mm:ss.ffffff where HH:mm:ss.ffffff is optional, default to 00:00:00.000000. Must be provided with ChangedToDate.
ChangedToDate
Given as a date in the format YYYY-MM-DD HH:mm:ss.ffffff where HH:mm:ss.ffffff is optional, default to 23:59:59.999999. Must be provided with ChangedFromDate.
Return
String with a comma separated list of fields to return. It is recommended that you use this for most calls as reading fewer fields will decrease download sizes and make calls complete faster.
All Search* requests are limited to returning a maximum of 100 entries, use the From and To tags directly under the Command node to select which subset of data to return. Each result always includes a Count node with the number of matching entries for the search criteria specified.
Example Request
GET /accountGrowthItems/?CreatedFromDate=2020-01-01 08:45:41.123456&CreatedToDate=2020-01-31
Example Result
{
count: "1"
from: "0"
to: "1"
items: [ // Array with 1 elements
{ // 0
Id: "3456b1a7-c56a-4528-b415-aa19455841d1"
CreatedById: "3357bea5-def8-4207-a18f-c632e7e567a2"
CreatedByName: "Meryl Streep"
CreatedDate: "2018-12-17 10:16:12.123456"
ChangedById: "3357bea5-def8-4207-a18f-c632e6d520a2"
ChangedByName: "Meryl Streep"
ChangedDate: "2019-02-14 10:16:12.123456"
CompanyId: "6efd2550-81db-4f45-b7a8-2ff8c2cbf93d"
CompanyName: "AB"
Name: "AB"
OwnerId: "3357bea5-def8-6907-a18f-c632e7e320a2"
OwnerName: "Martin Nedbal"
ProcessId: "2a1fc16f-25gh-4ad0-97da-cbcf2a582d0c"
ProcessCurrentStageName: "Committment"
ProcessCurrentStageId: "73a3d59c-8b0f-40d3-b115-07c3fdd6814d"
ProcessEndedDate: "2019-02-14 15:32:30.123456"
ProcessLastActionDate: "2019-02-08 10:16:12.123456"
ProcessStartedDate: "2018-12-17 10:16:22.123456"
ProcessProgress: "100"
Status: "Won"
Value: "180758"
ValueInCurrency: "180758"
ValueCurrencyCode: ""
ValueCurrencyId: "00000000-0000-0000-0000-000000000000"
Potential: "300000"
PotentialInCurrency: "300000"
PotentialCurrencyCode: ""
PotentialCurrencyId: "00000000-0000-0000-0000-000000000000"
UntappedPotential: "120000"
GridQuadrant: "Top Left"
CustomFieldd142ac25447b4cb596dcb1bdb0f58ce9: "Lorem Ipsum"
}
]
}
 
GET /accountGrowthItems/{Id}
Read data related to a AccountGrowthItem (Account Growth Project) entry in the database, requires a valid Id (GUID) for the AccountGrowthItem you want to read.
Example Request
GET /accountGrowthItems/3456b1a7-c56a-4528-b415-aa19455841d1
Example Result
{
Id: "3456b1a7-c56a-4528-b415-aa19455841d1"
CreatedById: "3357bea5-def8-4207-a18f-c632e7e567a2"
CreatedByName: "Meryl Streep"
CreatedDate: "2018-12-17 10:16:12.123456"
ChangedById: "3357bea5-def8-4207-a18f-c632e6d520a2"
ChangedByName: "Meryl Streep"
ChangedDate: "2019-02-14 10:16:12.123456"
DeletedById: "5e8633af-3b28-478f-1e7b-96335d035e11"
DeletedByName: "John Smith"
DeletedDate: "2023-02-25 10:01:22.541441"
Deleted: "false"
CompanyId: "6efd2550-81db-4f45-b7a8-2ff8c2cbf93d"
CompanyName: "AB"
Name: "AB"
OwnerId: "3357bea5-def8-6907-a18f-c632e7e320a2"
OwnerName: "Martin Nedbal"
ProcessId: "2a1fc16f-25gh-4ad0-97da-cbcf2a582d0c"
ProcessCurrentStageName: "Committment"
ProcessCurrentStageId: "73a3d59c-8b0f-40d3-b115-07c3fdd6814d"
ProcessEndedDate: "2019-02-14 09:30:12.123456"
ProcessLastActionDate: "2019-02-08 10:16:12.123456"
ProcessStartedDate: "2018-12-17 10:16:12.123456"
ProcessProgress: "100"
Status: "Won"
Value: "180758"
ValueInCurrency: "180758"
ValueCurrencyCode: ""
ValueCurrencyId: "00000000-0000-0000-0000-000000000000"
Potential: "300000"
PotentialInCurrency: "300000"
PotentialCurrencyCode: ""
PotentialCurrencyId: "00000000-0000-0000-0000-000000000000"
UntappedPotential: "120000"
GridQuadrant: "Top Left"
CustomFieldd142ac25447b4cb596dcb1bdb0f58ce9: "Lorem Ipsum"
}
Properties
Id
GUID. The unique identifier for this Account Growth Project.
Name
The name of this Account Growth Project.
CompanyId
GUID. The unique identifier of the Company the Account Growth Project belongs to.
CompanyName
Name of the Company the Account Growth Project belongs to.
CustomField{GUID}
Read data for a specific Custom Field identified by {GUID}, the format of the data in this field depends on the Custom Field type. See the section on Custom Fields.
OwnerId
GUID. The unique identifier of the Person that owns this Account Growth Project.
OwnerName
The name of the Owner of this Account Growth Project.
ProcessId
GUID. The unique identifier for the Process related to this Account Growth Project.
ProcessCurrentStageName
Name of the current Stage.
ProcessCurrentStageId
GUID. The unique identifier of the current Stage.
ProcessEndedDate
Closing Date for this Account Growth Project.
ProcessLastActionDate
Date when a stage or step in the Process was most recently completed.
ProcessStartedDate
The starting date for this Account Growth Project.
ProcessProgress
Percentage of steps completed in the Process for this Account Growth Project.
Status
Current Project Status. Any of Planned, Open, Won or Archived. NOTE: The Planned Status is automatically set when the Start Date of a Project is in the future, it will automatically become Open when that date happens.
Value
Value converted to the system default currency.
ValueCurrencyName
Name of the current currency.
ValueCurrencyCode
Currency code of the current currency (ie USD, EUR, etc).
ValueCurrencyId
GUID. Unique identifier of the the current currency.
ValueInCurrency
The value in the currently selected currency.
Potential
Potential converted to the system default currency.
PotentialCurrencyName
Name of the current currency.
PotentialCurrencyCode
Currency code of the current currency (ie USD, EUR, etc).
PotentialCurrencyId
GUID. Unique identifier of the the current currency.
PotentialInCurrency
The potential in the currently selected currency.
UntappedPotential
Untapped Potential converted to the system default currency.
GridQuadrant
The current quadrant in the Account Growth Grid this Account Growth Project is in.
CreatedById
>GUID. Unique identifier for the User who created this Account Growth Project.
CreatedByName
Name of the User who created this Account Growth Project.
CreatedDate
Date and time when this Account Growth Project was created.
ChangedById
>GUID. Unique identifier for the User who last modified this Account Growth Project.
ChangedByName
Name of the User who last modified this Account Growth Project.
ChangedDate
Date and time when this Account Growth Project was last modified.
DeletedById
>GUID. Unique identifier for the User that deleted this Account Growth Project. NOTE: this field is ONLY available if the item is marked as deleted.
DeletedByName
Name of the User that deleted this Account Growth Project. NOTE: this field is ONLY available if the item is marked as deleted.
DeletedDate
Date when this Account Growth Project was deleted. NOTE: this field is ONLY available if the item is marked as deleted.
Deleted
Delete state of this Account Growth Project (true | false).
 
POST /accountGrowthItems/
Create a new AccountGrowthItem (Account Growth Project) in Membrain.

All AccountGrowthItems require at minimum Name, CompanyId, ProcessId and OwnerId. For CompanyId existing companies can be located using GET /companies/, new companies can be created with PUT /companies/.

For ProcessId you can get the currently available sales processes using GET /accountGrowthProcesses/. For OwnerId you can access a list of users using GET /users/.

NOTE: You can also write to custom fields detailed in the specific process specification returned from GET /accountGrowthProcesses/.
Example Request
POST /accountGrowthItems/
{
Name: "First Account Growth Project"
CompanyId: "122dc80d-1368-44c7-ab35-246e082b7a00"
ProcessId: "b45f6f87-2779-463e-80ad-7ffacdea8a8d"
OwnerId: "aa0e32a1-7cae-41e4-a599-c48b72155071"
CustomFielde5f959b4-0522-4a2a-9941-950ed45217c5: "Lorem Ipsum"
}
Example Result
{
Id: "b2e2cfcf-30d2-4uuu-ae46-a57868fba2f9"
Name: "First Account Growth Project"
CompanyId: "122dc80d-1368-44c7-ab35-246e082b7a00"
ProcessId: "b45f6f87-2779-463e-80ad-7ffacdea8a8d"
OwnerId: "aa0e32a1-7cae-41e4-a599-c48b72155071"
CustomFielde5f959b4-0522-4a2a-9941-950ed45217c5: "Lorem Ipsum"
}
Properties
Id
GUID identifier for the AccountGrowthItem (Return value only).
Name
The name of the AccountGrowthItem (Account Growth Project) max 255 characters long
CompanyId
GUID referencing an existing Company in Membrain
ProcessId
GUID referencing an existing Sales Process in Membrain
OwnerId
GUID referencing an existing User in Membrain
CustomField{GUID}
Custom Field identified by {GUID}, the format of the data in this field depends on the Custom Field type. See the section on Custom Fields.
 
PUT /accountGrowthItems/{Id}
Update an existing AccountGrowthItem in Membrain.

All AccountGrowthItems require at minimum Name, CompanyId, ProcessId and OwnerId. For CompanyId existing companies can be located using GET /companies/, new companies can be created with POST /company/.

For ProcessId you can see which sales processes exist using GET /accountGrowthProcesses/. For OwnerId you can access a list of users using GET /users/.

Note that you can also write to custom fields detailed in the specific process specification returned from GET /accountGrowthProcesses/.
Example Request
PUT /accountGrowthItems/874b0126-d355-4d4f-a792-9b906fe2f97d
{
Name: "Sales Project Name"
OwnerName: "Al Pacino"
ValueInCurrency: "5000"
ValueCurrencyCode: "USD"
CustomFielde5f959b4-0522-4a2a-9941-950ed45217c5: "Lorem Ipsum"
}
Example Result
{
Id: "874b0126-d355-4d4f-a792-9b906fe2f97d"
Name: "Sales Project Name"
OwnerName: "Al Pacino"
ValueInCurrency: "5000"
ValueCurrencyCode: "USD"
CustomFielde5f959b4-0522-4a2a-9941-950ed45217c5: "Lorem Ipsum"
}
Properties
Name
String (255 chars)
ValueInCurrency
Allows you to specify the Value using a Number, in whichever Currency applies to the AccountGrowthItem.
PotentialInCurrency
Allows you to specify the Potential using a Number, in whichever Currency applies to the AccountGrowthItem.
ProcessStartedDate
The Start Date for the Account Growth Project given as YYYY-MM-DD HH:mm:ss.ffffff
ProcessEndedDate
The End Date for the Account Growth Project given as YYYY-MM-DD HH:mm:ss.ffffff
Status
Any of Open, Won or Archived
CustomField{GUID}
Custom Field identified by {GUID}, the format of the data in this field depends on the Custom Field type. See the section on Custom Fields.
 
DELETE /accountGrowthItems/{Id}
Deletes an AccountGrowthItem (Account Growth Project) and any associated Stakeholders from Membrain. NOTE: The related Company and the Contacts that make up the Stakeholders are not removed from Membrain.
Example Request
DELETE /accountGrowthItems/7af5fd1d-95b0-4564-a0d2-45e2c3b35f4b
Example Result
{
success: "true"
}
 
Opportunity Class
A Sales Project in Membrain is represented in the API by the Opportunity class.
Properties
Id
GUID uniquely identifying the Opportunity (Read Only)
Name
String representing the Name of the Opportunity (Max 255 characters)
CompanyId
GUID referencing the Company that the Opportunity belongs to
CompanyName
String representing the name of the Company that the Opportunity belongs to (Read Only)
OpportunityOwnerId
GUID referencing the User that owns the Opportunity
OpportunityOwnerName
String representing the name of the User that owns the Opportunity (Read Only)
ProcessId
GUID referencing the Process that the Opportunity belongs to
ProcessName
String representing the name of the Process that the Opportunity belongs to (Read Only)
ProcessCurrentStageId
GUID referencing the Process Stage that the Opportunity is currently in
ProcessCurrentStageName
String representing the name of the Process Stage that the Opportunity is currently in (Read Only)
ProcessStartedDate
Date when the Opportunity first started
ProcessEndedDate
Date when the Opportunity was either Won or Archived. A date starting with 1753 equals an empty value
ProcessLastActionDate
Date when the last Process Step was completed in the Opportunity, or the ProcessStartedDate if no Process Step has been completed yet (Read Only)
ProcessProgress
Number between 0 and 100 representing how far aloing in the Process th Opportunity is (Read Only)
Probability
Number between 0 and 100 representing the Probability of the Opportunity. This is either the value of ObjectiveProbability or SubjectiveProbability depending on Process configuration and other factors (Read Only)
ObjectiveProbability
Number between 0 and 100 representing the Probability calculated by Membrain from the Process (Read Only)
SubjectiveProbability
Number between 0 and 100 representing the Probability of the Opportunity. This value is empty unless a Probability has been specifically set manually by a User. A value of 0 equals an empty value
EstimatedClosingDate
Date when the Opportunity is expected to close. This is either the value of ObjectiveEstimatedClosingDate or SubjectiveEstimatedClosingDate depending on Process configuration and other factors (Read Only)
ObjectiveEstimatedClosingDate
Date when the Opportunity is expected to close. This date is automatically calculated by Membrain from the Process (Read Only)
SubjectiveEstimatedClosingDate
Date when the Opportunity is expected to close. This date is empty unless a Closing Date has been specifically set manually by a User. A date starting with 1753 equals an empty value
EstimatedClosingDateChangedCount
Number representing how many times the Closing Date of the Opportunity has been manually changed (Read Only)
Value
Number representing the Value of the Opportunity in the system Base Currency
ValueInCurrency
Number representing the Value of the Opportunity in the Value Currency
ValueCurrencyId
GUID referencing the Currency that is used in the Opportunity for its Value
ValueCurrencyCode
String representing the Currency Code of the Currency that is used in the Opportunity for its Value
ValueCurrencyName
String representing the Name of the Currency that is used in the Opportunity for its Value
WeightedValue
Number representing the Weighted Value of the Opportunity in the Base Currency. This is Value * Probability (Read Only)
Status
String representing the current Status of the Opportunity. Either Open, Won or Archived
LostComment
String representing the optional Description entered when the Opportunity is closed
LostReasonId
Guid referencing a Win/Archived reason provided when the Opportunity is closed
LostReasonName
String representing a selected Win/Archived reason provided when the Opportunity is closed (Read Only)
ProcessCoachingDate
Date when the Opportunity enters the Coaching Advice warning state. A date starting with 1753 equals an empty value (Read Only)
ProcessYellowFlagDate
Date when the Opportunity enters the Yellow Flag warning state. A date starting with 1753 equals an empty value (Read Only)
ProcessRedFlagDate
Date when the Opportunity enters the Red Flag warning state. A date starting with 1753 equals an empty value (Read Only)
CustomField{GUID}
Custom Field Values, please see the Working With Custom Fields section to learn more
Key
String mirroring the Key field presented in Membrain. Ex SP-581 (Read Only)
CreatedById
GUID referencing the User that created the Opportunity (Read Only)
CreatedByName
String representing the name of the User that created the Opportunity (Read Only)
CreatedDate
Date when the Opportunity was created (Read Only)
ChangedById
GUID referencing the User that last changed the Opportunity (Read Only)
ChangedByName
String representing the name of the User that last changed the Opportunity (Read Only)
ChangedDate
Date when the Opportunity was last changed (Read Only)
Deleted
Boolean set to "true" if the Opportunity has been deleted. This field only exists if the Opportunity has been deleted (Read Only)
DeletedById
GUID referencing the User that deleted the Opportunity. This field only exists if the Opportunity has been deleted (Read Only)
DeletedByName
String representing the name of the User that deleted the Opportunity. This field only exists if the Opportunity has been deleted (Read Only)
DeletedDate
Date when the Opportunity was deleted. This field only exists if the Opportunity has been deleted (Read Only)
 
GET /opportunities/
Get list of Opportunities (Sales Projects). Use these query strings to filter the list:
Parameters
SelectionId
A GUID identifying a Selection from Membrain, currently only supported in relation to Relationship fields. If a Selection is used this node MUST be provided first.
Name
String with optional wildcards, ex: Name*
CompanyId
Comma separated list of GUIDs referencing Companies.
ProcessId
Comma separated list of GUIDs referencing Prospecting Processes.
OwnerId
Comma separated list of GUIDs referencing Users.
Status
Comma separated list with one or more of: Open, Won, Archived.
CreatedById
Comma separated list of GUIDs referencing Users. The result will return only Opportunities created by one of the provided Users.
CreatedFromDate
Given as a date in the format YYYY-MM-DD HH:mm:ss.ffffff where HH:mm:ss.ffffff is optional, default to 00:00.000000. Must be provided with CreatedToDate.
CreatedToDate
Given as a date in the format YYYY-MM-DD HH:mm:ss.ffffff where HH:mm:ss.ffffff is optional, default to 23:59:59.999999. Must be provided with CreatedFromDate.
ChangedById
Comma separated list of GUIDs referencing Users. The result will return only Opportunities that where last changed by one of the provided Users.
ChangedFromDate
Given as a date in the format YYYY-MM-DD HH:mm:ss.ffffff where HH:mm:ss.ffffff is optional, default to 00:00:00.000000. Must be provided with ChangedToDate.
ChangedToDate
Given as a date in the format YYYY-MM-DD HH:mm:ss.ffffff where HH:mm:ss.ffffff is optional, default to 23:59:59.999999. Must be provided with ChangedFromDate.
Return
String with a comma separated list of fields to return. It is recommended that you use this for most calls as reading fewer fields will decrease download sizes and make calls complete faster.
All Search* requests are limited to returning a maximum of 100 entries, use the From and To tags directly under the Command node to select which subset of data to return. Each result always includes a Count node with the number of matching entries for the search criteria specified.
Example Request
GET /opportunities/?CreatedFromDate=2020-01-01 07:41:02.123456&CreatedToDate=2020-01-31
Example Result
{
count: "1"
from: "0"
to: "1"
items: [ // Array with 1 elements
{ // 0
Id: "da15add8-330f-5a67-8279-071e530510ba"
CreatedById: "aa0e40a1-7cae-41e4-a599-c48b72155071"
CreatedByName: "Sam Lomas"
CreatedDate: "2019-10-23 04:20:00.123456"
ChangedById: "aa0e56a1-7cae-41e4-a599-c48b72155071"
ChangedByName: "Sam Lomas"
ChangedDate: "2019-10-24 03:36:22.123456"
CompanyId: "c3f78646-39a3-42fb-817d-0e314d08fa6c"
CompanyName: "AB"
EstimatedClosingDate: "2020-01-22 12:00:01.123456"
LostComment: ""
LostReasonId: "00000000-0000-0000-0000-000000000000"
LostReasonName: ""
Name: "Air Solution"
ObjectiveEstimatedClosingDate: "2020-01-22 12:00:03.123456"
ObjectiveProbability: "0"
OpportunityOwnerId: "aa0e40a1-7cae-45y3-a599-c48b72155071"
OpportunityOwnerName: "Sam Lomas"
Probability: "0"
EstimatedClosingDateChangedCount: "0"
ProcessId: "1589364b-b45d-4823-a201-4ff5ae583447"
ProcessCurrentStageName: "First Stage"
ProcessCurrentStageId: "222d4ghf-10e6-469c-bd11-d819da624c6e"
ProcessEndedDate: "1753-01-01 00:00:00.000000"
ProcessLastActionDate: "2019-10-23 04:20:01.123456"
ProcessStartedDate: "2019-10-23 04:20:01.123456"
SalesProcessProgress: "0"
Status: "Open"
SubjectiveEstimatedClosingDate: "1753-01-01 00:00:00.000000"
SubjectiveProbability: "0"
Value: "0"
ValueInCurrency: "0"
WeightedValue: "0"
ValueCurrencyName: ""
ValueCurrencyCode: ""
ValueCurrencyId: "00000000-0000-0000-0000-000000000000"
CustomFielddb031d6dc93f4b01bf6658338db38c45: "Lorem Ipsum"
}
]
}
 
GET /opportunities/{Id}
Read data related to a Opportunity (Sales Project) entry in the database, requires a valid Id (GUID) for the Opportunity you want to read.
Example Request
GET /opportunities/3456b1a7-c56a-4528-b415-aa19455841d1
Example Result
{
Id: "3456b1a7-c56a-4528-b415-aa19455841d1"
CreatedById: "3357bea5-def8-4207-a18f-c632e7e567a2"
CreatedByName: "Meryl Streep"
CreatedDate: "2018-12-17 10:16:50.123456"
ChangedById: "3357bea5-def8-4207-a18f-c632e6d520a2"
ChangedByName: "Meryl Streep"
ChangedDate: "2019-02-14 10:16:50.123456"
DeletedById: "5e8633af-3b28-478f-1e7b-96335d035e11"
DeletedByName: "John Smith"
DeletedDate: "2023-02-25 10:01:22.541441"
Deleted: "false"
CompanyId: "6efd2550-81db-4f45-b7a8-2ff8c2cbf93d"
CompanyName: "AB"
EstimatedClosingDate: "2019-02-14 12:00:02.123456"
LostComment: ""
LostReasonId: "75a72211-456j-4251-a669-a9a9c3f9d8c5"
LostReasonName: "Strategic (Long-term)"
Name: "AB"
ObjectiveEstimatedClosingDate: "2019-02-15 12:00"
ObjectiveProbability: "500"
OpportunityOwnerId: "3357bea5-def8-6907-a18f-c632e7e320a2"
OpportunityOwnerName: "Martin Nedbal"
Probability: "100"
EstimatedClosingDateChangedCount: "1"
ProcessId: "2a1fc16f-25gh-4ad0-97da-cbcf2a582d0c"
ProcessCurrentStageName: "Committment"
ProcessCurrentStageId: "73a3d59c-8b0f-40d3-b115-07c3fdd6814d"
ProcessEndedDate: "2019-02-14 14:44:11.123456"
ProcessLastActionDate: "2019-02-08 10:16:22.123456"
ProcessStartedDate: "2018-12-17 10:16:22.123456"
ProcessProgress: "100"
Status: "Won"
SubjectiveEstimatedClosingDate: "2019-02-14 12:00:02.123456"
SubjectiveProbability: "0"
Value: "180758"
ValueInCurrency: "180758"
WeightedValue: "180758"
ValueCurrencyName: ""
ValueCurrencyCode: ""
ValueCurrencyId: "00000000-0000-0000-0000-000000000000"
CustomFieldd142ac25447b4cb596dcb1bdb0f58ce9: "Lorem ipsum"
}
 
POST /opportunities/
Create a new Opportunity (Sales Project) in Membrain.

All Opportunities require at minimum Name, CompanyId, ProcessId and OpportunityOwnerId. For CompanyId existing companies can be located using GET /companies/, new companies can be created with PUT /companies/.

For ProcessId you can get the currently available sales processes using GET /salesProcesses/. For OpportunityOwnerId you can access a list of users using GET /users/.

NOTE: You can also write to custom fields detailed in the specific process specification returned from GET /salesProcesses/.
Example Request
POST /opportunities/
{
Name: "First Sales Project"
CompanyId: "122dc80d-1368-44c7-ab35-246e082b7a00"
ProcessId: "b45f6f87-2779-463e-80ad-7ffacdea8a8d"
OpportunityOwnerId: "aa0e32a1-7cae-41e4-a599-c48b72155071"
CustomFielde5f959b4-0522-4a2a-9941-950ed45217c5: "Lorem Ipsum"
}
Example Result
{
Id: "b2e2cfcf-30d2-4uuu-ae46-a57868fba2f9"
Name: "First Sales Project"
CompanyId: "122dc80d-1368-44c7-ab35-246e082b7a00"
ProcessId: "b45f6f87-2779-463e-80ad-7ffacdea8a8d"
OpportunityOwnerId: "aa0e32a1-7cae-41e4-a599-c48b72155071"
CustomFielde5f959b4-0522-4a2a-9941-950ed45217c5: "Lorem Ipsum"
}
 
PUT /opportunities/{Id}
Update an existing Opportunity (Sales Project) in Membrain.

All Opportunities require at minimum Name, CompanyId, ProcessId and OpportunityOwnerId. For CompanyId existing companies can be located using GET /companies/, new companies can be created with POST /company/.

For ProcessId you can see which sales processes exist using GET /salesProcesses/. For OpportunityOwnerId you can access a list of users using GET /users/.

Note that you can also write to custom fields detailed in the specific process specification returned from GET /salesProcesses/.
Example Request
PUT /opportunities/874b0126-d355-4d4f-a792-9b906fe2f97d
{
Name: "Sales Project Name"
OpportunityOwnerName: "Al Pacino"
ValueInCurrency: "5000"
ValueCurrencyCode: "USD"
CustomFielde5f959b4-0522-4a2a-9941-950ed45217c5: "Lorem Ipsum"
}
Example Result
{
Id: "874b0126-d355-4d4f-a792-9b906fe2f97d"
Name: "Sales Project Name"
OpportunityOwnerName: "Al Pacino"
ValueInCurrency: "5000"
ValueCurrencyCode: "USD"
CustomFielde5f959b4-0522-4a2a-9941-950ed45217c5: "Lorem Ipsum"
}
 
DELETE /opportunities/{Id}
Deletes an Opportunity (Sales Project) and any associated Stakeholders from Membrain. NOTE: The related Company and the Contacts that make up the Stakeholders are not removed from Membrain.
Example Request
DELETE /opportunities/7af5fd1d-95b0-4564-a0d2-45e2c3b35f4b
Example Result
{
success: "true"
}
 
GET /prospects/
Get list of Prospects. Use these query strings to filter the list:
Parameters
SelectionId
A GUID identifying a Selection from Membrain, currently only supported in relation to Relationship fields. If a Selection is used this node MUST be provided first.
Name
String with optional wildcards, ex: Name*
CompanyId
Comma separated list of GUIDs referencing Companies.
PersonId
GUID of a Person you want to find Prospects related to.
ProcessId
Comma separated list of GUIDs referencing Prospecting Processes.
OwnerId
Comma separated list of GUIDs referencing Users.
Status
Comma seperated list of Prospect statuses, available statuses are: Open, Qualified and Disqualified.
CreatedById
Comma separated list of GUIDs referencing Users. The result will return only Prospects created by one of the provided Users.
CreatedFromDate
Given as a date in the format YYYY-MM-DD HH:mm:ss.ffffff where HH:mm:ss.ffffff is optional, default to 00:00.000000. Must be provided with CreatedToDate.
CreatedToDate
Given as a date in the format YYYY-MM-DD HH:mm:ss.ffffff where HH:mm:ss.ffffff is optional, default to 23:59:59.999999. Must be provided with CreatedFromDate.
ChangedById
Comma separated list of GUIDs referencing Users. The result will return only Prospects that where last changed by one of the provided Users.
ChangedFromDate
Given as a date in the format YYYY-MM-DD HH:mm:ss.ffffff where HH:mm:ss.ffffff is optional, default to 00:00:00.000000. Must be provided with ChangedToDate.
ChangedToDate
Given as a date in the format YYYY-MM-DD HH:mm:ss.ffffff where HH:mm:ss.ffffff is optional, default to 23:59:59.999999. Must be provided with ChangedFromDate.
Return
String with a comma separated list of fields to return. It is recommended that you use this for most calls as reading fewer fields will decrease download sizes and make calls complete faster.
All Search* requests are limited to returning a maximum of 100 entries, use the From and To tags directly under the Command node to select which subset of data to return. Each result always includes a Count node with the number of matching entries for the search criteria specified.
Example Request
GET /prospects/?CreatedFromDate=2000-01-01 12:21:02.123456&CreatedToDate=2000-01-31
Example Result
{
count: "1"
from: "0"
to: "1"
items: [ // Array with 1 elements
{ // 0
Name: "AB"
Id: "d2fc11a2-b962-54db-8db0-8d2ea9553c83"
CreatedById: "a274a00f-26ac-3333-84e4-eeb603afe453"
CreatedByName: "Erik Kru"
CreatedDate: "2019-10-02 04:32:51.123456"
ChangedById: "aa0e40a1-7cae-41e4-a432-c48b72155071"
ChangedByName: "Erik Kru"
ChangedDate: "2019-10-25 08:51:05.123456"
DeletedById: "5e8633af-3b28-478f-1e7b-96335d035e11"
DeletedByName: "John Smith"
DeletedDate: "2023-02-25 10:01:22.541441"
Deleted: "false"
CompanyId: "24044e67-2158-4c1e-81be-4444239dd268"
CompanyName: "AB Solution"
NegativeResultOrOpportunityId: "00000000-0000-0000-0000-000000000000"
NegativeResultName: ""
OpportunityName: ""
ProcessId: "56468743-9d3d-43d3-a437-27298ee8a636"
ProcessName: "New Prospecting Process"
ProspectOwnerId: "a274a00f-26ac-4343-84e4-eeb603afe453"
ProspectOwnerName: "Len Mark"
ProcessStartedDate: "2019-10-02 04:32:30.123456"
ProcessCoachingDate: "2023-05-15 00:00:00.123456"
ProcessYellowFlagDate: "2023-05-22 00:00:00.123456"
ProcessRedFlagDate: "2023-06-10 00:00:00.123456"
Status: "Open"
CustomFielddfc2ddc0f922435381f9d22aef93162c: "Lorem ipsum"
}
]
}
Properties
Id
GUID reference for this Prospect.
Name
Name of this Prospect.
CompanyId
>GUID. Unique identifier of the Company the Prospect belongs to.
CompanyName
Name of the Company the Prospect belongs to.
NegativeResultOrOpportunityId
>GUID. Unique identifier that either references an Opportunity (Sales Project) or a Disqualified Reason depending on the Status of the Prospect.
NegativeResultName
If disqualified, the name of the Disqualified Reason.
OpportunityName
If converted to an Opportunity (Sales Project), the name of the Sales Project.
ProcessId
>GUID. Unique identifier of the Prospecting Process this Prospect is currently in.
ProcessName
Name of the Prospecting Process this Prospect is currently in.
ProspectOwnerId
>GUID. Unique identifier of a Person that owns this Prospect, if any.
ProspectOwnerName
The name of the owner, if any.
ProcessStartedDate
The starting date for this Prospect.
Status
Prospect status. Any of Open, Qualified or Disqualified.
CustomField{GUID}
Details as specified in GetCustomFields for Contact. Note that the GUID part is the GUID in lower case with all dashes (-) removed.
CreatedById
>GUID. Unique identifier for the User that created this Prospect.
CreatedByName
Name of the User that created this Prospect.
CreatedDate
Date when this Prospect was created.
ChangedById
>GUID. Unique identifier for the User that last modified this Prospect.
ChangedByName
Name of the User that last modified this Prospect.
ChangedDate
Date when this Prospect was last modified.
DeletedById
>GUID. Unique identifier for the User that deleted this Prospect. NOTE: this field is ONLY available if the item is marked as deleted.
DeletedByName
Name of the User that deleted this Prospect. NOTE: this field is ONLY available if the item is marked as deleted.
DeletedDate
Date when this Prospect was deleted. NOTE: this field is ONLY available if the item is marked as deleted.
Deleted
Delete state of this Prospect (true | false).
 
GET /prospects/{Id}
Read data related to a Prospect entry in the database, requires a valid Id (GUID) for the Prospect you want to read.
Example Request
GET /prospects/8bc68edc-1c66-4c10-ab69-f168bcb0bfeb
Example Result
{
Id: "8bc68edc-1c66-4c10-ab69-f168bcb0bfeb"
Name: "Mozilla"
CompanyId: "56a8888c-0be8-46f2-bc07-dad921600e4d"
CompanyName: "Mozilla"
ProspectOwnerId: "3357bea5-def8-4545-a18f-c632e7e320a2"
ProspectOwnerName: "Meryl Joseph"
CreatedById: "3357dgh5-def8-4207-a18f-c632e7e320a2"
CreatedByName: "Meryl Elina"
CreatedDate: "2019-01-28 08:55:39.123456"
ChangedById: "3357ert5-def8-4207-a18f-c632e7e320a2"
ChangedByName: "Meryl Elina"
ChangedDate: "2019-07-05 08:55:00.123456"
DeletedById: "5e8633af-3b28-478f-1e7b-96335d035e11"
DeletedByName: "John Smith"
DeletedDate: "2023-02-25 10:01:22.541441"
Deleted: "false"
NegativeResultOrOpportunityId: "8a30bd90-8873-49f5-895c-3159d383a67a"
NegativeResultName: "Bad Partner Fit - Partner offers no relevant services"
OpportunityName: ""
ProcessId: "56463868-9d3d-43d3-a437-27298ee8a636"
ProcessName: "New Prospecting Process"
ProcessStartedDate: "2019-01-28 08:55:26.123456"
ProcessCurrentStageId: "e5fffa29-40ac-400e-921e-251525da1fd5"
ProcessCurrentStageName: "Engage"
ProcessCoachingDate: "2023-05-15 00:00:00.123456"
ProcessYellowFlagDate: "2023-05-22 00:00:00.123456"
ProcessRedFlagDate: "2023-06-10 00:00:00.123456"
Status: "Disqualified"
CustomFielddfc2ddc0f922435381f9d55aef93162c: "Lorem ipsum"
}
Properties
Id
GUID, unique identifier for this Prospect.
Name
Name of this Prospect.
CompanyId
GUID of the related Company.
CompanyName
String representing the name of the related Company, all prospects have a Company related with them
ProspectOwnerId
GUID referencing the current Owner of this Prospect. Can be empty for unclaimed Prospects.
ProspectOwnerName
Name of the current Owner of this Prospect. Can be empty for unclaimed Prospects.
NegativeResultOrOpportunityId
GUID referencing either the negative result or the Sales Project which was created when the Prospect was qualified.
NegativeResultName
Name of the negative result which was selected when the Prospect was disqualified. Exists only for disqualified Prospects.
OpportunityName
Name of the Sales Project which was created when the Prospect was qualified. Exists only for qualified Prospects.
ProcessId
GUID. The unique identifier for the Process related to this Prospect.
ProcessName
Name of the current Prospecting process
ProcessStartedDate
The starting date for this Prospect.
ProcessCurrentStageId
GUID.The unique identifier for the current Stage.
ProcessCurrentStageName
Name of the current Stage.
ProcessCoachingDate
The date when the Coaching Advice warning level will trigger.
ProcessYellowFlagDate
The date when the Yellow Flag warning level will trigger.
ProcessRedFlagDate
The date when the Red Flag warning level will trigger.
Status
Any of Open, Qualified or Disqualified
CustomField{GUID}
Read data for a specific Custom Field identified by {GUID}, the format of the data in this field depends on the Custom Field type. See the section on Custom Fields.
CreatedById
GUID referencing the User which created this prospect.
CreatedByName
Name of the User which created this Prospect.
CreatedDate
Date and time when this Prospect was created.
ChangedById
GUID referencing the User which last modified this Prospect.
ChangedByName
Name of the User which last modified this Prospect.
ChangedDate
Date and time when this Prospect was last modified.
DeletedById
GUID referencing the User that deleted this Prospect. NOTE: this field is ONLY available if the item is marked as deleted.
DeletedByName
Name of the User that deleted this Prospect. NOTE: this field is ONLY available if the item is marked as deleted.
DeletedDate
Date when this Prospect was deleted. NOTE: this field is ONLY available if the item is marked as deleted.
Deleted
Delete state of this Prospect (true | false).
 
POST /prospects/
Create a new Prospect in Membrain.

All prospects require at minimum a company and a process. Existing companies can be located using GET /companies/, new companies can be created with POST /companies/. Which prospecting processes exist can be discovered using GET /prospectingProcesses/.

Note that you can also write to custom fields detailed in the specific process specification returned from GET /prospectingProcesses/.

To add stakeholders to the prospect, you can use POST /processContainerContacts/ or alternatively you can pass a parameter directly into POST /prospects/ StakeholderId{GUIDOfRole} with the value of the contact you want to add. Alternatively you can pass the GUID of the person in "PersonId" in which case the role will be automatically resolved.
Example Request
POST /prospects/
{
Name: "January Prospect"
CompanyId: "333dc80d-1368-44c7-ab35-246e082b7a00"
ProcessId: "978c6136-53d6-555a-a6fe-0d71606a684f"
OwnerId: "aa0e40a1-7ced-41e4-a599-c48b72155071"
CustomFielde5f959b4-0522-4a2a-9941-950ed45217c5: "Lorem Ipsum"
}
Example Result
{
Id: "e9a6f11d-45df-41d1-866g-1036ca1305c7"
Name: "January Prospect"
CompanyId: "333dc80d-1368-44c7-ab35-246e082b7a00"
ProcessId: "978c6136-53d6-555a-a6fe-0d71606a684f"
OwnerId: "aa0e40a1-7ced-41e4-a599-c48b72155071"
CustomFielde5f959b4-0522-4a2a-9941-950ed45217c5: "Lorem Ipsum"
}
Properties
Id
GUID, unique identifier for this Prospect (Return value only).
Name
A name for this Prospect, you may leave it empty and a name will be automatically generated for the prospect based on the related Company & Contact
CompanyId
GUID of the related Company, all prospects have a Company related with them.
ProcessId
GUID referencing the current prospecting process.
PersonId
GUID referencing a Person you want to add to the new Prospect. The role will be automatically resolved.
OwnerId
GUID referencing the current owner of this prospect. Can be empty for unclaimed prospects.
CustomField{GUID}
Custom Field identified by {GUID}, the format of the data in this field depends on the Custom Field type. See the section on Custom Fields.
 
PUT /prospects/{Id}
Update a Prospect in Membrain.

NOTE: You can also write to custom fields detailed in the specific process specification returned from GetProspectingProcesses.
Example Request
PUT /prospects/bf406c56-556f-4cf5-9724-a4b32ecfa461
{
PersonId: "2f680877-feb2-4814-968a-6831cc34567a"
CustomFieldbe1faa52-2f68-42a3-9595-749c1e740d74: ""
StakeholderId: "756d4e5d-0006-4abe-b2e3-a7a8ffd5509d"
StakeholderName: "Alice"
CustomFielde5f959b4-0522-4a2a-9941-950ed45217c5: "Lorem Ipsum"
}
Example Result
{
Id: "bf406c56-556f-4cf5-9724-a4b32ecfa461"
PersonId: "2f680877-feb2-4814-968a-6831cc34567a"
CustomFieldbe1faa52-2f68-42a3-9595-749c1e740d74: ""
StakeholderId: "756d4e5d-0006-4abe-b2e3-a7a8ffd5509d"
StakeholderName: "Alice"
CustomFielde5f959b4-0522-4a2a-9941-950ed45217c5: "Lorem Ipsum"
}
Properties
PersonId
GUID referencing the contact which is related to this prospect. Optional. Only supported for NEW Prospects, not for updates.
StakeholderId
GUID referencing the current person.
StakeholderName
 
CustomField{GUID}
Custom Field identified by {GUID}, the format of the data in this field depends on the Custom Field type. See the section on Custom Fields.
 
PUT /getOrCreateProspect/
Gets or Creates a new Prospect in Membrain. If needed a new Company and Person may also be created depending on what details you provide.

If an existing Prospect exists in the requested Process for the same combination of Company and Person, that Prospects information will be returned. Otherwise a new Prospect will be created.

Any custom fields that you provide will be updated by this call regardless if a new Prospect is created or not, no other properties can be changed on an existing Prospect via this endpoint.

To create a Prospect you need a Company and a Process. Company can also be resolved from the Person if you provide the email address of an existing Person.

Example Request
PUT /getOrCreateProspect/
{
Name: "January Prospect"
ProcessName: "New Prospecting Process"
OwnerName: "Ed Shane"
CustomFieldbe1faa52-2f68-42a3-9595-749c1e740d74: "Example text"
Company:
{
Name: "Company Inc"
}
Person:
{
Name: "John Smith"
EmailAddress: "abc@gmail.com"
}
}
Example Result
{
Id: "bf406c56-556f-4cf5-9724-a4b32ecfa461"
Name: "January Prospect"
ProcessId: "756d4e5d-2f68-42a3-9595-749c1e740d74"
ProcessName: "756d4e5d-0006-4abe-b2e3-a7a8ffd5509d"
OwnerId: "8cc47733-b388-4ccc-91fe-3c09d5d26b96"
OwnerName: "Ed Shane"
CustomFieldbe1faa52-2f68-42a3-9595-749c1e740d74: "Example text"
CreatedNow: "true"
Company:
{
Id: "a43adb34-808f-4e25-8233-65eca61b3179"
Name: "Company Inc"
CreatedNow: "false"
}
Person:
{
Id: "a43adb34-808f-4e25-8233-65eca61b3179"
Name: "John Smith"
EmailAddress: "abc@gmail.com"
CreatedNow: "true"
}
}
Properties
Id
GUID, unique identifier for this Prospect (Return value only)
Name
Optional name for the new Prospect. Up to 255 characters. If not provide a name will automatically be generted based on the Company and Person
ProcessId
GUID referencing the prospecting process. Required if ProcessName is not provided
ProcessName
The name of an existing published prospecting process. Required if ProcessId is not provided
OwnerId
GUID referencing a User in Membrain that will be the Owner of the Prospect
OwnerName
Name of a User in Membrain that will be the Owner of the Prospect
CustomField{GUID}
Details as specified in GetProspectingProcesses for the specific process referenced via ProcessId or ProcessName
CreatedNow
This property is provided for each of Prospect, Company & Person as appropriate based on what you provided. Will be "true" if item was created or false if item already existed
CompanyId
GUID referencing a Company in Membrain. Optional if CompanyName or the EmailAddress of an existing Person is provided
CompanyName
String representing the name of an existing Company or the Company you want to create. Up to 255 characters. Optional if CompanyId or the EmailAddress of an existing Person is provided
PersonId
GUID referencing and existing Person in Membrain. Optional
PersonName
String representing the full name of a Person to either look for on an existing Company or to create. Up to 255 characters
PersonEmailAddress
String representing the email address of the Person, this is used to find an existing Person and Company or to set on a newly created Person. Up to 255 characters
 
DELETE /prospects/{Id}
Deletes a Prospect and any associated Stakeholders from Membrain. NOTE: The related Company and the Contacts that make up the Stakeholders are not removed from Membrain.
Example Request
DELETE /prospects/7af5fd1d-95b0-4564-a0d2-45e2c3b35f4b
Example Result
{
success: "true"
}
 
GET /tickets/
Get list of Tickets. Use these query strings to filter the list:
Parameters
SelectionId
A GUID identifying a Selection from Membrain, currently only supported in relation to Relationship fields. If a Selection is used this node MUST be provided first
Name
String with optional wildcards, ex: Name*
CompanyId
Unique identifier for the Company (GUID) this Ticket is related to.
ProcessId
GUID representing the current process of the Ticket.
OwnerId
Unique identifier for the User (GUID) who owns this Ticket.
Status
Comma separated list with one or more of: New, Open, Pending, Resolved, Archived
Priority
Comma separated list with one or more of: Highest, High, Medium, Low, Lowest
ChangedFromDate
Given as a date in the format YYYY-MM-DD HH:mm:ss.ffffff where HH:mm:ss.ffffff is optional, default to 00:00:00.000000. Must be provided with ChangedToDate.
ChangedToDate
Given as a date in the format YYYY-MM-DD HH:mm:ss.ffffff where HH:mm:ss.ffffff is optional, default to 23:59:59.999999. Must be provided with ChangedFromDate.
CreatedFromDate
Given as a date in the format YYYY-MM-DD HH:mm:ss.ffffff where HH:mm:ss.ffffff is optional, default to 00:00:00.000000. Must be provided with CreatedToDate.
CreatedToDate
Given as a date in the format YYYY-MM-DD HH:mm:ss.ffffff where HH:mm:ss.ffffff is optional, default to 23:59:59.999999. Must be provided with CreatedFromDate.
Return
String with a comma separated list of fields to return. It is recommended that you use this for most calls as reading fewer fields will decrease download sizes and make calls complete faster.
All Search* requests are limited to returning a maximum of 100 entries, use the From and To tags directly under the Command node to select which subset of data to return. Each result always includes a Count node with the number of matching entries for the search criteria specified.
Example Request
GET /tickets/?CreatedFromDate=2020-01-01 08:45:41.123456&CreatedToDate=2020-01-31
Example Result
{
count: "1"
from: "0"
to: "1"
items: [ // Array with 1 elements
{ // 0
Id: "3456b1a7-c56a-4528-b415-aa19455841d1"
CreatedById: "3357bea5-def8-4207-a18f-c632e7e567a2"
CreatedByName: "Meryl Streep"
CreatedDate: "2018-12-17 10:16:12.123456"
ChangedById: "3357bea5-def8-4207-a18f-c632e6d520a2"
ChangedByName: "Meryl Streep"
ChangedDate: "2019-02-14 10:16:12.123456"
CompanyId: "6efd2550-81db-4f45-b7a8-2ff8c2cbf93d"
CompanyName: "AB"
Name: "AB"
Description: ""
OwnerId: "3357bea5-def8-6907-a18f-c632e7e320a2"
OwnerName: "Martin Nedbal"
ProcessId: "3fac1534-947d-420d-a0d9-4a08252d5743"
ProcessName: "John Smith"
ProcessCurrentStageId: "73a3d59c-8b0f-40d3-b115-07c3fdd6814d"
ProcessCurrentStageName: "Committment"
ProcessStartedDate: "2018-12-17 10:16:22.123456"
ProcessEndedDate: "2019-02-14 15:32:30.123456"
ProcessLastActionDate: "2019-02-08 10:16:12.123456"
ProcessProgress: "100"
ProcessCoachingDate: "2023-06-02 15:30:03.221943"
ProcessYellowFlagDate: "2023-06-04 10:06:12.529627"
ProcessRedFlagDate: "2023-06-11 0:04:12.542993"
Status: "Pending"
Priority: "Medium"
CustomFieldd142ac25447b4cb596dcb1bdb0f58ce9: "Lorem Ipsum"
}
]
}
 
GET /tickets/{Id}
Read data related to a Ticket entry in the database, requires a valid Id (GUID) for the Ticket you want to read.
Example Request
GET /tickets/3456b1a7-c56a-4528-b415-aa19455841d1
Example Result
{
Id: "3456b1a7-c56a-4528-b415-aa19455841d1"
CreatedById: "3357bea5-def8-4207-a18f-c632e7e567a2"
CreatedByName: "Meryl Streep"
CreatedDate: "2018-12-17 10:16:12.123456"
ChangedById: "3357bea5-def8-4207-a18f-c632e6d520a2"
ChangedByName: "Meryl Streep"
ChangedDate: "2019-02-14 10:16:12.123456"
DeletedById: "5e8633af-3b28-478f-1e7b-96335d035e11"
DeletedByName: "John Smith"
DeletedDate: "2023-02-25 10:01:22.541441"
Deleted: "false"
CompanyId: "6efd2550-81db-4f45-b7a8-2ff8c2cbf93d"
CompanyName: "AB"
Name: "AB"
Description: ""
OwnerId: "3357bea5-def8-6907-a18f-c632e7e320a2"
OwnerName: "Martin Nedbal"
ProcessId: "3fac1534-947d-420d-a0d9-4a08252d5743"
ProcessName: "Customer Request"
ProcessCurrentStageId: "73a3d59c-8b0f-40d3-b115-07c3fdd6814d"
ProcessCurrentStageName: "Committment"
ProcessStartedDate: "2018-12-17 10:16:22.123456"
ProcessEndedDate: "2019-02-14 15:32:30.123456"
ProcessLastActionDate: "2019-02-08 10:16:12.123456"
ProcessProgress: "100"
ProcessCoachingDate: "2023-06-02 15:30:03.221943"
ProcessYellowFlagDate: "2023-06-04 10:06:12.529627"
ProcessRedFlagDate: "2023-06-11 0:04:12.542993"
Status: "Pending"
Priority: "Medium"
CustomFieldd142ac25447b4cb596dcb1bdb0f58ce9: "Lorem Ipsum"
}
Properties
Id
GUID. The unique identifier for this Ticket.
Name
The name of this Ticket.
CompanyId
GUID. The unique identifier for the Company related to this Ticket.
CompanyName
Name of the Company related to this Ticket.
Description
 
CustomField{GUID}
Read data for a specific Custom Field identified by {GUID}, the format of the data in this field depends on the Custom Field type. See the section on Custom Fields.
OwnerId
GUID. The unique identifier for the Owner of this Ticket.
OwnerName
Name of the Owner of this Ticket.
ProcessId
GUID. The unique identifier for the Process related to this Ticket.
ProcessName
Name of the Process for this Ticket.
ProcessCurrentStageName
Name of the Current Stage.
ProcessCurrentStageId
GUID.The unique identifier for the current Stage.
ProcessEndedDate
Date when Ticket was either Resolved or Archived.
ProcessLastActionDate
Date when a stage or step in the Process was most recently completed.
ProcessLastActionId
GUID. The unique identifier for the most recently completed Step.
ProcessStartedDate
The starting date for this Ticket.
ProcessProgress
Percentage of steps completed in the Process for this Ticket.
ProcessCoachingDate
The date when the Coaching Advice warning level will trigger.
ProcessYellowFlagDate
The date when the Yellow Flag warning level will trigger.
ProcessRedFlagDate
The date when the Red Flag warning level will trigger.
Status
Any of New, Open, Pending, Resolved or Archived.
Priority
Any of Highest, High, Medium, Low or Lowest.
CreatedById
GUID. Unique identifier of the User who created this Ticket.
CreatedByName
Name of the User who created this Ticket.
CreatedDate
Date and time when this Ticket was created.
ChangedById
GUID. Unique identifier of the User who last modified this Ticket.
ChangedByName
Name of the User who last modified this Ticket.
ChangedDate
Date and time when this Ticket was last modified.
DeletedById
GUID referencing the User that deleted this Ticket. NOTE: this field is ONLY available if the item is marked as deleted.
DeletedByName
Name of the User that deleted this Ticket. NOTE: this field is ONLY available if the item is marked as deleted.
DeletedDate
Date when this Ticket was deleted. NOTE: this field is ONLY available if the item is marked as deleted.
Deleted
Delete state of this Ticket (true | false).
 
POST /tickets/
Create a new Ticket in Membrain.

All Tickets require at minimum Name, CompanyId, ProcessId and Status. For CompanyId existing companies can be located using GET /companies/, new companies can be created with PUT /companies/.

For ProcessId you can get the currently available sales processes using GET /ticketProcesses/. For OwnerId you can access a list of users using GET /users/.

NOTE: You can also write to custom fields detailed in the specific process specification returned from GET /ticketProcesses/.
Example Request
POST /tickets/
{
Name: "First Ticket"
CompanyId: "122dc80d-1368-44c7-ab35-246e082b7a00"
ProcessId: "b45f6f87-2779-463e-80ad-7ffacdea8a8d"
OwnerId: "aa0e32a1-7cae-41e4-a599-c48b72155071"
RequesterId: "aa0e32a1-7cae-41e4-a599-c48b72155071"
Status: "New"
Priority: "Medium"
CustomFielde5f959b4-0522-4a2a-9941-950ed45217c5: "Lorem Ipsum"
}
Example Result
{
Id: "b2e2cfcf-30d2-4uuu-ae46-a57868fba2f9"
Name: "First Ticket"
CompanyId: "122dc80d-1368-44c7-ab35-246e082b7a00"
ProcessId: "b45f6f87-2779-463e-80ad-7ffacdea8a8d"
OwnerId: "aa0e32a1-7cae-41e4-a599-c48b72155071"
RequesterId: "aa0e32a1-7cae-41e4-a599-c48b72155071"
Status: "New"
Priority: "Medium"
CustomFielde5f959b4-0522-4a2a-9941-950ed45217c5: "Lorem Ipsum"
}
Properties
Id
GUID identifier for the Ticket (Return value only).
Name
The name of the Ticket max 255 characters long
CompanyId
GUID referencing an existing Company in Membrain
ProcessId
GUID referencing an existing Sales Process in Membrain
OwnerId
GUID referencing an existing User in Membrain
RequesterId
GUID referencing an existing Contact in Membrain
Status
Any of New, Open, Pending, Resolved or Archived
Priority
Any of Highest, High, Medium, Low or Lowest
Description
String. NOTE: The Description field for a Ticket in Membrain is a Rich Text field, but you can only read and write to it via the API as normal text without formatting.
CustomField{GUID}
Custom Field identified by {GUID}, the format of the data in this field depends on the Custom Field type. See the section on Custom Fields.
 
PUT /tickets/{Id}
Update an existing Ticket in Membrain.

All Tickets require at minimum Name, CompanyId, ProcessId and Status. For CompanyId existing companies can be located using GET /companies/, new companies can be created with POST /company/.

For ProcessId you can see which sales processes exist using GET /ticketProcesses/. For OwnerId you can access a list of users using GET /users/.

Note that you can also write to custom fields detailed in the specific process specification returned from GET /ticketProcesses/.
Example Request
PUT /tickets/874b0126-d355-4d4f-a792-9b906fe2f97d
{
Name: "Ticket Name"
OwnerName: "Al Pacino"
Status: "New"
Priority: "High"
CustomFielde5f959b4-0522-4a2a-9941-950ed45217c5: "Lorem Ipsum"
}
Example Result
{
Id: "874b0126-d355-4d4f-a792-9b906fe2f97d"
Name: "Ticket Name"
OwnerName: "Al Pacino"
Status: "New"
Priority: "High"
CustomFielde5f959b4-0522-4a2a-9941-950ed45217c5: "Lorem Ipsum"
}
Properties
Name
String (255 chars)
Status
Any of New, Open, Pending, Resolved or Archived
Priority
Any of Highest, High, Medium, Low or Lowest
Description
String
ProcessStartedDate
The Start Date for the Ticket given as YYYY-MM-DD HH:mm:ss.ffffff
ProcessEndedDate
The End Date for the Ticket given as YYYY-MM-DD HH:mm:ss.ffffff
CustomField{GUID}
Write data for a specific Custom Field identified by {GUID}, the format of the data in this field depends on the Custom Field type. See the section on Custom Fields.
 
DELETE /tickets/{Id}
Deletes a Ticket and any associated Stakeholders from Membrain. NOTE: The related Company and the Contacts that make up the Stakeholders are not removed from Membrain.
Example Request
DELETE /tickets/7af5fd1d-95b0-4564-a0d2-45e2c3b35f4b
Example Result
{
success: "true"
}
 
GET /activities/
This call allows you to search for Appointments, Tasks, Notes, Calls and Emails in Membrain. You may provide any combination of the following properties in the query to filter the list:
Parameters
SelectionId
A GUID identifying a Selection from Membrain, currently only supported in relation to Relationship fields. If a Selection is used this node MUST be provided first
Type
One of All, Task, Appointment, Call, Note, Email (Default is All)
ActivityTypeIds
Comma separated list of GUIDs referencing an Activity Type in Membrain.
CompanyIds
Comma separated list of GUIDs referencing a Company in Membrain, used to get activities related to one or more specific companies.
AccountGrowthItemIds
Comma separated list of GUIDs referencing an AccountGrowthItem in Membrain, used to get activities related to one or more specific Account Growth Projects.
OpportunityIds
Comma separated list of GUIDs referencing an Opportunity in Membrain, used to get activities related to one or more specific Sales Projects.
ProspectIds
Comma separated list of GUIDs referencing a Prospect in Membrain, used to get activities related to one or more specific Prospects.
TicketIds
Comma separated list of GUIDs referencing a Ticket in Membrain, used to get activities related to one or more specific Tickets.
OrganizerIds
Comma separated list of GUIDs referencing a Person in Membrain, used to get activities with a specific Organizer.
ParticipantPersonIds
Comma separated list of GUIDs referencing a Person in Membrain, used to get activities with a specific Participant (including people with the Organizer flag as well).
CreatedById
Comma separated list of GUIDs referencing Users. The result will return only Activities created by one of the provided Users.
CreatedFromDate
Given as a date in the format YYYY-MM-DD HH:mm:ss.ffffff where HH:mm:ss.ffffff is optional, default to 00:00.000000. Must be provided with CreatedToDate.
CreatedToDate
Given as a date in the format YYYY-MM-DD HH:mm:ss.ffffff where HH:mm:ss.ffffff is optional, default to 23:59:59.999999. Must be provided with CreatedFromDate.
ChangedById
Comma separated list of GUIDs referencing Users. The result will return only Activities that where last changed by one of the provided Users.
ChangedFromDate
Given as a date in the format YYYY-MM-DD HH:mm:ss.ffffff where HH:mm:ss.ffffff is optional, default to 00:00:00.000000. Must be provided with ChangedToDate.
ChangedToDate
Given as a date in the format YYYY-MM-DD HH:mm:ss.ffffff where HH:mm:ss.ffffff is optional, default to 23:59:59.999999. Must be provided with ChangedFromDate.
Return
String with a comma separated list of fields to return. It is recommended that you use this for most calls as reading fewer fields will decrease download sizes and make calls complete faster.
Example Request
GET /activities/?CreatedFromDate=2000-01-01 10:32:23.123456&CreatedToDate=2000-01-31
Example Result
{
count: "3"
from: "0"
to: "3"
items: [ // Array with 3 elements
{ // 0
Id: "a9a0711f-7753-4e9a-9ba4-46437a243c45"
CreatedById: "9e13db78-7df6-45fc-a652-5e7193d185cb"
CreatedByName: "Al Pacino (Hawaii)"
CreatedDate: "2019-01-03 11:23:01.123456"
ChangedById: "9e13db78-7df6-45fc-a652-5e7193d185cb"
ChangedByName: "Al Pacino (Hawaii)"
ChangedDate: "2019-01-03 11:23:45.123456"
ActivityTypeName: "Important Appointment"
ActivityTypeId: "c71b5065-1b31-4aa1-b1b1-e14c8cc8f8a2"
Contents: "Me and Hedvige synced up and identified what we believe is the next steps we should take.Proin consequat diam risus, ut mattis purus vulputate quis. Suspendisse ac quam a est malesuada commodo. Nam at suscipit massa, vel aliquet dui."
Completed: "true"
OrganizerId: "251f76ff-aca7-5675-ce39-144b97c1e627"
HasExplicitTime: "true"
Important: "false"
Deadline: "2019-01-03 21:23:00.123456"
FromDate: "1753-01-01 00:00:00.000000"
ToDate: "1753-01-01 00:00"
IsRecurring: "false"
Participants: [ // Array with 2 elements
{ // 0
Id: "1e48305d-1da5-48ec-b51b-e92ab974bc20"
PersonId: "9e13db78-7df6-45fc-a652-5e7193d185cb"
PersonName: "Al Pacino (Hawaii)"
CompanyId: "799dc80d-1368-44c7-ab35-246e082b7a00"
CompanyName: "Membrain"
IsOrganizer: "true"
InviteStatus: "NotSent"
}
{ // 1
Id: "4c5967a6-4cd5-4d65-baf1-60146bc701fc"
PersonId: "4a64c856-dc2c-4d22-81f4-c0ad96e8345d"
PersonName: "Hedvige Robbynson"
CompanyId: "e823397a-747e-47ff-bdd8-43818a7e33dc"
CompanyName: "Web Guide Partner Scandinavia Ab"
IsOrganizer: "false"
InviteStatus: "NotSent"
}
]
Private: "false"
Location: ""
RecurrenceExclusions: ""
RecurrenceRule: ""
Relateds: [ // Array with 2 elements
{ // 0
Id: "cd4074c7-8b55-4044-ab1c-a08aa25d770a"
RelatedId: "e823397a-747e-47ff-bdd8-43818a7e33dc"
RelatedClassName: "Company"
RelatedName: "Web Guide Partner Scandinavia Ab"
}
{ // 1
Id: "657677f3-3088-43fc-a294-c265070f3b8d"
RelatedId: "57985d87-0a9d-40fb-a1c6-4450629abe56"
RelatedClassName: "Opportunity"
RelatedName: "Web Guide Partner Scandinavia Ab"
}
]
SortOrder: "0"
Type: "Activity"
}
{ // 1
Id: "b7c1ad6f-a2f5-4d85-9b38-d743434eafa4"
CreatedById: "9e13db78-7df6-45fc-a652-5e7193d185cb"
CreatedByName: "Al Pacino (Hawaii)"
CreatedDate: "2019-01-18 17:03:00.123456"
ChangedById: "9e13db78-7df6-45fc-a652-5e7193d185cb"
ChangedByName: "Al Pacino (Hawaii)"
ChangedDate: "2019-01-18 17:03:22.123456"
ActivityTypeName: "Sales Call"
ActivityTypeId: "9a03cdcd-9b6f-4df1-bbbd-69bd9f3defc1"
Contents: "No reply. Sed malesuada, mi ut lobortis suscipit, nunc tortor placerat metus, et venenatis ante ipsum in sapien. Aliquam eu ante vitae eros cursus feugiat vel id arcu. Fusce luctus orci vitae convallis faucibus. Vestibulum vel purus nisi. Praesent sed justo a enim finibus fringilla nec quis ipsum. Aliquam erat volutpat. Phasellus interdum accumsan mauris sit amet laoreet. Fusce mollis tortor sed ultricies vestibulum. Sed aliquam felis sed finibus ultrices. Proin ornare magna ante, ac finibus elit scelerisque non. Donec vehicula neque laoreet, tristique mi sit amet, euismod ante. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus."
Completed: "true"
CompletedDate: "2019-01-18 17:03:44.123456"
HasExplicitTime: "true"
Important: "false"
Deadline: "2019-01-19 03:03:00.123456"
FromDate: "1753-01-01 00:00:00.000000"
IsRecurring: "false"
Participants: [ // Array with 2 elements
{ // 0
Id: "2c298bb6-8a04-48af-b3fc-52d03d1a0d12"
PersonId: "9e13db78-7df6-45fc-a652-5e7193d185cb"
PersonName: "Al Pacino (Hawaii)"
CompanyId: "799dc80d-1368-44c7-ab35-246e082b7a00"
CompanyName: "Membrain"
IsOrganizer: "true"
InviteStatus: "NotSent"
}
{ // 1
Id: "4ab7b687-9648-4e4c-8fa7-0e62bcce3ad6"
PersonId: "17e23eaf-133d-489d-ada4-23ffe214ecb2"
PersonName: "Fleur Gerrileeson"
CompanyId: "48105796-fa6a-4fdf-9f09-84f981c8b945"
CompanyName: "Akcelo"
IsOrganizer: "false"
InviteStatus: "NotSent"
}
]
Private: "false"
Location: ""
RecurrenceExclusions: ""
RecurrenceRule: ""
Relateds: [ // Array with 2 elements
{ // 0
Id: "641e9c07-5d74-41f8-a517-e18b6961bdd3"
RelatedId: "48105796-fa6a-4fdf-9f09-84f981c8b945"
RelatedClassName: "Company"
RelatedName: "Akcelo"
}
{ // 1
Id: "b555542c-6c30-4e78-a4a2-546cc11a8a82"
RelatedId: "97c4d3ee-4467-4808-a8e6-b619a3077e34"
RelatedClassName: "Opportunity"
RelatedName: "Akcelo"
}
]
SortOrder: "0"
ToDate: "1753-01-01 00:00"
Type: "Task"
}
{ // 2
Id: "e74ae670-0cf3-4d44-9b2a-7a6bcba1b517"
CreatedById: "9e13db78-7df6-45fc-a652-5e7193d185cb"
CreatedByName: "Al Pacino (Hawaii)"
CreatedDate: "2019-01-18 17:17:22.123456"
ChangedById: "9e13db78-7df6-45fc-a652-5e7193d185cb"
ChangedByName: "Al Pacino (Hawaii)"
ChangedDate: "2019-01-18 17:17:20.123456"
ActivityTypeName: "Demo"
ActivityTypeId: "5525334d-9028-4177-867e-bb278f540f5c"
Contents: "Hello Dania, I hope everything is well! Sounds very open to the investment and realize that for EcoCentric to grow, they will need to dedicate some time into this initiative. All the best, Al"
Completed: "true"
CompletedDate: "2019-01-18 17:17:20.123456"
HasExplicitTime: "true"
Important: "false"
Deadline: "2019-01-19 03:17:09.123456"
FromDate: "1753-01-01 00:00:00.000000"
IsRecurring: "false"
Participants: [ // Array with 2 elements
{ // 0
Id: "73ae7aeb-5cff-4506-a926-903e696a6cb0"
PersonId: "9e13db78-7df6-45fc-a652-5e7193d185cb"
PersonName: "Al Pacino (Hawaii)"
CompanyId: "799dc80d-1368-44c7-ab35-246e082b7a00"
CompanyName: "Membrain"
IsOrganizer: "true"
InviteStatus: "NotSent"
}
{ // 1
Id: "23e8f708-0c27-4855-9b58-9e5c86ca8184"
PersonId: "d03ee604-246c-44fd-84c1-a2a09de145cf"
PersonName: "Dania Trudeson"
CompanyId: "5c34b42e-92e4-470b-87b1-2191eed55e6c"
CompanyName: "EcoCentric"
IsOrganizer: "false"
InviteStatus: "NotSent"
}
]
Private: "false"
Location: ""
RecurrenceExclusions: ""
RecurrenceRule: ""
Relateds: [ // Array with 2 elements
{ // 0
Id: "ccdf1a95-a452-4673-b48a-4c575ae1c05b"
RelatedId: "5c34b42e-92e4-470b-87b1-2191eed55e6c"
RelatedClassName: "Company"
RelatedName: "EcoCentric"
}
{ // 1
Id: "9c1283f4-03e0-47e6-8d51-f7de7492c10e"
RelatedId: "fa6f9364-b0aa-4bdc-b15c-c57aef87f3ad"
RelatedClassName: "Opportunity"
RelatedName: "EcoCentric"
}
]
SortOrder: "0"
ToDate: "1753-01-01 00:00:00.000000"
Type: "Task"
}
]
}
Properties
Id
GUID. Unique identifier for this Activity.
ActivityTypeId
GUID. Unique identifier for the Activity Type of this Activity.
ActivityTypeName
Name of the Activity Type, if any.
Subject
Only for Appointments and Emails.
Body
Only for Emails.
Contents
Content of this Activity.
Completed
Either "true" or "false". A task is manually completed while an Appointment is considered completed when it is in the past.
CompletedDate
The date when the Task or Appointment was considered to be completed.
OrganizerId
GUID. The unique identifier for the Person that created this Activity. (Only for Appointments and Tasks.)
Private
Either "true" or "false". This property tells you if the contents of the item is to be considered private or not.
Participants
This property contains information regarding the participants of this Appointment or Task like Id, PersonId, PersonName, CompanyId, CompanyName, IsOrganizer, InviteStatus. For format details see examples above.
Location
Location where the Activity will take place (Max 255 characters).
FromDate
Starting Date for an Activity, NOT USED for Task.
ToDate
End Date of an activity, NOT USED for Task.
Deadline
Deadline for a Task. NOTE: The Deadline field value only has significance for Tasks in Membrain but may sometimes be populated for other Types as well.
IsRecurring
True for recurring activities, False for normal activities and tasks.
RecurrenceExclusions
Comma seperate list of dates to exclude from generated recurring dates.
RecurrenceRule
RULE string. Note that Membrain only has partial support for RULE.
Relateds
This property contains information regarding the related items to this Appointment or Task like Id, RelatedId, RelatedClassName, RelatedName. For format details see examples above.
HasExplicitTime
Boolean. This value relates to the Deadline and is only relevant for Tasks. If set to true, the time part of the Deadline field has significance if it exists, otherwise it does not.
Important
Boolean value representing if this Activity has been marked as Important or not. This property is only relevant for Tasks.
SortOrder
Sort order for a Task. Not relevant for other Types. Note that the sort order only has significance in Membrain for Tasks without a Deadline.
Type
Either "Activity", "Call", "Note", "Email" or "Task". Note that "Appointments" have the "Type" set to "Activity" in this API version.
CreatedById
GUID. Unique identifier for the User who created this Activity.
CreatedByName
Name of the User who created this Activity.
CreatedDate
Date and time when this Activity was created.
ChangedById
GUID. Unique identifier for the User who last modified this Activity.
ChangedByName
Name of the User who last modified this Activity.
ChangedDate
Date and time when this Activity was last modified.
 
GET /activities/{Id}
Read data related to a task or activity entry in the database, requires a valid Id (GUID) for the task or activity you want to read.
Example Request
GET /activities/1298af92-67d3-4647-80c6-6ea06fee8de5
Example Result
{
Id: "1298af92-67d3-4647-80c6-6ea06fee8de5"
CreatedById: "aa0e22a1-7cae-41e4-a599-c48b72155071"
CreatedByName: "Elina Trump"
CreatedDate: "2020-01-09 11:41:00.123456"
ChangedById: "aa0e45a1-7cae-41e4-a599-c48b72155071"
ChangedByName: "Elina Trump"
ChangedDate: "2020-01-10 07:00:00.123456"
ActivityTypeName: "Appointment"
ActivityTypeId: "a11f14ab-8b22-4544-bed8-63f3e50942f0"
Subject: "Monthly meeting"
Contents: "Review whole activities of last month and plan for next month"
Completed: "true"
CompletedDate: "2019-12-31 17:00:00.123456"
OrganizerId: "251f76ff-aca7-5675-ce39-144b97c1e627"
HasExplicitTime: "true"
Important: "false"
Deadline: "1753-01-01 00:00:00.123456"
FromDate: "2019-12-31 17:00:00.123456"
IsRecurring: "false"
Participants: [ // Array with 1 elements
{ // 0
Id: "323e005a-56df-43c4-abbb-2352ffea2f6b"
PersonId: "aa0e40a1-7cae-89d0-a599-c48b72155071"
PersonName: "Michelle Obama"
CompanyId: "00000000-0000-0000-0000-000000000000"
CompanyName: "AB"
IsOrganizer: "true"
InviteStatus: "NotSent"
}
]
Private: "false"
Location: ""
RecurrenceExclusions: ""
RecurrenceRule: ""
Relateds: [ // Array with 1 elements
{ // 0
Id: "d908f819-3aa7-4678-99b8-6630ffc19548"
RelatedId: "799dc80d-9999-44c7-ab35-246e082b7a00"
RelatedClassName: "Company"
RelatedName: "AB"
}
]
RelatedSuggestionExclusions: ""
SortOrder: "0"
ToDate: "2019-12-31 17:15:00.123456"
Type: "Activity"
CustomField145141d97a6d4b19bb04c0dce6946b98: ""
}
Properties
Id
GUID. Unique identifier for this Activity.
Type
Either "Activity" or "Task".
ActivityTypeName
Name of an Activity type.
ActivityTypeId
GUID of the activity type.
Subject
Only for Appointments and Emails.
Contents
Content of this Activity.
Completed
Either "true" or "false". A task is manually completed while an Appointment is considered completed when it is in the past.
CompletedDate
The date when the Task or Appointment was considered to be completed.
OrganizerId
GUID. The unique identifier for the Person that created this Activity. (Only for Appointments and Tasks)
CustomField{GUID}
Read data for a specific Custom Field identified by {GUID}, the format of the data in this field depends on the Custom Field type. See the section on Custom Fields.
Private
Either "true" or "false". This property tells you if the contents of the Activity is to be considered private or not.
Participants
This property contains information regarding the participants of this Appointment or Task like Id, PersonId, PersonName, CompanyId, CompanyName, IsOrganizer, InviteStatus. For format details see examples above.
Location
Location where the Activity will take place (Max 255 characters).
FromDate
Starting Date for an Activity, NOT USED for Task.
ToDate
End date of an Activity. NOT USED for Task.
Deadline
Deadline for a Task, NOT USED for Activity.
IsRecurring
True for recurring activities, False for normal activities and tasks.
RecurrenceExclusions
Comma seperate list of dates to exclude from generated recurring dates.
RecurrenceRule
RULE string. Note that Membrain only has partial support for RULE.
Relateds
This property contains information regarding the related items to this Appointment or Task like Id, RelatedId, RelatedClassName, RelatedName. For format details see examples above.
HasExplicitTime
Boolean. This value relates to the Deadline and is only relevant for Tasks. If set to true, the time part of the Deadline field has significance if it exists, otherwise it does not.
Important
Boolean value representing if this Activity has been marked as Important or not. This property is only relevant for Tasks.
RelatedSuggestionExclusions
 
SortOrder
Sort order for a Task, NOT USED for Activity.
CreatedById
GUID. Unique identifier for the User who created this Activity.
CreatedByName
Name of the User who created this Activity.
CreatedDate
Date and time when this Activity was created.
ChangedById
GUID. Unique identifier for the User who last modified this Activity.
ChangedByName
Name of the User who last modified this Activity.
ChangedDate
Date and time when this Activity was last modified.
 
POST /appointments/ | POST /tasks/ | POST /calls/ | POST /notes/
You may use one of the following endpoints to create an Activity of the desired type:

POST /appointments/ - Creates an Appointment
POST /tasks/ - Creates a Task
POST /calls/ - Creates a Call
POST /notes/ - Creates a Note
Example Request
POST /appointments
{
Subject: "Meeting"
FromDate: "2020-01-15 11:00"
ToDate: "2020-01-15 12:00"
Subject: "Meeting"
Location: "Ho Chi Minh"
OrganizerId: "9e13db78-7df6-45fc-a652-5e7193d185cb"
Participants: "16e48649-0120-41d2-bb50-daf2e1226cb1,2986343f-5f4f-46f2-a9a7-2dd07be8d9e8"
Relateds: "95c49f6e95084a598959d6f55459869f"
ActivityTypeId: "66666678-7df6-45fc-a652-5e7193555555"
Private: "true"
CustomFielde5f959b4-0522-4a2a-9941-950ed45217c5: "Lorem Ipsum"
}
Example Result
{
Id: "86783c4c-0198-4d46-88bc-a88dd2c952b7"
Subject: "Meeting"
FromDate: "2020-01-15 11:00"
ToDate: "2020-01-15 12:00"
Location: "Ho Chi Minh"
OrganizerId: "9e13db78-7df6-45fc-a652-5e7193d185cb"
Participants: [ // Array with 3 elements
{ // 0
Id: "5f267d36-0584-4f50-874c-e8d1a5a16469"
PersonId: "9e13db78-7df6-45fc-a652-5e7193d185cb"
PersonName: "Al Pacino (Hawaii)"
CompanyId: "799dc80d-1368-44c7-ab35-246e082b7a00"
CompanyName: "Membrain"
IsOrganizer: "true"
InviteStatus: "NotSent"
}
{ // 1
Id: "ceb51b11-314b-4552-afdc-1a93647fa741"
PersonId: "16e48649-0120-41d2-bb50-daf2e1226cb1"
PersonName: "Alicia Vikander"
CompanyId: "253b9f1d-d901-4e39-9068-2f1d73c476fd"
CompanyName: "Company With Many Items (Membrain Alternate)"
IsOrganizer: "false"
InviteStatus: "NotSent"
}
{ // 2
Id: "ac974c8e-efc0-4d05-b7c0-9cbfca1503fd"
PersonId: "2986343f-5f4f-46f2-a9a7-2dd07be8d9e8"
PersonName: "Alpha"
CompanyId: "00000000-0000-0000-0000-000000000000"
CompanyName: "Membrain AB"
IsOrganizer: "false"
InviteStatus: "NotSent"
}
]
Relateds: [ // Array with 2 elements
{ // 0
Id: "c3cf53d2-fac7-4114-9d4f-f7f712834563"
RelatedId: "fb0455df-ca75-4291-b86e-258bedaf37bf"
RelatedClassName: "Company"
RelatedName: "MDSL v2"
}
{ // 1
Id: "c737b863-e417-4202-abe1-130ac87934c9"
RelatedId: "95c49f6e-9508-4a59-8959-d6f55459869f"
RelatedClassName: "Opportunity"
RelatedName: "MDSL"
}
]
ActivityTypeId: "66666678-7df6-45fc-a652-5e7193555555"
Private: "true"
CustomFielde5f959b4-0522-4a2a-9941-950ed45217c5: "Lorem Ipsum"
}
Properties
Id
GUID representing the Id for the created activity (Return value only).
Subject
String, max 255 chars (Only for Appointments)
Contents
String (All types)
Location
String (255), location where the activity will take place.
FromDate
Starting Date for an Activity in UTC (Only for Appointments)
ToDate
End date of an Activity in UTC (Only for Appointments)
Deadline
Deadline for an Activity in UTC (Only for Tasks)
Date
Date for an Activity in UTC (Only for Notes and Calls)
Relateds
Zero or more GUIDs representing Companies, Prospects, Opportunities, AccountGrowthItems or Tickets related to this Activity.
Participants
Zero or more GUIDs representing participants related to this Activity, this can optionally include the OrganizerId BUT the OrganizerId must always be included seperatly as well.
OrganizerId
GUID referencing an existing Contact that will be the organizer. OrganizerId MUST be supplied.
ActivityTypeId
Optional GUID referencing an ActivityType that will be set for the created Activity.
Private
Either "true" or "false". Set to true if activitiy is to be considered private. (Only for /appointments/)
CustomField{GUID}
Custom Field identified by {GUID}, the format of the data in this field depends on the Custom Field type. See the section on Custom Fields.
 
PUT /appointments/{Id} | PUT /tasks/{Id} | PUT /calls/{Id} | PUT /notes/{Id}
This call is used to update an existing Task, Appointment, Note or Call. Do note that not all things can be modified via the API at this time (ex: reminders, invite status).

NOTE: that which endpoint to use depends on what type of "activity" you are intending to update:

/appointments/ for Appointments
/tasks/ for Tasks
/calls/ for Calls
/notes/ for Notes
Example Request
PUT /appointments/7af5fd1d-95b0-4564-a0d2-45e2c3b35f4b
{
Contents: "String for Contents"
}
Example Result
{
Contents: "String for Contents"
}
Properties
Private
Boolean. (Only for /appointments/)
Busy
Boolean
Location
String (255), location where the activity will take place.
Subject
String, max 255 chars (Only for /appointments/)
Contents
String
Deadline
Deadline for a Task (Only for /tasks/)
CustomField{GUID}
Custom Field identified by {GUID}, the format of the data in this field depends on the Custom Field type. See the section on Custom Fields.
 
DELETE /activities/{Id}
Deletes an activity (Note, Task, Appointment, Email or Call) from Membrain. NOTE: you may also do the same with /tasks/, /notes/, /emails/, /calls/ or /appointments/ if desired.
Example Request
DELETE /activities/7af5fd1d-95b0-4564-a0d2-45e2c3b35f4b
Example Result
{
success: "true"
}
 
PUT /tasks/{Id}/complete
Parameters
CompletedDate
An optional date of when the Task was completed. If not supplied the completed date will correspond to the date of the call. Expected format YYYY-MM-DD HH:mm:ss.ffffff. The completed date is expected in UTC.
Used to mark a Task in Membrain as Completed. NOTE: When Complete Task is called, in the case where a task was created by one user and then assigned to another user, a notification of completion will be automatically created.
Example Request
PUT /tasks/bf406c56-556f-4cf5-9724-a4b32ecfa461/complete
Example Result
{
success: "true"
}
 
PUT /tasks/{Id}/uncomplete
Used to mark as Task as not being completed.
Example Request
PUT /tasks/bf406c56-556f-4cf5-9724-a4b32ecfa461/uncomplete
Example Result
{
success: "true"
}
 
GET /documents/
Get list of Documents. Note that this endpoint will not return the binary contents of the files, to get the actual file data you need to read a specific Document. Use these query strings to filter the list:
Parameters
AttachedToIds
A comma separated list of GUIDs corresponding to either Prospect, Sales Project, Account Growth Project, Ticket, Flow or Company entries in Membrain.
DocumentTypeIds
A comma separated list of GUIDs corresponding to a Document Category. Use /documentTypes/ endpoint to access the list of available Document Categories.
ChangedFromDate
Given as a date in the format YYYY-MM-DD HH:mm.ss.ffffff where HH:mm.ss.ffffff is optional, default to 00:00.00.000000. Must be provided with ChangedToDate.
ChangedToDate
Given as a date in the format YYYY-MM-DD HH:mm.ss.ffffff where HH:mm.ss.ffffff is optional, default to 23:59:59.999999. Must be provided with ChangedFromDate.
CreatedFromDate
Given as a date in the format YYYY-MM-DD HH:mm.ss.ffffff where HH:mm.ss.ffffff is optional, default to 00:00:00.000000. Must be provided with CreatedToDate.
CreatedToDate
Given as a date in the format YYYY-MM-DD HH:mm.ss.ffffff where HH:mm.ss.ffffff is optional, default to 23:59:59.999999. Must be provided with CreatedFromDate.
Return
String with a comma separated list of fields to return. It is recommended that you use this for most calls as reading fewer fields will decrease download sizes and make calls complete faster.
Example Request
GET /documents/2f680877-feb2-4814-968a-6831cc34567a?CreatedFromDate=2020-01-01 07:53:10.443413&CreatedToDate=2020-01-31
Example Result
{
count: "1"
from: "0"
to: "1"
items: [ // Array with 1 elements
{ // 0
Id: "2f680877-feb2-4814-968a-6831cc34567a"
CreatedById: "e30a2d31-20c7-40a7-a097-818f567aae0b"
CreatedByName: "Anna"
CreatedDate: "2019-12-17 10:20:12.123456"
ChangedById: "b40a2d31-20c7-40a7-a097-345f652aaeac"
ChangedByName: "Sophie"
ChangedDate: "2019-12-17 10:20:33.123456"
FileName: "invite.ics"
Name: "invite.ics"
AttachedToId: "b62b4625-a571-42cd-b511-3b20f4e71dfg"
DocumentTypeId: "b6628630-95cc-4f99-94ef-90d32b6ca432"
DocumentTypeName: "Agreements"
}
]
}
Properties
Id
GUID. The unique identifier for this Document
CreatedById
GUID. Identifier referencing which User this document has been Created By.
CreatedByName
Name of the user which created this document.
CreatedDate
The Date and Time in UTC when this document was created. Format: YYYY-MM-DD HH:mm:ss.ffffff
ChangedById
GUID referencing the user which last modified this document.
ChangedByName
Name of the user which last modified this document.
ChangedDate
Date and time in UTC when last modified this document. Format: YYYY-MM-DD HH:mm:ss.ffffff
Name
The Name of t§his Document
FileName
The Filename of this Document with extension, ex "document.pdf"
AttachedToId
GUID. Identifier referencing the Company or Project this Document is Attached to
DocumentTypeId
GUID. Identifier referencing the Document Category this Document is in
DocumentTypeName
Name of the Document Category this Document is in
 
GET /documents/{Id}
Read data related to a document entry in the database, requires a valid Id (GUID) for the document you want to read.
Example Request
GET /documents/2f680877-feb2-4814-968a-6831cc34567a
Example Result
{
Id: "2f680877-feb2-4814-968a-6831cc34567a"
CreatedById: "e30a2d31-20c7-40a7-a097-818f567aae0b"
CreatedByName: "Anna"
CreatedDate: "2019-12-17 10:20:12.123456"
ChangedById: "b40a2d31-20c7-40a7-a097-345f652aaeac"
ChangedByName: "Sophie"
ChangedDate: "2019-12-17 10:20:33.123456"
FileName: "invite.ics"
Name: "invite.ics"
AttachedToId: "b62b4625-a571-42cd-b511-3b20f4e71dfg"
DocumentTypeId: "b6628630-95cc-4f99-94ef-90d32b6ca432"
DocumentTypeName: "Agreements"
ReadFileData: "QkVHSU4aDQpE5VTS1HVUVTVFM9MDptYWlsdG8RU5EOlZFVkVOVA0KRU5EOlZDQUxFTkRBUg0K"
}
Properties
Id
GUID. The unique identifier for this Document
CreatedById
GUID. Identifier referencing which User this document has been Created By.
CreatedByName
Name of the user which created this document.
CreatedDate
The Date and Time in UTC when this document was created. Format: YYYY-MM-DD HH:mm:ss.ffffff
ChangedById
GUID referencing the user which last modified this document.
ChangedByName
Name of the user which last modified this document.
ChangedDate
Date and time in UTC when last modified this document. Format: YYYY-MM-DD HH:mm:ss.ffffff
Name
The Name of this Document
FileName
The Filename of this Document with extension, ex "document.pdf"
AttachedToId
GUID. Identifier referencing the Company or Project this Document is Attached to
DocumentTypeId
GUID. Identifier referencing the Document Category this Document is in
DocumentTypeName
Name of the Document Category this Document is in
ReadFileData
Base64 encoded file data. Note that this can exceed 100 MB in rare cases so unless you specifically need the file data, do not access this field
 
POST /documents/
Create a new Document in Membrain.

All documents should be attached to either a Company, Prospect or an Opportunity via "AttachedToId".

NOTE: All properties are required.
NOTE: The file data is NOT returned for writes due to the potentially large size.
Example Request
POST /documents
{
FileName: "invite.ics"
Name: "Invite Meeting"
AttachedToId: "b62b4564-a571-42cd-b511-3b20f4e71cce"
WriteFileData: "QkVHSUBQT0lOVE1FTlQgMjIyMjIyMjIyMg0KVFJBTlNQOk9QQVFVRQ0KRU5EOlZFVkVOVA0KRU5EOlZDQUxFTkRBUg0K"
}
Example Result
{
Id: "3e42f44g-40d8-4cce-8049-6db701cad2f5"
FileName: "invite.ics"
Name: "Invite Meeting"
AttachedToId: "b62b4625-a000-42cd-b511-3b20f4e71cce"
}
Properties
Id
GUID. The unique identifier for this Document. Return value only
Name
Descriptive Name of the document
FileName
The Filename of this Document with extension, ex "document.pdf"
AttachedToId
GUID. Identifier referencing the Company or Project this Document is Attached to
DocumentTypeId
GUID. Identifier referencing the Document Category this Document is in. (Optional)
WriteFileData
Base64 encoded file data. This element should always come AFTER FileName. Note: do not send this field empty in update requests as that will clear the document data entirely, instead exclude the tag entirely.
 
PUT /documents/{Id}
Update an existing document in Membrain. All documents should be attached to either a Company, Opportunity or Prospect via "AttachedToId".

NOTE: file data is NOT returned for writes due to the potentially large size.
Example Request
PUT /documents/874b0126-d355-4d4f-a792-9b906fe2f97d
{
Name: "Invite Meeting"
FileName: "invite.ics"
AttachedToId: "b62b4625-a000-42cd-b511-3b20f4e71cce"
WriteFileData: "QkVHSUBQT0lOVE1FTlQgMjIyMjIyMjIyMg0KVFJBTlNQOk9QQVFVRQ0KRU5EOlZFVkVOVA0KRU5EOlZDQUxFTkRBUg0K"
}
Example Result
{
Id: "874b0126-d355-4d4f-a792-9b906fe2f97d"
Name: "Invite Meeting"
FileName: "invite.ics"
AttachedToId: "b62b4625-a000-42cd-b511-3b20f4e71cce"
}
Properties
Id
GUID. The unique identifier for this Document
Name
Descriptive name of the document
FileName
The Filename of this Document with extension, ex "document.pdf"
AttachedToId
GUID. Identifier referencing the Company or Project this Document is Attached to
DocumentTypeId
GUID. Identifier referencing the Document Category this Document is in
WriteFileData
Base64 encoded file data. This element should always come AFTER FileName. Note: do not send this field empty in update requests as that will clear the document data entirely, instead exclude the tag entirely.
 
DELETE /documents/{Id}
Deletes a Document from Membrain.
Example Request
DELETE /documents/7af5fd1d-95b0-4564-a0d2-45e2c3b35f4b
Example Result
{
success: "true"
}
 
GET /processContainerContacts/
Get list of ProcessContainerContacts (Stakeholder or Contact connected to a Prospect, Sales Project, Account Growth Project or Ticket). Use these query strings to filter the list:
Parameters
RoleIds
A comma separated list of GUIDs corresponding to available Roles in Membrain, use GetRoles to access the list of available Roles.
ProcessContainerIds
A comma separated list of GUIDs corresponding to either Prospect, Sales Project, AccountGrowthItem or Ticket entries in Membrain.
ChangedFromDate
Given as a date in the format YYYY-MM-DD HH:mm.ss.ffffff where HH:mm.ss.ffffff is optional, default to 00:00.00.000000. Must be provided with ChangedToDate.
ChangedToDate
Given as a date in the format YYYY-MM-DD HH:mm.ss.ffffff where HH:mm.ss.ffffff is optional, default to 23:59:59.999999. Must be provided with ChangedFromDate.
CreatedFromDate
Given as a date in the format YYYY-MM-DD HH:mm.ss.ffffff where HH:mm.ss.ffffff is optional, default to 00:00:00.000000. Must be provided with CreatedToDate.
CreatedToDate
Given as a date in the format YYYY-MM-DD HH:mm.ss.ffffff where HH:mm.ss.ffffff is optional, default to 23:59:59.999999. Must be provided with CreatedFromDate.
Performs a search returning ProcessContainerContact items matching the given search criteria. Use the Result node to configure what data points to return. Use the following properties in a Search node to access the desired subset of data.
Example Request
GET /processContainerContacts/?CreatedFromDate=2020-01-01 07:53:10.443413&CreatedToDate=2020-01-31
Example Result
{
count: "1"
from: "0"
to: "1"
items: [ // Array with 1 elements
{ // 0
Id: "7be82e1a-4b61-48fc-ae61-0a34b3ae22c3"
CreatedById: "a274a00f-26ac-6565-84e4-eeb603afe453"
CreatedByName: "Brian Tom"
CreatedDate: "2019-09-16 07:53:10.443413"
ChangedById: "a274a00f-26ac-8030-84e4-eeb603afe453"
ChangedByName: "Brian Tom"
ChangedDate: "2019-09-16 07:54:03.575333"
ProcessContainerId: "44550b1d-f52c-46eb-94fa-feddf5a282f5"
ProcessContainerClass: "Prospect"
ProcessContainerName: "1StopMove - Allissa Bernison"
RoleId: "0eaf6e4e-345y-46c2-855b-6560acfaa0f4"
RoleName: "Researcher"
CompanyId: "d0eab555-7c9a-4932-98d1-db482b86f6cf"
CompanyName: "1StopMove"
PersonId: "793335d0-555a-4cdf-9c9e-d48b10004e41"
PersonName: "Abbi Trixson"
PersonFirstName: "Abbi"
PersonLastName: "Trixson"
AttitudeId: "5dc72846-c84f-4984-b7f5-b7e4cfb917f0"
AttitudeName: "Concerned"
InfluenceId: "e7c0f45a-b5d7-4ee2-8b20-268f05148aa8"
InfluenceName: "Unknown"
Notes: ""
}
]
}
Properties
Id
GUID. The unique identifier for this ProcessContainerContact
RoleId
GUID. Identifier referencing the Role of this ProcessContainerContact
RoleName
Name of the Role of this ProcessContainerContact
AttitudeId
GUID. Identifier referencing the Attitude of this ProcessContainerContact
AttitudeName
Name of the Attitude of this ProcessContainerContact
InfluenceId
GUID. Identifier referencing the Influence of this ProcessContainerContact
InfluenceName
Name of the Influence of this ProcessContainerContact
Notes
Notes for this ProcessContainerContact
ProcessContainerId
Guid. Identifier referencing the Project for this ProcessContainerContact
ProcessContainerName
Name of the Project for this ProcessContainerContact
ProcessContainerClass
The Class Name of Project
PersonId
Guid. Identifier referencing the Person for this ProcessContainerContact
PersonName
Name of the Person for this ProcessContainerContact
PersonFirstName
First Name of the Person for this ProcessContainerContact
PersonLastName
Last Name of the Person for this ProcessContainerContact
CompanyId
Guid. Identifier referencing the Company the Person is in for this ProcessContainerContact
CompanyName
Name of the Company the Person is in for this ProcessContainerContact
CreatedById
GUID. Identifier referencing the User that created this item
CreatedByName
Name of the User that created this item
CreatedDate
Date when this item was created, given in UTC
ChangedById
GUID. Identifier referencing the User that last changed this item
ChangedByName
Name of the User that last changed this item
ChangedDate
Date when this item was last changed, given as YYYY-MM-DD HH:mm:ss.ffffff in UTC
 
GET /processContainerContacts/{Id}
Fetches a ProcessContainerContact (Stakeholder or Contact connected to a Prospect, Sales Project, Account Growth Project or Ticket).
Example Request
GET /processContainerContacts/6639f1c7-2885-4af4-9770-6e17ec1129d6
Example Result
{
RoleId: "bf406c56-556f-4cf5-9724-a4b32ecfa461"
RoleName: "Validator"
AttitudeId: "00000000-0000-0000-0000-000000000000"
AttitudeName: "Unknown"
InfluenceId: "00000000-0000-0000-0000-000000000000"
InfluenceName: "Unknown"
Notes: ""
ProcessContainerId: "8285d699-1dc0-4df1-a4bb-902f03ddbb5c"
ProcessContainerName: "RailComm"
ProcessContainerClass: "Opportunity"
PersonId: "37f82bba-4543-4eec-b30e-79b3fbdde3f3"
PersonName: "Karla Simson"
PersonFirstName: "Karla"
PersonLastName: "Simson"
CompanyId: "7c19000a-d3d5-4d06-bef6-42a7352bdae7"
CompanyName: "RedSun"
Id: "6639f1c7-2885-4af4-9770-6e17ec1129d6"
CreatedById: "0bbfce43-1d2c-405b-a3a0-154ea572e6b0"
CreatedByName: "Ed Pacino"
CreatedDate: "2018-09-28 17:43:00.123456"
ChangedById: "0bbfce43-1d2c-405b-a3a0-154ea572e6b0"
ChangedByName: "Ed Pacino"
ChangedDate: "2018-09-28 17:43:00.123456"
}
Properties
Id
GUID. The unique identifier for this ProcessContainerContact
RoleId
GUID. Identifier referencing the Role of this ProcessContainerContact
RoleName
Name of the Role of this ProcessContainerContact
AttitudeId
GUID. Identifier referencing the Attitude of this ProcessContainerContact
AttitudeName
Name of the Attitude of this ProcessContainerContact
InfluenceId
GUID. Identifier referencing the Influence of this ProcessContainerContact
InfluenceName
Name of the Influence of this ProcessContainerContact
Notes
Notes for this ProcessContainerContact
ProcessContainerId
Guid. Identifier referencing the Project for this ProcessContainerContact
ProcessContainerName
Name of the Project for this ProcessContainerContact
ProcessContainerClass
The Class Name of Project
PersonId
Guid. Identifier referencing the Person for this ProcessContainerContact
PersonName
Name of the Person for this ProcessContainerContact
PersonFirstName
First Name of the Person for this ProcessContainerContact
PersonLastName
Last Name of the Person for this ProcessContainerContact
CompanyId
Guid. Identifier referencing the Company the Person is in for this ProcessContainerContact
CompanyName
Name of the Company the Person is in for this ProcessContainerContact
CreatedById
GUID. Identifier referencing the User that created this item
CreatedByName
Name of the User that created this item
CreatedDate
Date when this item was created, Given in UTC in the format "YYYY-MM-DD HH:mm:ss.ffffff"
ChangedById
GUID. Identifier referencing the User that last changed this item
ChangedByName
Name of the User that last changed this item
ChangedDate
Date when this item was last changed. Given in UTC in the format "YYYY-MM-DD HH:mm:ss.ffffff"
 
POST /processContainerContacts/
Create a ProcessContainerContact in Membrain. A ProcessContainerContact is a Contact or Stakeholder in a Prospect, Opportunity (Sales Project), AccountGrowthItem (Account Growth Project) or Ticket.

All ProcessContainerContacts require at a minimum a reference to a Person via PersonId and a Prospect, Opportunity, AccountGrowthItem or Ticket via ProcessContainerId.
Example Request
POST /processContainerContacts/
{
ProcessContainerId: "9b5d55a7-53a8-4944-8f3a-8a181b208baa"
PersonId: "b2c2df2f-c5b2-43b3-9c45-d0c34f45a532"
}
Example Result
{
Id: "5b5bf8fa-6d18-47a3-a00e-53e3ef81a340"
ProcessContainerId: "9b5d55a7-53a8-4944-8f3a-8a181b208baa"
PersonId: "b2c2df2f-c5b2-59b3-9c43-d0c09f45a532"
}
Properties
Id
GUID. The unique identifier for this ProcessContainerContact
ProcessContainerId
Guid. Identifier referencing the Project for this ProcessContainerContact
PersonId
Guid. Identifier referencing the Person for this ProcessContainerContact
RoleId
GUID. Identifier referencing the Role of this ProcessContainerContact
AttitudeId
GUID. Identifier referencing the Attitude of this ProcessContainerContact
InfluenceId
GUID. Identifier referencing the Influence of this ProcessContainerContact
Notes
Notes for this ProcessContainerContact
 
PUT /processContainerContacts/{Id}
Update a ProcessContainerContact in Membrain.

All ProcessContainerContacts require at a minimum a reference to a Person via PersonId and a Prospect, Opportunity (Sales Project), AccountGrowthItem (Account Growth Project) or Ticket via ProcessContainerId.
Example Request
PUT /processContainerContacts/756d4e5d-0006-4abe-b2e3-a7a8ffd5509d
{
ProcessContainerId: "223d4e5d-111-4abe-b2e3-a7a8ffd5509d"
RoleId: "389e6b5d-0006-4abe-b2e3-a7a8ffd5509d"
AttitudeId: "444d4e5d-0006-4abe-b2e3-a7a8ffd5509d"
InfluenceId: "742d4e5d-0006-4abe-b2e3-a7a8ffd5509d"
PersonId: "128d4e5d-0006-4abe-b2e3-a7a8ffd5509d"
Notes: ""
}
Example Result
{
Id: "756d4e5d-0006-4abe-b2e3-a7a8ffd5509d"
ProcessContainerId: "223d4e5d-111-4abe-b2e3-a7a8ffd5509d"
RoleId: "389e6b5d-0006-4abe-b2e3-a7a8ffd5509d"
AttitudeId: "444d4e5d-0006-4abe-b2e3-a7a8ffd5509d"
InfluenceId: "742d4e5d-0006-4abe-b2e3-a7a8ffd5509d"
PersonId: "128d4e5d-0006-4abe-b2e3-a7a8ffd5509d"
Notes: ""
}
Properties
Id
GUID. The unique identifier for this ProcessContainerContact (Return value only).
ProcessContainerId
Guid. Identifier referencing the Project for this ProcessContainerContact. Mandatory field.
PersonId
Guid. Identifier referencing the Person for this ProcessContainerContact. Mandatory field.
RoleId
GUID. Identifier referencing the Role of this ProcessContainerContact
AttitudeId
GUID. Identifier referencing the Attitude of this ProcessContainerContact
InfluenceId
GUID. Identifier referencing the Influence of this ProcessContainerContact
Notes
Notes for this ProcessContainerContact
 
DELETE /processContainerContacts/{Id}
Deletes a ProcessContainerContact entry assigned to either a Prospect, Opportunity (Sales Project), AccountGrowthItem (Account Growth Project) or Ticket in Membrain. NOTE: The related Contact entry is not deleted.
Example Request
DELETE /processContainerContacts/7af5fd1d-95b0-4564-a0d2-45e2c3b35f4b
Example Result
{
success: "true"
}
 
GET /automations/
Get list of all Automations.
Example Request
GET /automations/
Example Result
[ // Array with 2 elements
// 0:
{
Id: "6ab83f5c-8e49-4182-b273-c97433525c45"
Name: "Prospect Automation"
Active: "true"
Type: "Prospect"
}
// 1:
{
Id: "eacf403b-dff8-47c5-8629-ecaf52130d41"
Name: "Sales Project Automation"
Active: "true"
Type: "Opportunity"
}
]
Properties
Id
Guid. Identifier of this Automation.
Name
Name of this Automation.
Active
Represents if the Automation is Active or not, either "true" or "false".
Type
The type of this Automation. Can be Prospect, Opportunity, AccountGrowthItem, Ticket, Company or Person.
 
GET /automations/{AutomationId}/enrolled/
Get a list of enrolled items in an Automation. Use these query strings to filter the list:
Example Request
GET /automations/4d8f08e9-12cd-41e9-dd55-7a24011eb529/enrolled/
Example Result
[ // Array with 2 elements
// 0:
{
Id: "3456b1a7-c56a-4528-b415-aa19455841d1"
EnrolledId: "9e307de8-60aa-44fd-9d3b-1438712989f4"
CurrentStepId: "2a1fc16f-25gh-4ad0-97da-cbcf2a582d0c"
CurrentStepStartedDate: "2022-12-17 10:16:12.123456"
StartedById: "9fe5f22d-6a1b-3511-b0e2-62d2c3b35f4b"
StartedByType: "User"
StartedDate: "2022-12-11 10:16:12.123456"
Status: "Active"
}
// 1:
{
Id: "3456b1a7-c56a-4528-b415-aa19455841d1"
EnrolledId: "73a3d59c-8b0f-40d3-b115-07c3fdd6814d"
CurrentStepId: "2a1fc16f-25gh-4ad0-97da-cbcf2a582d0c"
CurrentStepStartedDate: "2022-12-17 10:16:12.123456"
StartedById: "9fe5f22d-6a1b-3511-b0e2-62d2c3b35f4b"
StartedByType: "Automation"
StartedDate: "2022-12-11 10:16:12.123456"
Status: "Active"
}
]
Properties
Id
Guid. Identifier of this Automation.
EnrolledId
GUID. Identifier referencing the Enrolled item in this Automation.
CurrentStepId
GUID. Identifier referencing the Current Step in this Automation.
CurrentStepStartedDate
The Date and Time when the Current Step was started.
StartedById
GUID. Identifier referencing the Person who started this this Automation.
StartedByType
The type that started the Automation. Either "Automation", "User" or "ProcessEvent".
 
POST /automations/{AutomationId}/enroll/{IdToEnroll}
This endpoint allows you to enroll a Prospect, Opportunity, AccountGrowthItem, Ticket, Person or Company into an Automation.

Note that the Automation referenced by {AutomationId} must be of the appropriate type of the object referenced by {IdToEnroll}.

If the enrollment is successful, ie. the object is enrolled, or is already enrolled and active in the Automation, details about the AutomationEnrolled object representing this will be returned. Otherwise an error message will be given instead.
Example Request
POST /automations/095faaed-d373-4739-82e5-7b86f553a865/enroll/4f14aabe-c2ab-4ffd-8b25-454408ff98ee
Example Result
{
Id: "d144068c-d0d7-46db-8c36-d9ae4683e276"
EnrolledId: "4f14aabe-c2ab-4ffd-8b25-454408ff98ee"
CurrentStepId: "00000000-0000-0000-0000-000000000000"
CurrentStepStartedDate: "1753-01-01 00:00:00.000000"
NextProcessingDate: "1753-01-01 00:00:00.000000"
StartedById: "100d8049-d7c8-4a13-a363-a6dcff31b869"
StartedByType: "User"
StartedDate: "1753-01-01 00:00:00.000000"
Status: "Active"
}
Properties
Id
GUID. The unique identifier for this Automation
EnrolledId
GUID. Identifier referencing the Enrolled item in this Automation
CurrentStepId
GUID. Identifier referencing the Current Step in this Automation
CurrentStepStartedDate
The Date and Time in UTC when the Current Step was started. Format: YYYY-MM-DD HH:mm:ss.ffffff
StartedById
GUID. Identifier referencing the Person who started this this Automation
StartedByType
The type that started the Automation. Either Automation, User or ProcessEvent
StartedDate
The Date and Time in UTC when the Automation was started. Format: YYYY-MM-DD HH:mm:ss.ffffff
 
PUT /automations/{AutomationId}/unenroll/{IdOfEnrolled}
This endpoint allows you to unenroll a Prospect, Opportunity, AccountGrowthItem, Ticket, Person or Company from an Automation.
Example Request
PUT /automations/095faaed-d373-4739-82e5-7b86f553a865/unenroll/4f14aabe-c2ab-4ffd-8b25-454408ff98ee
Example Result
{
success: "true"
}
 
DELETE /automations/{AutomationId}/enrolled/{EnrolledId}
Deletes an Enrolled from an Automation in Membrain. Note that the Enrolled MUST belong to the automation provided in the URL.

Unlike /enroll and /unenroll this function will outright delete the AutomationEnrolled database entry allowing immediate re-enrollment if desired.

Also do note that this endpoint requires the Id of the AutomationEnrolled entry which was returned when you called /enroll and does NOT accept the id of the actually enrolled Prospect, Opportunity AccountGrowthItem, Ticket, Company or Contact.
Example Request
DELETE /automations/7af5fd1d-95b0-4564-a0d2-45e2c3b35f4b/enrolled/23865d40-591b-4ca7-b38f-edd8785a35bb
Example Result
{
success: "true"
}
 
GET /products/
Fetches a list of all Products.
Example Request
GET /products/
Example Result
[ // Array with 2 elements
// 0:
{
Name: "Licenses"
Description: ""
Price: "99.5"
PriceCurrency: "740d4e5d-0006-4dfe-b2e3-a7a8ffd5509d"
PriceType: "Recurring"
PriceInterval: "1"
TermLength: "12"
SelectedFields: ""
Discount: "12"
DiscountType: "Percentage"
Cost: "10"
Id: "bc6ad64f-2ac5-404a-86f2-985c88c4b5f1"
CreatedById: "16c4d685-21a0-481b-870c-b229c252e8d1"
CreatedByName: "Donald Duck"
CreatedDate: "2018-11-06 07:25:10.123456"
ChangedById: "16c4d685-21a0-481b-870c-b229c252e8d1"
ChangedByName: "Donald Duck"
ChangedDate: "2019-10-01 05:38:12.123456"
}
// 1:
{
Name: "Services"
Description: ""
Price: "500"
PriceCurrency: "9f8525d9-4c58-497c-a08f-b1d19a9ea854"
PriceType: "Fixed"
PriceInterval: "0"
TermLength: "0"
SelectedFields: "Name,Description,Quantity,PriceType,Price"
Discount: "0"
DiscountType: ""
Cost: "20"
Id: "da28b6bc-234a-4c44-ba98-1ac4d55cfe9f"
CreatedById: "16c4d685-21a0-481b-870c-b229c252e8d1"
CreatedByName: "Donald Duck"
CreatedDate: "2018-11-06 07:28:12.123456"
ChangedById: "16c4d685-21a0-481b-870c-b229c252e8d1"
ChangedByName: "Donald Duck"
ChangedDate: "2019-10-01 05:38:22.123456"
}
]
Properties
Id
GUID. The unique identifier for this Product
Name
The Name of this Product
Description
Description of this Product
Price
Default Price for the Product
PriceCurrency
Guid. Identifier referencing the Currency that the Price of this Product is given in
PriceType
Either "Recurring" or "Fixed"
PriceInterval
At what interval the Price is recurring, only applies when "PriceType" is "Recurring".
Options:
1D = Every Day,
1WD = Every Week Day,
1W = Every Week,
1M = Every Month,
2M = Every 2 Months,
3M = Every 3 Months,
6M = Every 6 Months,
12M = Every 12 Months
TermLength
The length of the Term for the Product, only applies when "PriceType" is "Recurring".
SelectedFields
Comma separated String that indicates which fields will be shown in the Membrain UI when adding and configuring instances of a Product. Available fields: "Name, Description, Price, PriceType, Quantity, RevenueDate, Cost, Discount"
Discount
Default Discount of the Product. Either given in percent or an absolute value in the Product PriceCurrency
DiscountType
Either "Absolute" or "Percentage". Representing if the discount is in Percent or an Absolute value in the Currency of the Price.
Cost
Default Cost of the Product. Always given in the PriceCurrency.
CreatedById
Guid. Identifier referencing the User that created this item
CreatedByName
Name of the User that created this item
CreatedDate
The Date and Time in UTC when this item was created, Format: YYYY-MM-DD HH:mm:ss.ffffff
ChangedById
Guid. Identifier referencing the User that last changed this item
ChangedByName
Name of the User that last changed this item
ChangedDate
The Date and Time in UTC when this item was last changed, Format: YYYY-MM-DD HH:mm:ss.ffffff
DeletedById
Guid. Identifier referencing the User that deleted this item NOTE: this field is ONLY available if the item is marked as deleted.
DeletedByName
Name of the User that deleted this item. NOTE: this field is ONLY available if the item is marked as deleted.
DeletedDate
The Date and Time in UTC when this item was deleted, Format: YYYY-MM-DD HH:mm:ss.ffffff NOTE: this field is ONLY available if the item is marked as deleted.
 
GET /products/{Id}
Read data related to a Product entry in the database, requires a valid Id (GUID) for the Product you want to read.
Example Request
GET /products/b4b7c0fc-8cc9-4ad1-af72-f74db1925250
Example Result
{
Name: "PartnerIP - Bento"
Description: ""
Price: "55"
PriceCurrency: "756d4e5d-0006-4abe-b2e3-a7a8ffd5509d"
PriceType: "Recurring"
PriceInterval: "1"
TermLength: "9"
SelectedFields: "Name,Description,Quantity,PriceType,RevenueDate"
Discount: "12"
DiscountType: "Percentage"
Cost: "10"
Id: "b4b7c0fc-8cc9-4ad1-af72-f74db1925250"
CreatedById: "98fc1d6g-h686-469e-8221-fa86dd6f7e9a"
CreatedByName: "Juliet"
CreatedDate: "2019-08-13 04:57:00.123456"
ChangedById: "a274a55e-26ac-4072-84e4-eeb603afe453"
ChangedByName: "Romeo"
ChangedDate: "2019-08-13 10:13:00.123456"
}
Properties
Id
GUID. The unique identifier for this Product
Name
The Name of this Product
Description
Description of this Product
Price
Default Price for the Product
PriceCurrency
Guid. Identifier referencing the Currency that the Price of this Product is given in
PriceType
Either "Recurring" or "Fixed"
PriceInterval
At what interval the Price is recurring, only applies when "PriceType" is "Recurring".
Options:
1D = Every Day,
1WD = Every Week Day,
1W = Every Week,
1M = Every Month,
2M = Every 2 Months,
3M = Every 3 Months,
6M = Every 6 Months,
12M = Every 12 Months
TermLength
The length of the Term for the Product, only applies when "PriceType" is "Recurring".
SelectedFields
Comma separated String that indicates which fields will be shown in the Membrain UI when adding and configuring instances of a Product. Available fields: "Name, Description, Price, PriceType, Quantity, RevenueDate, Cost, Discount"
Discount
Default Discount of the Product. Either given in percent or an absolute value in the Product PriceCurrency
DiscountType
Either "Absolute" or "Percentage". Representing if the discount is in Percent or an Absolute value in the Currency of the Price.
Cost
Default Cost of the Product. Always given in the PriceCurrency.
CreatedById
Guid. Identifier referencing the User that created this item
CreatedByName
Name of the User that created this item
CreatedDate
The Date and Time in UTC when this item was created, Format: YYYY-MM-DD HH:mm:ss.ffffff
ChangedById
Guid. Identifier referencing the User that last changed this item
ChangedByName
Name of the User that last changed this item
ChangedDate
The Date and Time in UTC when this item was last changed, Format: YYYY-MM-DD HH:mm:ss.ffffff
DeletedById
Guid. Identifier referencing the User that deleted this item NOTE: this field is ONLY available if the item is marked as deleted.
DeletedByName
Name of the User that deleted this item. NOTE: this field is ONLY available if the item is marked as deleted.
DeletedDate
The Date and Time in UTC when this item was deleted, Format: YYYY-MM-DD HH:mm:ss.ffffff NOTE: this field is ONLY available if the item is marked as deleted.
 
POST /products/
Create a new Product in Membrain.

All Products require at minimum Name and PriceType.
Example Request
POST /products/
{
Name: "Product 1"
PriceType: "Fixed"
}
Example Result
{
Id: "b62b4625-a571-42cd-b511-3b20f4e71dfg"
Name: "Product 1"
PriceType: "Fixed"
}
Properties
Id
GUID. The unique identifier for this Product. (Return value only)
Name
The Name of this Product
Description
Description of this Product
Price
Default Price for the Product
PriceCurrency
The Currency that the Price of this Product is given in. Can be given as the Currency identifier GUID, or the Currency Code of the Currency.
PriceType
Either "Recurring" or "Fixed"
PriceInterval
At what interval the Price is recurring, only applies when "PriceType" is "Recurring".
Options:
1D = Every Day,
1WD = Every Week Day,
1W = Every Week,
1M = Every Month,
2M = Every 2 Months,
3M = Every 3 Months,
6M = Every 6 Months,
12M = Every 12 Months
TermLength
The length of the Term for the Product, only applies when "PriceType" is "Recurring".
SelectedFields
Comma separated String that indicates which fields will be shown in the Membrain UI when adding and configuring instances of a Product. Available fields: "Name, Description, Price, PriceType, Quantity, RevenueDate, Cost, Discount"
Discount
Default Discount of the Product. Either given in percent or an absolute value in the Product PriceCurrency
DiscountType
Either "Absolute" or "Percentage". Representing if the discount is in Percent or an Absolute value in the PriceCurrency.
Cost
Default Cost of the Product. Always given in the PriceCurrency.
 
PUT /products/{Id}
Update a Product in Membrain.

All Products require at minimum Name and PriceType.
Example Request
PUT /products/2f680877-feb2-4814-968a-6831cc34567a
{
Name: "Product name"
Description: "Description"
Price: "500"
PriceCurrency: "USD"
PriceType: "Fixed"
PriceInterval: ""
TermLength: ""
SelectedFields: ""
}
Example Result
{
Id: "2f680877-feb2-4814-968a-6831cc34567a"
Name: "Product name"
Description: "Description"
Price: "500"
PriceCurrency: "92281d4a-f2ca-4d80-8820-1d7f7906415a"
PriceType: "Fixed"
PriceInterval: ""
TermLength: ""
SelectedFields: ""
}
Properties
Id
GUID. The unique identifier for this Product. (Return value only)
Name
The Name of this Product
Description
Description of this Product
Price
Default Price for the Product
PriceCurrency
The Currency that the Price of this Product is given in. Can be given as the Currency identifier GUID, or the Currency Code of the Currency.
PriceType
Either "Recurring" or "Fixed"
PriceInterval
At what interval the Price is recurring, only applies when "PriceType" is "Recurring".
Options:
1D = Every Day,
1WD = Every Week Day,
1W = Every Week,
1M = Every Month,
2M = Every 2 Months,
3M = Every 3 Months,
6M = Every 6 Months,
12M = Every 12 Months
TermLength
The length of the Term for the Product, only applies when "PriceType" is "Recurring".
SelectedFields
Comma separated String that indicates which fields will be shown in the Membrain UI when adding and configuring instances of a Product. Available fields: "Name, Description, Price, PriceType, Quantity, RevenueDate, Cost, Discount"
Discount
Default Discount of the Product. Either given in percent or an absolute value in the Product PriceCurrency
DiscountType
Either "Absolute" or "Percentage". Representing if the discount is in Percent or an Absolute value in the PriceCurrency.
Cost
Default Cost of the Product. Always given in the PriceCurrency.
 
DELETE /products/{Id}
Deletes a Product from Membrain. NOTE: The Product will remain on any Opportunities where it is refereced via an OpportunityProduct entry, but will not be possible to add to new Opportunities.
Example Request
DELETE /products/7af5fd1d-95b0-4564-a0d2-45e2c3b35f4b
Example Result
{
success: "true"
}
 
GET /opportunityProducts/
Get a list of OpportunityProducts (Sales Project Products). Use these query strings to filter the list:
Parameters
You can optionally provide any of the following query string parameters to filter the returned results.
ProductIds
Comma separated list of Product entry ids, GUIDs
OpportunityIds
Comma separated list of Opportunity entry ids
CreatedFromDate
Given as a date and time in UTC in the format YYYY-MM-DD HH:mm:ss.ffffff where HH:mm:ss.ffffff is optional, default to 00:00:00.000000. Must be provided with CreatedToDate.
CreatedToDate
Given as a date and time in UTC in the format YYYY-MM-DD HH:mm:ss.ffffff where HH:mm:ss.ffffff is optional, default to 23:59:59.999999. Must be provided with CreatedFromDate.
ChangedFromDate
Given as a date and time in UTC in the format YYYY-MM-DD HH:mm :ss.ffffff where HH:mm:ss.ffffff is optional, default to 00:00:00.000000. Must be provided with ChangedToDate.
ChangedToDate
Given as a date and time in UTC in the format YYYY-MM-DD HH:mm:ss.ffffff where HH:mm:ss.ffffff is optional, default to 23:59:59.999999. Must be provided with ChangedFromDate.
Return
String with a comma separated list of fields to return. It is recommended that you use this for most calls as reading fewer fields will decrease download sizes and make calls complete faster.
All Search* requests are limited to returning a maximum of 100 entries, use the From and To tags directly under the Command node to select which subset of data to return. Each result always includes a Count node with the number of matching entries for the search criteria specified.
Example Request
GET /opportunityProducts/?CreatedFromDate=2020-01-01 08:35:12.123345&CreatedToDate=2020-01-31
Example Result
{
count: "1"
from: "0"
to: "1"
items: [ // Array with 1 elements
{ // 0
Name: "PartnerIP - Prima"
Description: ""
OpportunityId: "a9f86f81-f123-4cd0-bcad-9793957c9e58"
Price: "450"
PriceCurrency: "18c69917-efea-496e-87a8-1234098d70a9"
PriceInterval: "0"
PriceType: "Fixed"
ProductId: "55be332c-60ec-40e8-0000-cdfe271b4439"
Quantity: "5"
TermLength: "12"
TermStartDate: "1753-01-01 00:00:00.000000"
Id: "68a973d6-7b03-403f-b6da-aef2cc6e0339"
CreatedById: "0bbfce05-1d2c-666b-a3a0-154ea572e6b0"
CreatedByName: "Ed Pacino"
CreatedDate: "2018-12-03 08:23:21.123456"
ChangedById: "0bbfce05-1a5g-405b-a3a0-154ea572e6b0"
ChangedByName: "Ed Pacino"
ChangedDate: "2018-12-03 08:23:15.123456"
Discount: "12"
DiscountType: "Percentage"
Cost: "20"
}
]
}
Properties
Id
GUID. The unique identifier for this Product
Name
The Name of this Product
Description
The Description of the Product
OpportunityId
GUID. Identifier reference for the Sales Project this Product is in.
Price
Price of the Product
PriceCurrency
The Currency that the Price of this Product is given in. Can be given as the Currency identifier GUID, or the Currency Code of the Currency.
PriceType
Either "Recurring" or "Fixed"
PriceInterval
At what interval the Price is recurring, only applies when "PriceType" is "Recurring".
Options:
1D = Every Day,
1WD = Every Week Day,
1W = Every Week,
1M = Every Month,
2M = Every 2 Months,
3M = Every 3 Months,
6M = Every 6 Months,
12M = Every 12 Months
ProductId
GUID. Identifier reference for the a Product entry in the database.
Quantity
The Quantity of the Product
TermLength
The length of the Term for the Product, only applies when "PriceType" is "Recurring".
TermStartDate
The Date and Time in UTC when the recurrence starts, only applies when "PriceType" is recurring. Format: YYYY-MM-DD HH:mm:ss.ffffff
Discount
Discount of the Product. Either given in percent or an absolute value in the Product PriceCurrency
Discount Type
Either "Absolute" or "Percentage". Representing if the discount is in Percent or an Absolute value in the PriceCurreny.
Cost
Default Cost of the Product. Always given in the PriceCurrency.
CreatedById
GUID. Identifier referencing the User that created this item
CreatedByName
Name of the User that created this item
CreatedDate
Date when this item was created, Given in UTC in the format "YYYY-MM-DD HH:mm:ss.ffffff"
ChangedById
GUID. Identifier referencing the User that last changed this item
ChangedByName
Name of the User that last changed this item
ChangedDate
Date when this item was last changed. Given in UTC in the format "YYYY-MM-DD HH:mm:ss.ffffff"
 
GET /opportunityProducts/{Id}
Read data related to an OpportunityProduct (Sales Project Product) entry in the database, requires a valid Id (GUID) for the OpportunityProduct you want to read.
Example Request
GET /opportunityProducts/dc30e5d7-09a7-4f64-89cf-0668ebaf30a9
Example Result
{
Name: "PartnerIP - Elsa"
Description: ""
OpportunityId: "1538cc7d-1169-4b25-95fd-87b38b003075"
Price: "450"
PriceCurrency: "90c69917-efea-496e-87a8-7152098d70a9"
PriceInterval: "0"
PriceType: "Fixed"
ProductId: "88be332c-60ec-40e8-8066-cdfe271b4439"
Quantity: "7"
TermLength: "12"
TermStartDate: "1753-01-01 00:00:00.000000"
Id: "dc30e5d7-09a7-4f64-89cf-0668ebaf30a9"
CreatedById: "3357bea5-def8-5678-a18f-c589e7e320a2"
CreatedByName: "Meryl Mela"
CreatedDate: "2018-10-17 17:42:10.123456"
ChangedById: "3357bea5-def8-4207-a18f-c098e7e320a2"
ChangedByName: "Meryl Mela"
ChangedDate: "2018-10-17 17:42:10.123456"
Discount: "12"
DiscountType: "Percentage"
Cost: "20"
}
Properties
Id
GUID. The unique identifier for this Product
Name
The Name of this Product
Description
The Description of the Product
OpportunityId
GUID. Identifier reference for the Sales Project this Product is in.
Price
Price of the Product
PriceCurrency
The Currency that the Price of this Product is given in. Can be given as the Currency identifier GUID, or the Currency Code of the Currency.
PriceType
Either "Recurring" or "Fixed"
PriceInterval
At what interval the Price is recurring, only applies when "PriceType" is "Recurring".
Options:
1D = Every Day,
1WD = Every Week Day,
1W = Every Week,
1M = Every Month,
2M = Every 2 Months,
3M = Every 3 Months,
6M = Every 6 Months,
12M = Every 12 Months
ProductId
GUID. Identifier reference for the a Product entry in the database.
Quantity
The Quantity of the Product
TermLength
The length of the Term for the Product, only applies when "PriceType" is "Recurring".
TermStartDate
The Date and Time in UTC when the recurrence starts, only applies when "PriceType" is recurring. Format: YYYY-MM-DD HH:mm:ss.ffffff
Discount
Discount of the Product. Either given in percent or an absolute value in the Product PriceCurrency
Discount Type
Either "Absolute" or "Percentage". Representing if the discount is in Percent or an Absolute value in the PriceCurreny.
Cost
Default Cost of the Product. Always given in the PriceCurrency.
CreatedById
GUID. Identifier referencing the User that created this item
CreatedByName
Name of the User that created this item
CreatedDate
Date when this item was created, Given in UTC in the format "YYYY-MM-DD HH:mm:ss.ffffff"
ChangedById
GUID. Identifier referencing the User that last changed this item
ChangedByName
Name of the User that last changed this item
ChangedDate
Date when this item was last changed. Given in UTC in the format "YYYY-MM-DD HH:mm:ss.ffffff"
 
POST /opportunityProducts/
Create an Opportunity Product entry in Membrain.

All Opportunity Products require at minimum OpportunityId and ProductId.

To get a list of available ProductId's use GET /products/

To find an appropriate OpportunityId, use GET /opportunities/

NOTE: if you want the Opportunity Value to be based on the OpportunityProduct entries, do not forget to also call PUT /opportunities/{Id}/updateOpportunityValueBasedOnOpportunityProducts.
Example Request
POST /opportunityProducts/
{
Name: "Opportunity A"
Price: "600"
ProductId: "b4b8h0fc-8bb7-4ad1-af72-f74db1925250"
OpportunityId: "9b5e45a7-53a8-4944-8f3a-8a181b208baa"
Quantity: "1"
}
Example Result
{
Id: "64453186-8ac8-20f2-bbc8-6af860c4a2dd"
Name: "Opportunity A"
Price: "600"
ProductId: "b4b7c0fc-8ef7-4ad1-af72-f74db1925250"
OpportunityId: "9b4r67a7-53a8-4944-8f3a-8a181b208baa"
Quantity: "1"
}
Properties
Id
GUID identifier for the OpportunityProduct (Return value only).
Name
Name describing this Opportunity Product entry, typically copied from the referenced Product.
Description
The Description of the Product
Price
Decimal value given as NNNN.NN. For 'Fixed' PriceType this is the full price of one unit, for 'Recurring' PriceType this is the price applied to each billing interval.
PriceCurrency
GUID representing the Currency that the Price is given in
ProductId
GUID. Identifier reference for the a Product entry in the database.
OpportunityId
GUID. Identifier reference for the Sales Project this Product is in.
Quantity
The Quantity of the Product
PriceInterval
At what interval the Price is recurring, only applies when "PriceType" is "Recurring".
Options:
1D = Every Day,
1WD = Every Week Day,
1W = Every Week,
1M = Every Month,
2M = Every 2 Months,
3M = Every 3 Months,
6M = Every 6 Months,
12M = Every 12 Months
PriceType
Either "Recurring" or "Fixed"
TermLength
The length of the Term for the Product, only applies when "PriceType" is "Recurring".
TermStartDate
The Date and Time in UTC when the recurrence starts, only applies when "PriceType" is recurring. Format: YYYY-MM-DD HH:mm:ss.ffffff
Discount
Discount of the Product. Either given in percent or an absolute value in the Product PriceCurrency
Discount Type
Either "Absolute" or "Percentage". Representing if the discount is in Percent or an Absolute value in the PriceCurreny.
Cost
Default Cost of the Product. Always given in the PriceCurrency.
 
PUT /opportunityProducts/{Id}
Update an Opportunity Product entry in Membrain.

All Opportunity Products require at minimum OpportunityId and ProductId.

To get a list of available ProductId's use GetProducts

To find an appropriate OpportunityId, use SearchOpportunities

NOTE: if you want the Opportunity Value to be based on the OpportunityProduct entries, do not forget to also call UpdateOpportunityValueBasedOnOpportunityProducts.
Example Request
PUT /opportunityProducts/756d4e5d-0006-4abe-b2e3-a7a8ffd5509d
{
Name: "Product Name"
Description: ""
OpportunityId: ""
Price: "500"
PriceCurrency: ""
PriceInterval: ""
PriceType: ""
ProductId: ""
Quantity: ""
TermLength: ""
TermStartDate: ""
}
Example Result
{
Id: "756d4e5d-0006-4abe-b2e3-a7a8ffd5509d"
Name: "Product Name"
Description: ""
OpportunityId: ""
Price: "500"
PriceCurrency: ""
PriceInterval: ""
PriceType: ""
ProductId: ""
Quantity: ""
TermLength: ""
TermStartDate: ""
}
Properties
Name
Name describing this Opportunity Product entry, typically copied from the referenced Product.
Description
Optional description.
OpportunityId
GUID reference to an existing Opportunity entry.
Price
Decimal value given as NNNN.NN. For 'Fixed' PriceType this is the full price of one unit, for 'Recurring' PriceType this is the price applied to each billing interval.
PriceCurrency
Currency to use for the Price, must be supplied. To get a list of currencies use GetCurrencies. Returned in GUID form but can be written either as the GUID of a Currency entry OR the CurrencyCode or a Currency entry
PriceInterval
At what interval the Price is recurring, only applies when "PriceType" is "Recurring". Given in months.
PriceType
Either 'Fixed' or 'Recurring'.
ProductId
A reference to an existing Product entry in the database.
Quantity
Quantity, has to be above 0
TermLength
For items with the Recurring PriceType this is the length of the term given in months.
TermStartDate
Start date for the recurring billing term, or alternatively, the revenue date for a specific entry. Can be left empty to align with the Opportunity closing date
Discount
Discount of the Product. Either given in percent or an absolute value in the Product PriceCurrency
Discount Type
Either "Absolute" or "Percentage". Representing if the discount is in Percent or an Absolute value in the PriceCurreny.
Cost
Cost of the Product. Always given in the PriceCurrency.
 
DELETE /opportunityProducts/{Id}
Deletes a Product from an Opportunity in Membrain

NOTE: if you want the Opportunity Value to be based on the OpportunityProduct entries, do not forget to also call PUT /opportunities/{Id}/updateOpportunityValueBasedOnOpportunityProducts.
Example Request
DELETE /opportunityProducts/7af5fd1d-95b0-4564-a0d2-45e2c3b35f4b
Example Result
{
success: "true"
}
 
PUT /opportunities/{Id}/updateOpportunityValueBasedOnOpportunityProducts
Calling this function will update the Value of an Opportunity entry based on any OpportunityProduct entries that may or may not exist for said Opportunity.

This command should be called after any WriteOpportunityProduct or DeleteOpportunityProduct call IF you want the main Opportunity value to be based entirely on the OpportunityProduct data.

It is recommended that if this call be made, make it in the same request as any WriteOpportunityProduct or DeleteOpportunityProduct calls for best performance.
Example Request
PUT /opportunities/756d4e5d-0006-4abe-b2e3-a7a8ffd5509d/updateOpportunityValueBasedOnOpportunityProducts
Example Result
{
Id: "756d4e5d-0006-4abe-b2e3-a7a8ffd5509d"
ValueInCurrency: "5000"
ValueCurrencyId: "98fc1d6g-h686-469e-8221-fa86dd6f7e9a"
ValueCurrencyCode: "USD"
ValueCurrencyName: "US Dollars"
}
Properties
ValueInCurrency
The value that was calculated
ValueCurrencyId
GUID identifier for the currency that was assigned for the Value field
ValueCurrencyCode
Currency Code for the currency that was assigned for the Value field
ValueCurrencyName
Name of the currency that was assigned for the Value field
 
GET /customMetrics/
Fetches a list of all Custom Metrics. Sorted by Name.
Example Request
GET /customMetrics/
Example Result
[ // Array with 3 elements
// 0:
{
Id: "42b562ef-196e-46fc-b6c0-2f7d31161e89"
Name: "My Daily Metric"
Resolution: "Daily"
Type: "Number"
Category: "Outcomes"
}
// 1:
{
Id: "a137d4f9-2e18-4dcb-cdca-bb82d841c6c3"
Name: "Weekly Metric"
Resolution: "Weekly"
Type: "Number"
Category: "Effectiveness"
}
// 2:
{
Id: "444d1084-cd13-4a25-1e42-3b039e4e8d63"
Name: "Cold Calls"
Resolution: "Monthly"
Type: "Number"
Category: "Activities"
}
]
Properties
Id
GUID. The unique identifier for the Custom Metric.
Name
The name of the Custom Metric.
Resolution
Daily, Weekly or Monthly.
Type
Type of Custom Metric. Currently only supporting "Number".
Category
Category name (i.e. Outcomes, Effectiveness or Activities)
 
GET /customMetricDatas/
Fetches a list of all Custom Metric Datas. Use these query strings to filter the list:
Parameters
CustomMetricId
Comma separated list of GUIDs referencing Custom Metrics.
ForId
Comma separated list of GUIDs referencing Users.
FromDate
Given as a date in the format YYYY-MM-DD. Must be provided with ToDate.
ToDate
Given as a date in the format YYYY-MM-DD. Must be provided with FromDate.
Example Request
GET /customMetricDatas/?ForId=9b8ab8f5-51da-1d32-266f-bc027632736e
Example Result
[ // Array with 2 elements
// 0:
{
Id: "1597aef3-da1a-4cba-9636-7ba3267bf01f"
CustomMetricId: "18c69917-efea-496e-1a42-ddfe331b1a6c"
ForId: "9b8ab8f5-51da-1d32-266f-bc027632736e"
Data: [ // Array with 3 elements
{ // 0
Date: "2023-08-01"
Value: "10"
}
{ // 1
Date: "2023-10-01"
Value: "13"
}
{ // 2
Date: "2023-11-01"
Value: "8"
}
]
}
// 1:
{
Id: "e3b08186-b8a3-4479-9bb8-01bfccb65d49"
CustomMetricId: "211e0082-da22-3a28-9f49-3b019e4e855"
ForId: "9b8ab8f5-51da-1d32-266f-bc027632736e"
Data: [ // Array with 3 elements
{ // 0
Date: "2023-08-01"
Value: "5"
}
{ // 1
Date: "2023-08-02"
Value: "4"
}
{ // 2
Date: "2023-08-03"
Value: "5"
}
]
}
]
Properties
Id
GUID. The unique identifier for the Custom Metric Data.
CustomMetricId
GUID. The unique identifier for the related Custom Metric.
ForId
GUID. The unique identifier for the related User Id.
Data
Array of Custom Metric Data values with corresponding date in the YYYY-MM-DD format.
 
PUT /customMetricDatas/{CustomMetricId}/{ForId}
Update Custom Metric Datas in Membrain.

All Custom Metric Datas requires a Date and a Value.
Example Request
PUT /customMetricDatas/18c69917-efea-496e-1a42-ddfe331b1a6c/9b8ab8f5-51da-1d32-266f-bc027632736e
[ // Array with 2 elements
// 0:
{
Date: "2023-08-01"
Value: "20"
}
// 1:
{
Date: "2023-09-01"
Value: "30"
}
]
Example Result
{
success: "true"
}
 
DELETE /customMetricDatas/{CustomMetricId}/{ForId}
Deletes all Custom Metric Datas from the Custom Metric for the specified User.
Example Request
DELETE /customMetricDatas/7af5fd1d-95b0-4564-a0d2-45e2c3b35f4b/9b8ab8f5-51da-1d32-266f-bc027632736e
Example Result
{
success: "true"
}
 
POST /batch/
The batch API end point can be used to run several other API commands at once.

You can run most API calls, up to 10 per call, via this function. You however cannot run search calls where the call would return a paged list such as for example GET /companies/.

One call to /batch/ counts as a single API call towards your rate limits, so in ideal cases you get an effective 10x modifier.

Note that each individual sub call can succeed or fail individually. In rare cases if a system error occurs and you get a root error node, all calls will have failed.
Example Request
POST /batch/
[ // Array with 4 elements
// 0:
{
Command: "GET /companies/0ac0805c05b541429ac43fa1d7213cb9?Return=Id,Name"
}
// 1:
{
Command: "GET /products/"
}
// 2:
{
Command: "GET /customFields/"
}
// 3:
{
Command: "POST /companies/"
Data:
{
Name: "New Company"
}
}
]
Example Result
[ // Array with 4 elements
// 0:
{
Command: "GET /companies/0ac0805c05b541429ac43fa1d7213cb9"
Success: "true"
Result:
{
Id: "0ac0805c-05b5-4142-9ac4-3fa1d7213cb9"
Name: "Some Company Name"
}
}
// 1:
{
Command: "GET /products/"
Success: "true"
Result:
{ }
}
// 2:
{
Command: "GET /customFields/"
Success: "true"
Result:
{ }
}
// 3:
{
Command: "POST /companies/"
Success: "true"
Result:
{ }
}
]