PlanMill API Documentation version 1.5
Introduction to PlanMill API 1.5
PlanMill REST API 1.5 enables developers to access some of the core functionality of PlanMill CRM, project management, and ERP products.
Getting started with PlanMill API 1.5
Please read https://github.com/planmill/api/wiki/Getting-started
The API endpoint can be found in your PlanMill instance behind a URL like shown here:
https://{server}/{customer_instance}/api/{api_version}
Where 'server' and 'customer_instance' are replaced by the server address and customer instance name. For example, if your instance name is "abc" and it is hosted on online.planmill.com, the API version 1.5 endpoint would be:
https://online.planmill.com/abc/api/1.5
Recent changes
See https://help.planmill.com/help/release-notes
Other information
Read more in our wiki https://github.com/planmill/api/wiki
Check open issues or report a new https://github.com/planmill/api/issues
Clone us in Github https://github.com/planmill/api.git
Refer https://github.com/planmill/api/wiki/WebHooks for how to register hooks
/absences
Collection of available absences in PlanMill. See absences/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
Get a list of absences. See absences/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
Add a new absence to PlanMill. See absences/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
get /absences
Get a list of absences. See absences/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
Query Parameters
- interval?: (string)
Interval type, e.g. start, finish, created, or modified. It is used in combination with intervalstart or intervalfinish
- intervalstart?: (string)
Start date of the interval in UTC format, intervalfinish required
Example:
2019-03-01T00:00:00.000+0200
- intervalfinish?: (string)
Finish date of the interval in UTC format, intervalstart required
Example:
2019-03-01T00:00:00.000+0200
- rowcount?: (integer - minimum: 1)
It limits the result set amount to the specified limit to avoid API call to return too many records. Default row count is 100
- nextrows?: (integer)
The number of the next starting row. It is dependent on rowcount. For example, for total 250 items, if rowcount is 100 and nextrows is 101, it return items 101-201
- order?: (integer)
Orders the results in ascending or descending order. 0=Ascending and 1=Descending. It is used in combination with sort
- sort?: (string)
Sorts the results using string that is a JSON attribute
HTTP status code 200
Body
Media type: application/json
Type: array of absence
Items: absence
- absenceType: (integer)
Type of an absence
- description: (union of string or nil)
Description of an absence
- finish: (datetime)
Finish date of an absence
- person: (integer)
Absentee and user of a system
- start: (datetime)
Start date of an absence
- vacationYear: (union of integer or nil)
Vacation year of the user
- accepterPerson: (union of integer or nil)
Superior of user who accepts an absence
- interruptionDate: (union of string or nil)
Interruption date of an absence
- vacationLength: (integer)
Length of an absence represented in minutes
- project: (integer)
Id of absence parent in the task hierarchy
- id: (integer)
Internal ID of an absence
- status: (union of integer or nil)
Status of an absence
- substitutePerson: (union of integer or nil)
Superior of user who accepts an absence when actual superior of user is not available
- created: (datetime)
Creation date of an absence
- modified: (datetime)
Modification date of an absence
Example:
[
{
"accepterPerson": 2850572,
"interruptionDate": null,
"created": "2015-09-07T11:16:40.807+0300",
"start": "2016-04-07T11:17:00.000+0300",
"project": 2850582,
"description": "sick leave",
"vacationYear": null,
"vacationLength": 450,
"person": 2850572,
"absenceType": 1010,
"modified": "2015-09-07T11:16:40.807+0300",
"finish": "2016-04-07T11:17:00.000+0300",
"id": 2850600,
"substitutePerson": null,
"status": 20
},
{
"accepterPerson": 604564,
"interruptionDate": null,
"created": "2012-02-03T13:52:47.503+0200",
"start": "2012-03-26T00:00:00.000+0300",
"project": 2691515,
"description": "unpaid holiday",
"vacationYear": null,
"vacationLength": 450,
"person": 2557769,
"absenceType": 1060,
"modified": "2012-02-03T13:53:11.337+0200",
"finish": "2012-03-26T00:00:00.000+0300",
"id": 2803661,
"substitutePerson": null,
"status": 10
},
{
"accepterPerson": 2557769,
"interruptionDate": null,
"created": "2012-02-03T12:39:48.830+0200",
"start": "2012-03-16T00:00:00.000+0200",
"project": 2691515,
"description": "annual holiday",
"vacationYear": 2012,
"vacationLength": 3150,
"person": 604564,
"absenceType": 1000,
"modified": "2012-02-03T12:39:48.830+0200",
"finish": "2012-03-26T00:00:00.000+0200",
"id": 2803656,
"substitutePerson": null,
"status": 10
},
{
"accepterPerson": 2801981,
"interruptionDate": "2014-01-09T00:00:00.000+0200",
"created": "2014-01-09T14:15:00.290+0200",
"start": "2013-09-24T00:00:00.000+0300",
"project": 2691515,
"description": "sick leave by medical certificate",
"vacationYear": null,
"vacationLength": 32400,
"person": 2801981,
"absenceType": 1025,
"modified": "2014-01-09T14:17:18.343+0200",
"finish": "2014-01-09T00:00:00.000+0200",
"id": 2832618,
"substitutePerson": null,
"status": 40
}
]
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
post /absences
Add a new absence to PlanMill. See absences/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
Headers
- Content-Type: required(string - default: application/json;charset=UTF-8)
Example:
application/json;charset=UTF-8
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
Body
Media type: application/json
Type: object
Properties- absenceType: required(integer)
Type of an absence
- finish: required(datetime)
Finish date of an absence
- person: required(integer)
Absentee and user of a system
- start: required(datetime)
Start date of an absence
- description: (union of string or nil)
Description of an absence
- vacationYear: (union of integer or nil)
Vacation year of the user
- accepterPerson: (union of integer or nil)
Superior of user who accepts an absence
- interruptionDate: (union of string or nil)
Interruption date of an absence
- vacationLength: (integer)
Length of an absence represented in minutes
- project: (integer)
Id of absence parent in the task hierarchy
- status: required(union of integer or nil)
Status of an absence
- substitutePerson: (union of integer or nil)
Superior of user who accepts an absence when actual superior of user is not available
- created: (datetime)
Creation date of an absence
- modified: (datetime)
Modification date of an absence
Example:
{
"accepterPerson": 356,
"interruptionDate": null,
"start": "2021-09-07T00:00:00.000+0300",
"project": 459,
"description": "child care leave",
"vacationYear": null,
"vacationLength": 450,
"person": 356,
"absenceType": 1130,
"finish": "2021-09-08T00:00:00.000+0300",
"substitutePerson": null,
"status": 0
}
HTTP status code 201
Body
Media type: application/json
Type: object
Example:
{ "id" : 123456 }
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
Get meta information for absences. Includes resource's fields names and type and related filters
View details of a single meta.
get /absences/meta
View details of a single meta.
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
HTTP status code 200
Body
Media type: application/json
Type: object
Example:
{
"filters": [
{
"name": "freetextsearch",
"caption": ""
},
{
"name": "viewtemplate",
"caption": "View by",
"values": {
"All absences": "30",
"Absences to handle": "10",
"My absences": "0",
"My subordinates' absences": "20"
}
},
{
"name": "period",
"caption": "Period",
"values": {
"All": "0",
"Last 180 days": "16",
"This week": "30",
"This and next FY": "7",
"Last 14 days": "26",
"This and next month": "24",
"This and next week": "34",
"Next 30 days": "17",
"Next 180 days": "21",
"This FY": "5",
"Next FY": "6",
"This and last month": "25",
"This FQ": "1",
"Last month": "11",
"Last 30 days": "12",
"Last FY": "8",
"Today and tomorrow": "44",
"This and last week": "32",
"This and next FQ": "3",
"Last FQ": "4",
"Last 120 days": "15",
"This and last FY": "23",
"Last week": "31",
"This month": "9",
"Next 120 days": "20",
"Yesterday": "41",
"Last 60 days": "13",
"Next week": "33",
"Next 60 days": "18",
"Tomorrow": "43",
"Today": "40",
"Today and yesterday": "42",
"Next FQ": "2",
"Next month": "10",
"This & last FQ": "22",
"Last 90 days": "14",
"Next 90 days": "19"
}
},
{
"name": "person",
"caption": "Person",
"values": {
"All": "-1",
"Jim, Harris": "2752646",
"Sara, Johnson": "580283",
"Mike, Hike": "2828584"
}
},
{
"name": "accepterPerson",
"caption": "Acceptor",
"values": {
"All": "-1",
"Jim, Harris": "2752646",
"Sara, Johnson": "580283",
"Mike, Hike": "2828584"
}
},
{
"name": "absenceType",
"caption": "Absence type",
"values": {
"All": "-1",
"Military refresher": "1110",
"Paid holiday": "1070",
"Balance leave": "1090",
"Sick leave by medical certificate": "1025",
"Study leave (unpaid)": "1140",
"Annual holiday": "1000",
"Maternal leave (paid)": "1030",
"Overtime leave": "1080",
"Bonus holiday pay": "1100",
"Military leave": "1050",
"Sick leave": "1010",
"Paternal leave (paid)": "1180",
"Saved leave": "1165",
"Child care leave": "1130",
"Unpaid holiday": "1060",
"Other annual vacation": "1160"
}
},
{
"name": "status",
"caption": "Status",
"values": {
"All": "-1",
"Interrupted": "50",
"Preliminary": "0",
"Interruption accepted": "60",
"Ready for acceptance": "10",
"Completed": "40",
"Ongoing": "30",
"Rejected": "70",
"Cancelled": "80",
"Accepted": "20"
}
},
{
"name": "team",
"caption": "Primary team",
"values": {
"All": "-1",
"Sales Team": "481244",
"Consulting Team": "490066",
"R & D Team": "480530",
"Executive Team": "563642"
}
},
{
"name": "interval",
"calendar": "yyyy-MM-dd'T'HH:mm:ss.SSSZ",
"values": {
"Modified": "modfied",
"Start": "start",
"Ongoing": "ongoing",
"Finish": "finish",
"Accepted": "accepted",
"Created": "created"
}
}
],
"fields": {
"accepterPerson": {
"format": "text",
"caption": "Task.ResponsibleId"
},
"interruptionDate": {
"format": "shortdate",
"caption": "Interruption date"
},
"created": {
"format": "mediumdate",
"caption": "Created"
},
"modfied": {
"format": "mediumdate",
"caption": "Modified"
},
"start": {
"format": "mediumdateday",
"caption": "Start"
},
"project": {
"format": null,
"caption": ""
},
"description": {
"format": null,
"caption": ""
},
"vacationYear": {
"format": "text",
"caption": "Vacation year"
},
"vacationLength": {
"format": "day",
"caption": "Length"
},
"person": {
"format": "text",
"caption": "Assignment.PersonId"
},
"absenceType": {
"format": "Enumeration values.Task.Offduty",
"caption": "Absence type"
},
"finish": {
"format": "mediumdateday",
"caption": "Finish"
},
"id": {
"format": "text",
"caption": "Task.Id"
},
"substitutePerson": {
"format": "text",
"caption": "Substitute.Id"
},
"status": {
"format": "Enumeration values.Employee directory.Absences.Status",
"caption": "Status"
}
}
}
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
A single absence in PlanMill.
View details of a single absence. See absences/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
Update an existing resource absence to PlanMill. See absences/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
Remove a absence from PlanMill.
get /absences/{absence_id}
View details of a single absence. See absences/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- absence_id: required(string)
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- absenceType: (integer)
Type of an absence
- description: (union of string or nil)
Description of an absence
- finish: (datetime)
Finish date of an absence
- person: (integer)
Absentee and user of a system
- start: (datetime)
Start date of an absence
- vacationYear: (union of integer or nil)
Vacation year of the user
- accepterPerson: (union of integer or nil)
Superior of user who accepts an absence
- interruptionDate: (union of string or nil)
Interruption date of an absence
- vacationLength: (integer)
Length of an absence represented in minutes
- project: (integer)
Id of absence parent in the task hierarchy
- id: (integer)
Internal ID of an absence
- status: (union of integer or nil)
Status of an absence
Example:
{
"accepterPerson": 2850921,
"interruptionDate": null,
"start": "2015-09-07T00:00:00.000+0300",
"project": 2850931,
"description": "child care leave",
"vacationYear": null,
"vacationLength": 450,
"person": 2850921,
"absenceType": 1130,
"finish": "2015-09-07T00:00:00.000+0300",
"id": 2850933,
"status": 40
}
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
post /absences/{absence_id}
Update an existing resource absence to PlanMill. See absences/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- absence_id: required(string)
Headers
- Content-Type: required(string - default: application/json;charset=UTF-8 )
Example:
application/json;charset=UTF-8
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
Body
Media type: application/json
Type: object
Properties- absenceType: (integer)
Type of an absence
- description: (union of string or nil)
Description of an absence
- finish: (datetime)
Finish date of an absence
- person: (integer)
Absentee and user of a system
- start: (datetime)
Start date of an absence
- vacationYear: (union of integer or nil)
Vacation year of the user
- accepterPerson: (union of integer or nil)
Superior of user who accepts an absence
- interruptionDate: (union of string or nil)
Interruption date of an absence
- vacationLength: (integer)
Length of an absence represented in minutes
- project: (integer)
Id of absence parent in the task hierarchy
- status: (union of integer or nil)
Status of an absence
- substitutePerson: (union of integer or nil)
Superior of user who accepts an absence when actual superior of user is not available
- created: (datetime)
Creation date of an absence
- modified: (datetime)
Modification date of an absence
Example:
{
"accepterPerson": 356,
"interruptionDate": null,
"start": "2021-09-07T00:00:00.000+0300",
"project": 459,
"description": "child care leave",
"vacationYear": null,
"vacationLength": 450,
"person": 356,
"absenceType": 1130,
"finish": "2021-09-08T00:00:00.000+0300",
"substitutePerson": null,
"status": 0
}
HTTP status code 204
No HTTP body returned
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
delete /absences/{absence_id}
Remove a absence from PlanMill.
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- absence_id: required(string)
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
HTTP status code 204
No HTTP body returned
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
Get meta information for the updatable fields of the absence
View details of a single meta.
get /absences/{absence_id}/meta
View details of a single meta.
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- absence_id: required(string)
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
HTTP status code 200
Body
Media type: application/json
Type: object
Example:
{
"accepterPerson": {
"caption": "Acceptor",
"format": "int"
},
"interruptionDate": {
"calendar": "yyyy-MM-dd'T'HH:mm:ss.SSSZ",
"caption": "Interruption date",
"format": "string",
"maxlength": "10",
"values": null
},
"start": {
"calendar": "yyyy-MM-dd'T'HH:mm:ss.SSSZ",
"caption": "Start",
"format": "string",
"values": null
},
"project": {
"caption": "Project",
"values": {
"Absences 2011": "2691515"
},
"format": "int"
},
"description": {
"caption": "",
"format": "string",
"values": null
},
"vacationYear": {
"caption": "Vacation year",
"values": {
"-": ""
},
"format": "int"
},
"vacationLength": {
"caption": "",
"values": null
},
"person": {
"caption": "Person",
"values": {
},
"format": "int"
},
"absenceType": {
"caption": "Absence type",
"values": {
"Military refresher": "1110",
"Maternal leave (unpaid)": "1190",
"Sick leave due to child": "1020",
"Paid holiday": "1070",
"Balance leave": "1090",
"Sick leave by medical certificate": "1025",
"Paternal leave (unpaid)": "1040",
"-": "",
"Study leave (unpaid)": "1140",
"Annual holiday": "1000",
"Maternal leave (paid)": "1030",
"Layoff": "1120",
"Overtime leave": "1080",
"Bonus holiday pay": "1100",
"Military leave": "1050",
"Saved leave": "1165",
"Sick leave": "1010",
"Paternal leave (paid)": "1180",
"Child care leave": "1130",
"Unpaid holiday": "1060",
"Other annual vacation": "1160"
},
"format": "int",
"enumeration": "Enumeration values.Task.Absence offduty"
},
"finish": {
"calendar": "yyyy-MM-dd'T'HH:mm:ss.SSSZ",
"caption": "Finish",
"format": "string",
"values": null
},
"id": {
"caption": "",
"format": "int",
"values": null
},
"substitutePerson": {
"description": "Substitute for acceptance handling during my absence",
"caption": "Substitute",
"values": {
"Jim, Harris": "2752646",
"Sara, Johnson": "580283",
"Mike, Hike": "2828584"
},
"format": "int"
},
"status": {
"caption": "Status"
}
}
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
/accounts
Collection of available accounts in PlanMill. See accounts/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
Get a list of accounts. See accounts/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
Add a new account to PlanMill or update existing (if id is given). See accounts/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
get /accounts
Get a list of accounts. See accounts/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
Query Parameters
- rowcount: (integer - minimum: 1)
It limits the result set amount to the specified limit to avoid API call to return too many records. Default row count is 100
- nextrows: (integer)
The number of the next starting row. It is dependent on rowcount. For example, for total 250 items, if rowcount is 100 and nextrows is 101, it return items 101-201
- order: (integer)
Orders the results in ascending or descending order. 0=Ascending and 1=Descending. It is used in combination with sort
- sort: (string)
Sorts the results using string that is a JSON attribute
- interval: (string)
Interval type, e.g. start, finish, created, or modified. It is used in combination with intervalstart or intervalfinish
- intervalstart: (string)
Start date of the interval in UTC format, intervalfinish required
Example:
2021-08-05T00:00:00.000+0200
- intervalfinish: (string)
Finish date of the interval in UTC format, intervalstart required
Example:
2021-08-05T00:00:00.000+0200
HTTP status code 200
Body
Media type: application/json
Type: array of account
Items: account
- name: (string)
Name of Account
- passive: (integer)
Active or passive state of account (Default value 0 - Inactive)
- owner: (integer)
Responsible id of an account (Default value - Creator of an account)
- type: (union of integer or nil)
Type of an account (Default value 8 - Prospect)
- vatId: (union of string or nil)
VAT id of an account
- businessId: (union of string or nil)
Business id of an account
- termsOfPayment: (union of integer or nil)
Terms of payment of an invoice (Default value 14 - 14 days)
- eInvoicingAddress: (union of string or nil)
eInvoicing address
- phone: (union of string or nil)
Phone number of an account
- website: (union of string or nil)
Website of an account
- email: (union of email or emptystring or nil)
Email address of an account
- industry: (union of integer or nil)
- serviceLevel: (union of integer or nil)
Service level provided to real company linked to an account
- customerSatisfaction: (union of integer or nil)
- description: (union of string or nil)
Description of an account
- invoiceChannel: (union of integer or nil)
Methods of delivery of invoices
- invoiceVat: (union of number or nil)
VAT on an invoice of an account (Default value 24 - 24%)
- invoiceNetOperator: (union of string or nil)
- handlingFee: (union of number or nil)
Handling fee of an account
- invoiceEmail: (union of email or emptystring or nil)
Invoice delivery email
- supplierAccount: (union of integer or nil)
Supplier id of an account
- reverseCharge: (union of integer or nil)
- twitter: (union of string or nil)
Twitter name of an account
- facebook: (union of string or nil)
Facebook name of an account
- blog: (union of string or nil)
Blog address of an account
- combineInvoices: (union of integer or nil)
- rfReferenceNumber: (union of integer or nil)
- lineOfBusiness: (union of integer or nil)
- staff: (union of integer or nil)
- turnover: (union of integer or nil)
- billingAddress: (union of string or nil)
Invoice billing address of an account
- billingCity: (union of string or nil)
Invoice billing city of an account
- billingCountry: (union of integer or nil)
Invoice billing country of an account
- billingPostalCode: (union of string or nil)
Invoice billing postal code of an account
- billingReference: (union of string or integer or nil)
- billingState: (union of string or nil)
- parentAccount: (union of integer or nil)
Parent id of an account
- shippingAddress: (union of string or nil)
Invoice shipping address of an account
- shippingCity: (union of string or nil)
Invoice shipping city of an account
- shippingCountry: (union of integer or nil)
Invoice shipping country of an account
- shippingPostalCode: (union of string or nil)
Invoice shipping postal code of an account
- shippingReference: (union of string or nil)
- shippingState: (union of string or nil)
- invoiceAppendix: (union of integer or nil)
- invoiceTemplate: (union of string or nil)
- autoReplyRequestMails: (union of integer or nil)
Auto-reply request mails
- id: (integer)
Internal ID of an account
- operationalId: (union of integer or nil)
Operational ID of an account
- parentAccountName: (union of string or nil)
- activeContacts: (integer)
- created: (datetime)
- createdBy: (union of string or integer or nil)
- modified: (datetime)
- modifiedBy: (union of string or integer or nil)
- ownerName: (union of string or integer or nil)
- revenueThisYear: (union of number or nil)
- revenueLastYear: (union of number or nil)
- supplierAccountName: (union of string or nil)
Account name of supplier
Example:
[
{
"lineOfBusiness": null,
"shippingCity": "Helsinki",
"handlingFee": 0.0,
"businessId": "12345",
"vatId": "456789",
"invoiceVat": 23.0,
"revenueLastYear": 0.0,
"industry": -1,
"invoiceEmail": "",
"shippingPostalCode": "",
"type": 8,
"blog": "",
"parentAccountName": null,
"twitter": "",
"ownerName": "LastName, FirstName",
"shippingCountry": 0,
"eInvoicingAddress": "",
"invoiceChannel": 22,
"rfReferenceNumber": 0,
"billingCountry": 73,
"modified": "2012-07-30T17:26:02.207+0300",
"supplierAccountName": null,
"modifiedBy": "LastName, FirstName",
"activeContacts": 5,
"id": 2805224,
"email": "email@planmill.com",
"owner": 2796580,
"website": "",
"supplierAccount": null,
"created": "2012-03-06T10:38:06.467+0200",
"facebook": "",
"revenueThisYear": 0.0,
"serviceLevel": 0,
"passive": 0,
"invoiceNetOperator": "NDEAFIHH",
"combineInvoices": 0,
"phone": "",
"createdBy": "LastName, FirstName",
"billingPostalCode": "0500",
"name": "Inventory Department",
"shippingAddress": "Hämeentie 19",
"billingAddress": "Hämeentie 19",
"termsOfPayment": 14,
"billingCity": "Helsinki"
},
{
"lineOfBusiness": null,
"shippingCity": "Espoo",
"handlingFee": null,
"businessId": "7777777",
"vatId": null,
"invoiceVat": null,
"revenueLastYear": 0.0,
"industry": -1,
"invoiceEmail": null,
"shippingPostalCode": "12323",
"type": -1,
"blog": null,
"parentAccountName": null,
"twitter": null,
"ownerName": "User, auth.person",
"shippingCountry": -1,
"eInvoicingAddress": null,
"invoiceChannel": null,
"rfReferenceNumber": -1,
"billingCountry": -1,
"modified": "2015-06-04T17:06:19.947+0300",
"supplierAccountName": null,
"modifiedBy": null,
"activeContacts": 0,
"id": 2841694,
"email": null,
"owner": 2841653,
"website": null,
"supplierAccount": null,
"created": "2015-06-04T17:06:19.947+0300",
"facebook": null,
"revenueThisYear": 0.0,
"serviceLevel": -1,
"passive": -1,
"invoiceNetOperator": null,
"combineInvoices": 0,
"phone": "12323",
"createdBy": "User, auth.person",
"billingPostalCode": "1343",
"name": "Finance Department",
"shippingAddress": "",
"billingAddress": "",
"termsOfPayment": -1,
"billingCity": ""
}
]
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
post /accounts
Add a new account to PlanMill or update existing (if id is given). See accounts/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
Headers
- Content-Type: required(string - default: application/json;charset=UTF-8)
Example:
application/json;charset=UTF-8
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
Body
Media type: application/json
Type: object
Properties- name: required(string)
Name of Account
- passive: (integer)
Active or passive state of account (Default value 0 - Inactive)
- owner: (integer)
Responsible id of an account (Default value - Creator of an account)
- type: (union of integer or nil)
Type of an account (Default value 8 - Prospect)
- vatId: (union of string or nil)
VAT id of an account
- businessId: (union of string or nil)
Business id of an account
- termsOfPayment: (union of integer or nil)
Terms of payment of an invoice (Default value 14 - 14 days)
- eInvoicingAddress: (union of string or nil)
eInvoicing address
- phone: (union of string or nil)
Phone number of an account
- website: (union of string or nil)
Website of an account
- email: (union of email or emptystring or nil)
Email address of an account
- industry: (union of integer or nil)
- serviceLevel: (union of integer or nil)
Service level provided to real company linked to an account
- customerSatisfaction: (union of integer or nil)
- description: (union of string or nil)
Description of an account
- invoiceChannel: (union of integer or nil)
Methods of delivery of invoices
- invoiceVat: (union of number or nil)
VAT on an invoice of an account (Default value 24 - 24%)
- invoiceNetOperator: (union of string or nil)
- handlingFee: (union of number or nil)
Handling fee of an account
- invoiceEmail: (union of email or emptystring or nil)
Invoice delivery email
- supplierAccount: (union of integer or nil)
Supplier id of an account
- reverseCharge: (union of integer or nil)
- twitter: (union of string or nil)
Twitter name of an account
- facebook: (union of string or nil)
Facebook name of an account
- blog: (union of string or nil)
Blog address of an account
- combineInvoices: (union of integer or nil)
- rfReferenceNumber: (union of integer or nil)
- lineOfBusiness: (union of integer or nil)
- staff: (union of integer or nil)
- turnover: (union of integer or nil)
- billingAddress: (union of string or nil)
Invoice billing address of an account
- billingCity: (union of string or nil)
Invoice billing city of an account
- billingCountry: (union of integer or nil)
Invoice billing country of an account
- billingPostalCode: (union of string or nil)
Invoice billing postal code of an account
- billingReference: (union of string or integer or nil)
- billingState: (union of string or nil)
- parentAccount: (union of integer or nil)
Parent id of an account
- shippingAddress: (union of string or nil)
Invoice shipping address of an account
- shippingCity: (union of string or nil)
Invoice shipping city of an account
- shippingCountry: (union of integer or nil)
Invoice shipping country of an account
- shippingPostalCode: (union of string or nil)
Invoice shipping postal code of an account
- shippingReference: (union of string or nil)
- shippingState: (union of string or nil)
- invoiceAppendix: (union of integer or nil)
- invoiceTemplate: (union of string or nil)
- autoReplyRequestMails: (union of integer or nil)
Auto-reply request mails
- operationalId: (union of integer or nil)
Operational ID of an account
Example:
{
"lineOfBusiness": null,
"shippingCity": "Helsinki",
"businessId": "2862228-2",
"vatId": "2862228-2",
"invoiceEmail": "invoice_email@planmill.com",
"shippingPostalCode": "13233",
"type": 100,
"blog": "http://www.blog.com",
"twitter": "http://www.twitter.com",
"shippingCountry": 73,
"invoiceChannel": 22,
"rfReferenceNumber": 0,
"billingCountry": 73,
"supplierAccount": 353,
"billingState": "",
"serviceLevel": 0,
"autoReplyRequestMails": 1,
"combineInvoices": 0,
"reverseCharge": 10,
"phone": "+358-46-334605",
"name": "Test Account",
"billingReference": "Finance Department",
"shippingState": "",
"termsOfPayment": 0,
"handlingFee": 10,
"invoiceVat": 24,
"description": "<p>test description</p>",
"industry": 100000,
"parentAccount": null,
"parentAccountName": null,
"shippingReference": "HR department",
"turnover": 100000,
"email": "email@planmill.com",
"owner": 4891,
"website": "http://www.planmill.com",
"facebook": "http://www.facebook.com",
"staff": null,
"passive": 0,
"invoiceNetOperator": "NDEAFIHH",
"billingPostalCode": "00500",
"shippingAddress": "Siltasaarenkatu 18",
"billingAddress": "Hämeentie 19",
"billingCity": "Helsinki"
}
HTTP status code 201
Body
Media type: application/json
Type: object
Example:
{ "id" : 123456 }
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
Get meta information for accounts. Includes resource's fields names and type and related filters
View details of a single meta.
get /accounts/meta
View details of a single meta.
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
HTTP status code 200
Body
Media type: application/json
Type: object
Example:
{
"filters": [
{
"name": "searchkey",
"caption": ""
},
{
"name": "viewby",
"caption": "View by",
"values": {
"All recently created accounts - last 7 days": "10",
"My active accounts": "0",
"My recently modified accounts - last 7 days": "5",
"All active accounts": "6",
"My active accounts - prospects": "2",
"My recently created accounts - last 7 days": "4",
"My inactive accounts": "3",
"All active accounts - prospects": "8",
"My active accounts - customers": "1",
"All active accounts - customers": "7",
"All inactive accounts": "9",
"All recently modified accounts - last 7 days": "11"
}
},
{
"name": "Account.ResponsibleId",
"caption": "Owner",
"values": {
"All": "-1",
"Admin, Test": "2833",
"EmployeeLastName, EmployeeFirstName": "2824"
}
},
{
"name": "type",
"caption": "Type",
"values": {
"All": "-1",
"Competitor": "2",
"My company - other": "110",
"Customer": "3",
"Reseller": "9",
"Vendor": "11",
"-": "0",
"Analyst": "1",
"My company": "100",
"Subcontractor": "12",
"Prospect": "8",
"Investor": "5",
"Partner": "6",
"Press": "7"
}
},
{
"name": "industry",
"caption": "Industry",
"values": {
"All": "-1",
"6202 IT Consulting": "6202",
"62 Software&IT serv": "62",
"6201 Programming": "6201"
}
},
{
"name": "billingCountry",
"caption": "Country",
"values": {
"All": "-1",
"Korea, Democratic People?s Republic of (North Korea)": "112",
"Romania": "174",
"Falkland Islands (Malvinas)": "70",
"Hungary": "94",
"United States": "220",
"Christmas Island": "259",
"-": "0",
"Mauritius": "135",
"Switzerland": "200",
"Canada": "39",
"Austria": "15",
"El Salvador": "65",
"Monaco": "140",
"Norway": "160",
"Luxembourg": "123",
"Finland": "73",
"Denmark": "58",
"Netherlands Antilles": "150",
"France": "74",
"Germany": "80",
"Estonia": "68"
}
},
{
"name": "viewbylineofbusiness",
"caption": "Official line of business",
"values": {
"All": "-1",
"72 Scientific research and development": "72000",
"09 Mining support service activities": "9000",
"14 Manufacture of wearing apparel": "14000",
"94 Activities of membership organisations": "94000",
"69 Legal and accounting activities": "69000",
"84 Public administration and defence": "84000",
" manufacture of articles of straw and plaiting materials": " manufacture of articles of straw and plaiting materials",
" materials recovery": " materials recovery",
"97 Activities of households as employers of domestic personnel": "97000",
"55 Accommodation": "55000",
"71 Architectural and engineering activities": "71000",
"19 Manufacture of coke and refined petroleum products": "19000",
"45 Wholesale and retail trade and repair of motor vehicles and motorcycles": "45000",
"62 Computer programming, consultancy and related activities": "62000",
"81 Services to buildings and landscape activities": "81000",
"99 Activities of extraterritorial organisations and bodies": "99000",
"53 Postal and courier activities": "53000",
"18 Printing and reproduction of recorded media": "18000",
"43 Specialised construction activities": "43000",
"50 Water transport": "50000",
"65 Insurance, reinsurance and pension funding, except compulsory social security": "65000",
"16 Manufacture of wood and of products of wood and cork, except furniture": "16000",
"27 Manufacture of electrical equipment": "27000",
"39 Remediation activities and other waste management services": "39000",
"77 Rental and leasing activities": "77000",
"78 Employment activities": "78000",
"87 Residential care activities": "87000",
"75 Veterinary activities": "75000",
"80 Security and investigation activities": "80000",
"29 Manufacture of motor vehicles, trailers and semi-trailers": "29000",
"33 Repair and installation of machinery and equipment": "33000",
" compulsory social security": " compulsory social security",
"85 Education": "85000",
"06 Extraction of crude petroleum and natural gas": "6000",
"{28 Manufacture of machinery and equipment n.e.c.}": "28000",
"11 Manufacture of beverages": "11000",
"08 Other mining and quarrying": "8000",
"21 Manufacture of basic pharmaceutical products and pharmaceutical preparations": "21000",
"13 Manufacture of textiles": "13000",
"96 Other personal service activities": "96000",
"35 Electricity, gas, steam and air conditioning supply": "35000",
"79 Travel agency, tour operator and other reservation service and related activities": "79000",
"52 Warehousing and support activities for transportation": "52000",
"73 Advertising and market research": "73000",
"60 Programming and broadcasting activities": "60000",
"95 Repair of computers and personal and household goods": "95000",
"30 Manufacture of other transport equipment": "30000",
"61 Telecommunications": "61000",
"26 Manufacture of computer, electronic and optical products": "26000",
"03 Fishing and aquaculture": "3000",
"63 Information service activities": "63000",
"59 Motion picture, video and television programme production, sound recording and music publishing activities": "59000",
"07 Mining of metal ores": "7000",
"24 Manufacture of basic metals": "24000",
"82 Office administrative, office support and other business support activities": "82000",
"23 Manufacture of other non-metallic mineral products": "23000",
"66 Activities auxiliary to financial services and insurance activities": "66000",
" technical testing and analysis": " technical testing and analysis",
"64 Financial service activities, except insurance and pension funding": "64000",
"15 Manufacture of leather and related products": "15000",
"17 Manufacture of paper and paper products": "17000",
"25 Manufacture of fabricated metal products, except machinery and equipment": "25000",
"46 Wholesale trade, except of motor vehicles and motorcycles": "46000",
"37 Sewerage": "37000",
"41 Construction of buildings": "41000",
"91 Libraries, archives, museums and other cultural activities": "91000",
"01 Crop and animal production, hunting and related service activities": "1000",
"00 Industry unknown": "0",
"32 Other manufacturing": "32000",
" management consultancy activities": " management consultancy activities",
"86 Human health activities": "86000",
"31 Manufacture of furniture": "31000",
"42 Civil engineering": "42000",
"12 Manufacture of tobacco products": "12000",
"47 Retail trade, except of motor vehicles and motorcycles": "47000",
"92 Gambling and betting activities": "92000",
"02 Forestry and logging": "2000",
"10 Manufacture of food products": "10000",
"20 Manufacture of chemicals and chemical products": "20000",
"58 Publishing activities": "58000",
"98 Undifferentiated goods- and services-producing activities of private households for own use": "98000",
"22 Manufacture of rubber and plastic products": "22000",
"70 Activities of head offices": "70000",
"56 Food and beverage service activities": "56000",
"05 Mining of coal and lignite": "5000",
"36 Water collection, treatment and supply": "36000",
"88 Social work activities without accommodation": "88000",
"49 Land transport and transport via pipelines": "49000",
"51 Air transport": "51000",
"93 Sports activities and amusement and recreation activities": "93000",
"68 Real estate activities": "68000",
"38 Waste collection, treatment and disposal activities": "38000",
"90 Creative, arts and entertainment activities": "90000",
"74 Other professional, scientific and technical activities": "74000"
}
},
{
"name": "billingCity",
"caption": "City",
"values": {
"28100": "28100",
"28130": "28130",
"28200": "28200",
"28400": "28400",
"28450": "28450",
"28600": "28600",
"29600": "29600",
"33950": "33950",
"432432": "432432",
"": "",
"Oulunsalo": "Oulunsalo",
"El�keturvakeskus": "El�keturvakeskus",
"Schlieren": "Schlieren",
"Korntal-M�nchingen": "Korntal-M�nchingen",
"Fujitsu": "Fujitsu",
"Ebersbach/Fils": "Ebersbach/Fils",
"okpokpok": "okpokpok",
"Porvoo": "Porvoo",
"Z�rich": "Z�rich",
"St. Gallen": "St. Gallen",
"Uusikaarlepyy": "Uusikaarlepyy",
"Vammala": "Vammala",
"Inkoo": "Inkoo",
"Munich": "Munich",
"H�meenlinna": "H�meenlinna",
"Oulu": "Oulu",
"Rovaniemi": "Rovaniemi",
"Tampere": "Tampere",
"Vaasa": "Vaasa",
"Solothurn": "Solothurn",
"J�rvenp��": "J�rvenp��",
"Lemp��l�": "Lemp��l�",
"Wien": "Wien",
"Kokkola": "Kokkola",
"SONG": "SONG",
"Toronto": "Toronto",
"Tikkakoski": "Tikkakoski",
"Uster": "Uster",
"Korsn�s": "Korsn�s",
"tyfytf": "tyfytf",
"Villingen-Schwenningen": "Villingen-Schwenningen",
"Ylivieska": "Ylivieska",
"El�ke-Fennia": "El�ke-Fennia",
"Korvatunturi": "Korvatunturi",
"Basel": "Basel",
"Kerava": "Kerava",
"weuyweyu": "weuyweyu",
"VTT": "VTT",
"Bottrop": "Bottrop",
"Helsinki": "Helsinki",
"Lappeenranta": "Lappeenranta",
"gdfsgsfdfg": "gdfsgsfdfg",
"Ingolstadt": "Ingolstadt",
"Vasa": "Vasa",
"Kajaani": "Kajaani",
"Tapiola": "Tapiola",
"Lahti": "Lahti",
"Schinznach Bad": "Schinznach Bad",
"Sein�joki": "Sein�joki",
"St.Gallen": "St.Gallen",
"Forssa": "Forssa",
"Vaajakoski": "Vaajakoski",
"Joensuu": "Joensuu",
"Lohja": "Lohja",
"All": "-1",
"Baden": "Baden",
"Riihim�ki": "Riihim�ki",
"Kaustinen": "Kaustinen",
"Valtioneuvosto": "Valtioneuvosto",
"Savonlinna": "Savonlinna",
"Oberhaching": "Oberhaching",
"Iso-Vimma": "Iso-Vimma",
"Luxembourg": "Luxembourg",
"Leverkusen": "Leverkusen",
"FINLAND": "FINLAND",
"Oslo": "Oslo",
"jhgjhgj": "jhgjhgj",
"Nivala": "Nivala",
"New York city": "New York city",
"Port Louis": "Port Louis",
"Pori": "Pori",
"LASKUTUS": "LASKUTUS",
"Noormarkku": "Noormarkku",
"Urdorf": "Urdorf",
"Weinfelden": "Weinfelden",
"Espoo": "Espoo",
"Nordea": "Nordea",
"KULLAA": "KULLAA",
"Stuttgart": "Stuttgart",
"Turku": "Turku",
"Ilmarinen": "Ilmarinen",
"copenhaagen": "copenhaagen",
"00380": "00380",
"Valtiokonttori": "Valtiokonttori",
"Monte Carlo": "Monte Carlo",
"Paderborn": "Paderborn",
"Vienna": "Vienna",
"Hyvink��": "Hyvink��",
"Pyongyang": "Pyongyang",
"Raahe": "Raahe",
"Helsinki City": "Helsinki City",
"Petersberg": "Petersberg",
"HUS": "HUS",
"Epsoo": "Epsoo",
"Raisio": "Raisio",
"Miami": "Miami",
"San Francisco": "San Francisco",
"Davos": "Davos",
"Jyv�skyl�": "Jyv�skyl�",
"Kuopio": "Kuopio",
"Rellingen": "Rellingen",
"Bonn": "Bonn",
"Jysk�": "Jysk�",
"Vantaa": "Vantaa",
"Paris": "Paris"
}
},
{
"name": "billingPostalCode",
"caption": "Postal/Zip code",
"values": {
"00120, Helsinki": "00120",
"34534, Helsinki City": "34534",
"D-82041, Oberhaching": "D-82041",
"00880, Helsinki": "00880",
"00580, Helsinki": "00580",
"1220, Vienna": "1220",
"01600, Vantaa": "01600",
"FIN-00021, LASKUTUS": "FIN-00021",
"70825, Korntal-M�nchingen": "70825",
"90220, Oulu": "90220",
"27821, Iso-Vimma": "27821",
"00620, Helsinki": "00620",
"15300, Lahti": "15300",
"00381, Helsinki": "00381",
"00181, Helsinki": "00181",
"33100, Tampere": "33100",
"08100, Lohja": "08100",
"02610, Espoo": "02610",
"00121, Helsinki": "00121",
"00041, El�ke-Fennia": "00041",
"FIN-00500, Helsinki": "FIN-00500",
"70178, Stuttgart": "70178",
",": "",
"02601, Espoo": "02601",
"01641, Vantaa": "01641",
"0167, Oslo": "0167",
"12312313, Helsinki": "12312313",
"00521, Helsinki": "00521",
"7270, Davos": "7270",
"92101, Raahe": "92101",
"02101, Espoo": "02101",
"00511, Helsinki": "00511",
"57100, Savonlinna": "57100",
"01511, Vantaa": "01511",
"00020, Nordea": "00020",
"02631/PL 140, Espoo": "02631/PL 140",
"00380, 00380": "00380",
"04250, Kerava": "04250",
"82041, Oberhaching": "82041",
"10210, Inkoo": "10210",
"94118, San Francisco": "94118",
"02151, Espoo": "02151",
"02170, Espoo": "02170",
"70565, Stuttgart": "70565",
"00270, Helsinki": "00270",
"78048, Villingen-Schwenningen": "78048",
"1020, Wien": "1020",
"20100, Turku": "20100",
"8032, Z�rich": "8032",
"04400, J�rvenp��": "04400",
"4002, Basel": "4002",
"00180, Helsinki": "00180",
"00280, Helsinki": "00280",
"04420, J�rvenp��": "04420",
"40500, Jyv�skyl�": "40500",
"01300, Vantaa": "01300",
"40100, Vaajakoski": "40100",
"02015 HUT, Espoo": "02015 HUT",
"00380, Helsinki": "00380",
"01621, Vantaa": "01621",
"70173, Stuttgart": "70173",
"00101, Helsinki": "00101",
"29600, Noormarkku": "29600",
"1115, Luxembourg": "1115",
"8610, Uster": "8610",
", Bonn": "",
"90011, Miami": "90011",
"33210, Tampere": "33210",
"02160, Espoo": "02160",
"06101, Porvoo": "06101",
"85045, Ingolstadt": "85045",
"40014, Jyv�skyl�": "40014",
"96301, Rovaniemi": "96301",
"80100, Joensuu": "80100",
"30100, Forssa": "30100",
"CH-9000, St. Gallen": "CH-9000",
"00054, Valtiokonttori": "00054",
"30175, Hannover": "30175",
"4005, Basel": "4005",
"33200, Tampere": "33200",
"1032, Vienna": "1032",
"65100, Vaasa": "65100",
"01620, Vantaa": "01620",
"70500, Kuopio": "70500",
"1020, Vienna": "1020",
"02200, Espoo": "02200",
"02650, Espoo": "02650",
"06150, Porvoo": "06150",
"33521, Tampere": "33521",
", Monte Carlo": "",
"00510, Vantaa": "00510",
"36100, Petersberg": "36100",
"9014, St.Gallen": "9014",
"38201, Vammala": "38201",
"01310, Vantaa": "01310",
"02631, Espoo": "02631",
"00810, Helsinki": "00810",
"02781, Espoo": "02781",
"00500, Helsinki": "00500",
"11710, Riihim�ki": "11710",
"51369, Leverkusen": "51369",
"96301 Rovaniemi,": "96301 Rovaniemi",
"00100, Helsinki": "00100",
"00700, Helsinki": "00700",
"02630 ESPOO, FINLAND": "02630 ESPOO",
"00065, El�keturvakeskus": "00065",
"00161, Helsinki": "00161",
"00940, SONG": "00940",
"00210, Helsinki": "00210",
"00023, Helsinki": "00023",
"53100, Lappeenranta": "53100",
"02600, Helsinki": "02600",
"8005, Z�rich": "8005",
"00650, Helsinki": "00650",
"70210, Kuopio": "70210",
"25462, Rellingen": "25462",
"8570, Weinfelden": "8570",
"70101, Kuopio": "70101",
"15110, Lahti": "15110",
"00350, Helsinki": "00350",
"01510, Vantaa": "01510",
"123123, weuyweyu": "123123",
"28600, PORI": "28600",
"123123, copenhaagen": "123123",
"36640, Iltasm�ki": "36640",
"08101, Lohja": "08101",
"01610, Vantaa": "01610",
"01380, Vantaa": "01380",
"1029, Vienna": "1029",
"02730, Helsinki": "02730",
"20101, Turku": "20101",
"33840, Tampere": "33840",
"90460 , Oulunsalo": "90460",
"96100, Rovaniemi": "96100",
"20520, Turku": "20520",
"00150, Helsinki": "00150",
"87500, Kajaani": "87500",
"00941 , Helsinki": "00941",
"13111, H�meenlinna": "13111",
"33100, Helsinki": "33100",
"999999, Korvatunturi": "999999",
"FIN-01510, Vantaa": "FIN-01510",
"40501, Jyv�skyl�": "40501",
", Port Louis": "",
"8952, Schlieren": "8952",
"70000, Stuttgart": "70000",
"33101, Tampere": "33101",
"01740, Vantaa": "01740",
"67100, Kokkola": "67100",
"01451, Vantaa": "01451",
"02130, Espoo": "02130",
"00029, HUS": "00029",
"24280, Salo": "24280",
"00260, Helsinki": "00260",
"90100, Oulu": "90100",
"00160, Helsinki": "00160",
"00560, Helsinki": "00560",
"33900, Tampere": "33900",
"15140, Lahti": "15140",
"M5H 2L3, Toronto": "M5H 2L3",
"02630, Espoo": "02630",
"30501, New York city": "30501",
"80686, Munich": "80686",
"40420, Jysk�": "40420",
"70110, Kuopio": "70110",
"70460, Kuopio": "70460",
"02600, Espoo": "02600",
"1001, Z�rich": "1001",
"37501, Lemp��l�": "37501",
"70567, Stuttgart": "70567",
"02100, Espoo": "02100",
"02380, Espoo": "02380",
"All": "-1",
"00261, Espoo": "00261",
"5116, Schinznach Bad": "5116",
"28100, Pori": "28100",
"00401, Helsinki": "00401",
"00131, Helsinki": "00131",
"00331, Helsinki": "00331",
"33100, Paderborn": "33100",
"02150 , Espoo": "02150",
"40100, Jyv�skyl�": "40100",
"001010, Helsinki": "001010",
"8902, Urdorf": "8902",
"143143, Helsinki": "143143",
"00018, Ilmarinen": "00018",
"CH-4502, Solothurn": "CH-4502",
"33500, Tampere": "33500",
"00012, Fujitsu": "00012",
"13100, H�meenlinna": "13100",
"NULL": "",
"00530, Helsinki": "00530",
"00330, Helsinki": "00330",
"33720, Tampere": "33720",
"94041, Mountain View": "94041",
"96300, Rovaniemi": "96300",
"00240, Helsinki": "00240",
"69601, Kaustinen": "69601",
"00440, Helsinki": "00440",
"20540, Turku": "20540",
"02240, Espoo": "02240",
"00510, Helsinki": "00510",
"12345, Pyongyang": "12345",
"32432, Tampere": "32432",
"00094, Helsinki": "00094",
"5400, Baden": "5400",
"00130, Helsinki": "00130",
"00441, Helsinki": "00441",
"33230, Tampere": "33230",
"02150, Espoo": "02150",
"02010, Tapiola": "02010",
"73061, Ebersbach/Fils": "73061",
"01640, Vantaa": "01640",
"02044, VTT": "02044",
"00200, Helsinki": "00200",
"60100, Sein�joki": "60100",
"21200, Raisio": "21200",
"00151, Helsinki": "00151",
"41161, Tikkakoski": "41161",
"00800, Helsinki": "00800",
"60120, Sein�joki": "60120",
"02150, Epsoo": "02150",
"13130, H�meenlinna": "13130",
"85500, Nivala": "85500",
"02360, Espoo": "02360",
"CITY,": "CITY",
"1550, Paris": "1550",
"05800, Hyvink��": "05800",
", 28100": "",
"00400, Helsinki": "00400",
"90570, Oulu": "90570"
}
},
{
"name": "viewbystaff",
"caption": "Personnel category",
"values": {
"All": "-1",
"500-999 personnel": "500",
"1-4 personnel": "1",
"10-19 personnel": "10",
"100-249 personnel": "100",
"250-499 personnel": "250",
"20-49 personnel": "20",
"5-9 personnel": "5",
"> 1000 personnel": "1000",
"50-99 personnel": "50"
}
},
{
"name": "viewbyturnover",
"caption": "Turnover category",
"values": {
"All": "-1",
"> 20 000 K EUR": "20000",
"2000 - 10 000 K EUR": "2000",
"400 - 1000 K EUR": "400",
"10 000 - 20 000 K EUR": "10000",
"1 - 200 K EUR": "1",
"1000 - 2000 K EUR": "1000",
"200 - 400 K EUR": "200"
}
},
{
"name": "rowcount",
"caption": "Rows",
"values": {
"25": "25",
"50": "50",
"75": "75",
"100": "100",
"150": "150",
"250": "250"
}
},
{
"name": "Account.TaxCountry",
"caption": "Tax country",
"values": {
"All": "-1",
"-": "0"
}
}
],
"fields": {
"lineOfBusiness": {
"format": "Enumeration values.Sales management.Accounts.LineOfBusinessTOL2008",
"caption": "Official line of business"
},
"shippingCity": {
"format": "text",
"caption": "Shipping city"
},
"handlingFee": {
"format": "Enumeration values.Finance control.Invoice position summary.Invoices.Handling fee",
"caption": "Handling fee"
},
"businessId": {
"format": "text",
"caption": "Business ID"
},
"vatId": {
"format": "text",
"caption": "VAT Reg. No."
},
"invoiceVat": {
"format": "Enumeration values.Finance control.Invoice position summary.Invoices.VAT",
"caption": "VAT"
},
"revenueLastYear": {
"format": "currency",
"caption": "Revenue last year"
},
"industry": {
"format": "Enumeration values.Sales management.Accounts.Industry",
"caption": "Industry"
},
"invoiceEmail": {
"format": "emaillink",
"caption": "Invoice email"
},
"shippingPostalCode": {
"format": "text",
"caption": "Shipping postal/zip code"
},
"type": {
"format": "Enumeration values.Sales management.Accounts.Type",
"caption": "Type"
},
"blog": {
"format": "text",
"caption": "Account.SocialMedia4"
},
"parentAccountName": {
"format": "text",
"caption": "Parent account"
},
"twitter": {
"format": "text",
"caption": "Account.SocialMedia2"
},
"ownerName": {
"format": "text",
"caption": "Account owner"
},
"shippingCountry": {
"format": "Enumeration values.Location.CountryId",
"caption": "Shipping country"
},
"ediCode": {
"format": "text",
"caption": "EDI/OVT-code"
},
"invoiceChannel": {
"format": "Enumeration values.Sales management.Accounts.Invoicing method",
"caption": "Delivery of invoices"
},
"rfReferenceNumber": {
"format": "Enumeration values.Sales management.Accounts.International RF-reference number",
"caption": "International RF-reference number"
},
"billingCountry": {
"format": "Enumeration values.Location.CountryId",
"caption": "Country"
},
"modified": {
"format": "mediumdate",
"caption": "Modified"
},
"supplierAccountName": {
"format": "text",
"caption": "Supplier"
},
"modifiedBy": {
"format": "text",
"caption": "Modified by"
},
"activeContacts": {
"format": "jscripticontooltip1",
"caption": "_iconmap(ui-icon-person)"
},
"id": {
"format": "text",
"caption": "Account.Id"
},
"fax": {
"format": "text",
"caption": "Fax"
},
"email": {
"format": "emaillink",
"caption": "Email"
},
"owner": {
"format": "text",
"caption": "Person.Id"
},
"website": {
"format": "weblink",
"caption": "Website"
},
"supplierAccount": {
"format": "text",
"caption": "SupplierAccount.Id"
},
"created": {
"format": "mediumdate",
"caption": "Created"
},
"facebook": {
"format": "text",
"caption": "Account.SocialMedia3"
},
"revenueThisYear": {
"format": "currency",
"caption": "Revenue this year"
},
"serviceLevel": {
"format": "Enumeration values.Sales management.Accounts.Service level",
"caption": "Service level"
},
"passive": {
"format": "Enumeration values.Sales management.Accounts.Status",
"caption": "Status"
},
"invoiceNetOperator": {
"format": "Enumeration values.Sales management.Accounts.Invoice net operator",
"caption": "Intermediator"
},
"invoiceNetAddress": {
"format": "text",
"caption": "Invoice net address"
},
"combineInvoices": {
"format": "Enumeration values.Administration.Jobs.Enabled",
"caption": "Combine invoices"
},
"phone": {
"format": "text",
"caption": "Phone"
},
"createdBy": {
"format": "text",
"caption": "Created by"
},
"billingPostalCode": {
"format": "text",
"caption": "Postal/Zip code"
},
"name": {
"format": "text",
"caption": "_Account"
},
"shippingAddress": {
"format": "text",
"caption": "Shipping street address"
},
"billingAddress": {
"format": "text",
"caption": "Street address"
},
"termsOfPayment": {
"format": "Enumeration values.Sales management.Accounts.Terms of Payment",
"caption": "Terms of payment"
},
"billingCity": {
"format": "text",
"caption": "City"
}
}
}
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
A single account in PlanMill.
View details of a single account. See accounts/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
Update an existing resource account to PlanMill. See accounts/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
Remove a account from PlanMill.
get /accounts/{account_id}
View details of a single account. See accounts/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- account_id: required(string)
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- name: (string)
Name of Account
- passive: (integer)
Active or passive state of account (Default value 0 - Inactive)
- owner: (integer)
Responsible id of an account (Default value - Creator of an account)
- type: (union of integer or nil)
Type of an account (Default value 8 - Prospect)
- vatId: (union of string or nil)
VAT id of an account
- businessId: (union of string or nil)
Business id of an account
- termsOfPayment: (union of integer or nil)
Terms of payment of an invoice (Default value 14 - 14 days)
- eInvoicingAddress: (union of string or nil)
eInvoicing address
- phone: (union of string or nil)
Phone number of an account
- website: (union of string or nil)
Website of an account
- email: (union of email or emptystring or nil)
Email address of an account
- industry: (union of integer or nil)
- serviceLevel: (union of integer or nil)
Service level provided to real company linked to an account
- customerSatisfaction: (union of integer or nil)
- description: (union of string or nil)
Description of an account
- invoiceChannel: (union of integer or nil)
Methods of delivery of invoices
- invoiceVat: (union of number or nil)
VAT on an invoice of an account (Default value 24 - 24%)
- invoiceNetOperator: (union of string or nil)
- handlingFee: (union of number or nil)
Handling fee of an account
- invoiceEmail: (union of email or emptystring or nil)
Invoice delivery email
- supplierAccount: (union of integer or nil)
Supplier id of an account
- reverseCharge: (union of integer or nil)
- twitter: (union of string or nil)
Twitter name of an account
- facebook: (union of string or nil)
Facebook name of an account
- blog: (union of string or nil)
Blog address of an account
- combineInvoices: (union of integer or nil)
- rfReferenceNumber: (union of integer or nil)
- lineOfBusiness: (union of integer or nil)
- staff: (union of integer or nil)
- turnover: (union of integer or nil)
- billingAddress: (union of string or nil)
Invoice billing address of an account
- billingCity: (union of string or nil)
Invoice billing city of an account
- billingCountry: (union of integer or nil)
Invoice billing country of an account
- billingPostalCode: (union of string or nil)
Invoice billing postal code of an account
- billingReference: (union of string or integer or nil)
- billingState: (union of string or nil)
- parentAccount: (union of integer or nil)
Parent id of an account
- shippingAddress: (union of string or nil)
Invoice shipping address of an account
- shippingCity: (union of string or nil)
Invoice shipping city of an account
- shippingCountry: (union of integer or nil)
Invoice shipping country of an account
- shippingPostalCode: (union of string or nil)
Invoice shipping postal code of an account
- shippingReference: (union of string or nil)
- shippingState: (union of string or nil)
- invoiceAppendix: (union of integer or nil)
- invoiceTemplate: (union of string or nil)
- autoReplyRequestMails: (union of integer or nil)
Auto-reply request mails
- id: (integer)
Internal ID of an account
- operationalId: (union of integer or nil)
Operational ID of an account
- parentAccountName: (union of string or nil)
Example:
{
"lineOfBusiness": null,
"shippingCity": "Helsinki",
"businessId": "123456",
"vatId": "852645",
"invoiceEmail": "invoice_email@planmill.com",
"shippingPostalCode": "13233",
"type": 100,
"blog": "http://www.blog.com",
"twitter": "http://www.twitter.com",
"shippingCountry": 73,
"invoiceChannel": 22,
"rfReferenceNumber": 0,
"billingCountry": 73,
"id": 4635,
"supplierAccount": 353,
"billingState": "",
"serviceLevel": 0,
"autoReplyRequestMails": 1,
"combineInvoices": 0,
"reverseCharge": 10,
"phone": "+358-46-334605",
"name": "Test Account",
"billingReference": "Finance Department",
"shippingState": "",
"termsOfPayment": 0,
"handlingFee": 10,
"invoiceVat": 24,
"description": "<p>test description</p>",
"industry": 100000,
"parentAccount": null,
"parentAccountName": null,
"shippingReference": "HR department",
"turnover": 100000,
"email": "email@planmill.com",
"owner": 4891,
"website": "http://www.planmill.com",
"facebook": "http://www.facebook.com",
"staff": null,
"passive": 0,
"invoiceNetOperator": "NDEAFIHH",
"billingPostalCode": "00500",
"shippingAddress": "Siltasaarenkatu 18",
"billingAddress": "Hämeentie 19",
"billingCity": "Helsinki"
}
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
post /accounts/{account_id}
Update an existing resource account to PlanMill. See accounts/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- account_id: required(string)
Headers
- Content-Type: required(string - default: application/json;charset=UTF-8 )
Example:
application/json;charset=UTF-8
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
Body
Media type: application/json
Type: object
Properties- name: (string)
Name of Account
- passive: (integer)
Active or passive state of account (Default value 0 - Inactive)
- owner: (integer)
Responsible id of an account (Default value - Creator of an account)
- type: (union of integer or nil)
Type of an account (Default value 8 - Prospect)
- vatId: (union of string or nil)
VAT id of an account
- businessId: (union of string or nil)
Business id of an account
- termsOfPayment: (union of integer or nil)
Terms of payment of an invoice (Default value 14 - 14 days)
- eInvoicingAddress: (union of string or nil)
eInvoicing address
- phone: (union of string or nil)
Phone number of an account
- website: (union of string or nil)
Website of an account
- email: (union of email or emptystring or nil)
Email address of an account
- industry: (union of integer or nil)
- serviceLevel: (union of integer or nil)
Service level provided to real company linked to an account
- customerSatisfaction: (union of integer or nil)
- description: (union of string or nil)
Description of an account
- invoiceChannel: (union of integer or nil)
Methods of delivery of invoices
- invoiceVat: (union of number or nil)
VAT on an invoice of an account (Default value 24 - 24%)
- invoiceNetOperator: (union of string or nil)
- handlingFee: (union of number or nil)
Handling fee of an account
- invoiceEmail: (union of email or emptystring or nil)
Invoice delivery email
- supplierAccount: (union of integer or nil)
Supplier id of an account
- reverseCharge: (union of integer or nil)
- twitter: (union of string or nil)
Twitter name of an account
- facebook: (union of string or nil)
Facebook name of an account
- blog: (union of string or nil)
Blog address of an account
- combineInvoices: (union of integer or nil)
- rfReferenceNumber: (union of integer or nil)
- lineOfBusiness: (union of integer or nil)
- staff: (union of integer or nil)
- turnover: (union of integer or nil)
- billingAddress: (union of string or nil)
Invoice billing address of an account
- billingCity: (union of string or nil)
Invoice billing city of an account
- billingCountry: (union of integer or nil)
Invoice billing country of an account
- billingPostalCode: (union of string or nil)
Invoice billing postal code of an account
- billingReference: (union of string or integer or nil)
- billingState: (union of string or nil)
- parentAccount: (union of integer or nil)
Parent id of an account
- shippingAddress: (union of string or nil)
Invoice shipping address of an account
- shippingCity: (union of string or nil)
Invoice shipping city of an account
- shippingCountry: (union of integer or nil)
Invoice shipping country of an account
- shippingPostalCode: (union of string or nil)
Invoice shipping postal code of an account
- shippingReference: (union of string or nil)
- shippingState: (union of string or nil)
- invoiceAppendix: (union of integer or nil)
- invoiceTemplate: (union of string or nil)
- autoReplyRequestMails: (union of integer or nil)
Auto-reply request mails
Example:
{
"lineOfBusiness": null,
"shippingCity": "Helsinki",
"businessId": "2862228-2",
"vatId": "2862228-2",
"invoiceEmail": "invoice_email@planmill.com",
"shippingPostalCode": "13233",
"type": 100,
"blog": "http://www.blog.com",
"twitter": "http://www.twitter.com",
"shippingCountry": 73,
"invoiceChannel": 22,
"rfReferenceNumber": 0,
"billingCountry": 73,
"supplierAccount": 353,
"billingState": "",
"serviceLevel": 0,
"autoReplyRequestMails": 1,
"combineInvoices": 0,
"reverseCharge": 10,
"phone": "+358-46-334605",
"name": "Test Account",
"billingReference": "Finance Department",
"shippingState": "",
"termsOfPayment": 0,
"handlingFee": 10,
"invoiceVat": 24,
"description": "<p>test description</p>",
"industry": 100000,
"parentAccount": null,
"parentAccountName": null,
"shippingReference": "HR department",
"turnover": 100000,
"email": "email@planmill.com",
"owner": 4891,
"website": "http://www.planmill.com",
"facebook": "http://www.facebook.com",
"staff": null,
"passive": 0,
"invoiceNetOperator": "NDEAFIHH",
"billingPostalCode": "00500",
"shippingAddress": "Siltasaarenkatu 18",
"billingAddress": "Hämeentie 19",
"billingCity": "Helsinki"
}
HTTP status code 204
No HTTP body returned
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
delete /accounts/{account_id}
Remove a account from PlanMill.
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- account_id: required(string)
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
HTTP status code 204
No HTTP body returned
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
Get meta information for the updatable fields of the account
View details of a single meta.
get /accounts/{account_id}/meta
View details of a single meta.
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- account_id: required(string)
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
HTTP status code 200
Body
Media type: application/json
Type: object
Example:
{
"lineOfBusiness": {
"caption": "",
"format": "int",
"description": "",
"values": null
},
"shippingCity": {
"caption": "City",
"format": "string",
"description": "",
"values": null
},
"businessId": {
"caption": "Business ID",
"format": "string",
"description": "",
"maxlength": "80",
"values": null
},
"vatId": {
"caption": "VAT Reg. No.",
"format": "string",
"description": "",
"maxlength": "80",
"values": null
},
"invoiceEmail": {
"caption": "Invoice email",
"format": "multiemail",
"description": "",
"maxlength": "180",
"values": null
},
"shippingPostalCode": {
"caption": "Postal/Zip code",
"format": "string",
"description": "",
"values": null
},
"type": {
"caption": "Type",
"format": "int",
"description": "",
"enumeration": "Enumeration values.Sales management.Accounts.Type",
"values": {
"Competitor": "2",
"My company - other": "110",
"Customer": "3",
"Reseller": "9",
"Vendor": "11",
"-": "0",
"Analyst": "1",
"My company": "100",
"Subcontractor": "12",
"Integrator": "4",
"Prospect": "8",
"Investor": "5",
"Partner": "6",
"Press": "7",
"Other": "10"
}
},
"blog": {
"caption": "Blog",
"format": "url",
"description": "",
"maxlength": "255",
"values": null
},
"twitter": {
"caption": "Twitter",
"format": "url",
"description": "",
"maxlength": "255",
"values": null
},
"shippingCountry": {
"caption": "Country",
"format": "int",
"description": "",
"enumeration": "Enumeration values.Location.CountryId",
"values": {
"Papua New Guinea": "165",
"Cambodia": "37",
"Paraguay": "166",
"�land Islands": "236",
"Bahamas": "17",
"Solomon Islands": "188",
"Montserrat": "142",
"Mali": "130",
"Marshall Islands": "132",
"Guadeloupe": "239",
"Panama": "164",
"Virgin Islands, British": "27",
"Iran, Islamic Republic of": "98",
"Tanzania, United Republic of": "205",
"Argentina": "9",
"Seychelles": "183",
"Zambia": "233",
"Belize": "23",
"Bahrain": "19",
"-": "0",
"Guinea-Bissau": "89",
"Namibia": "146",
"Comoros": "50",
"Faroe Islands": "71",
"Finland": "73",
"Netherlands Antilles": "150",
"Georgia": "79",
"French Southern territories": "258",
"Saint Kitts and Nevis": "194",
"Yemen": "235",
"Eritrea": "67",
"Puerto Rico": "171",
"Viet Nam": "225",
"Yugoslavia (discontinued)": "231",
"Aruba": "11",
"Madagascar": "126",
"Svalbard and Jan Mayen": "254",
"Saint Martin": "251",
"South Georgia and the South Sandwich Islands": "253",
"Sweden": "199",
"Malawi": "127",
"Cocos (Keeling) Islands": "260",
"Andorra": "5",
"Liechtenstein": "122",
"Poland": "169",
"Bulgaria": "34",
"Jordan": "106",
"Tunisia": "211",
"Australian External Territories(discontinued)": "14",
"Tuvalu": "214",
"United Arab Emirates": "217",
"Kenya": "108",
"Yemen Arab Republic (North Yemen)(discontinued)": "230",
"French Polynesia": "202",
"Lebanon": "117",
"Djibouti": "62",
"Azerbaijan": "16",
"Cuba": "55",
"Czech Republic": "57",
"Saint Lucia": "250",
"Mauritania": "134",
"Guernsey": "240",
"Mayotte": "136",
"Korea, Republic of (South Korea)": "111",
"San Marino": "178",
"Israel": "101",
"Australia": "13",
"Tajikistan": "204",
"Other": "1000",
"Myanmar": "145",
"Cameroon": "38",
"Gibraltar": "82",
"Cyprus": "56",
"Northern Mariana Islands": "159",
"Saipan(double)": "177",
"Malaysia": "128",
"Oman": "161",
"Iceland": "95",
"Armenia": "10",
"Macedonia, The former Yugoslav Republic of": "125",
"Gabon": "77",
"Luxembourg": "123",
"Brazil": "31",
"Turks and Caicos Islands": "255",
"Algeria": "3",
"Jersey": "247",
"Slovenia": "187",
"Antigua and Barbuda": "8",
"Colombia": "49",
"Ecuador": "63",
"Cape Verdi(double)": "43",
"Vanuatu": "222",
"United States Minor Outlying Islands": "257",
"Honduras": "92",
"Italy": "102",
"Antarctica": "237",
"Nauru": "147",
"Haiti": "91",
"Afghanistan": "1",
"Burundi": "36",
"Russian Federation": "175",
"Singapore": "185",
"French Guiana": "76",
"American Samoa": "4",
"Christmas Island": "259",
"Congo (Congo-Kinshasa)": "232",
"Netherlands": "149",
"China": "47",
"Martinique": "133",
"Palestinian Territory, Occupied": "244",
"Saint Pierre and Miquelon": "195",
"Kyrgyzstan": "114",
"Bhutan": "26",
"Romania": "174",
"Falkland Islands (Malvinas)": "70",
"Togo": "207",
"Philippines": "168",
"Uzbekistan": "221",
"Holy See (Vatican City State)": "223",
"Pitcairn": "248",
"Zimbabwe": "234",
"British Indian Ocean Territory": "59",
"Montenegro": "242",
"Dominica": "60",
"Indonesia": "97",
"Benin": "24",
"Yemen (People's Democratic Republic of)(discontinued)": "229",
"Angola": "6",
"East Timor": "245",
"Sudan": "196",
"Brunei Darussalam": "33",
"Portugal": "170",
"New Caledonia": "152",
"Grenada": "85",
"Cayman Islands": "42",
"Greece": "83",
"Latvia": "115",
"Mongolia": "141",
"Congo (Congo-Brazzaville)": "51",
"Morocco": "143",
"Guatemala": "87",
"Guyana": "90",
"Iraq": "99",
"Chile": "46",
"Nepal": "148",
"Heard Island and McDonald Islands": "241",
"Isle of Man": "246",
"Ukraine": "216",
"Ghana": "81",
"Anguilla": "7",
"India": "96",
"Canada": "39",
"Maldives": "129",
"Turkey": "212",
"Belgium": "22",
"C�te d?Ivoire": "103",
"Khmer Republic (Cambodia/Kampuchea)(double)": "109",
"South Africa": "190",
"Trinidad and Tobago": "210",
"Bermuda": "25",
"Central African Republic": "44",
"Lao People?s Democratic Republic": "116",
"Jamaica": "104",
"Peru": "167",
"Turkmenistan": "213",
"Germany": "80",
"Korea, Democratic People?s Republic of (North Korea)": "112",
"Fiji": "72",
"Tokelau": "208",
"Hong Kong": "93",
"Guinea": "88",
"United States": "220",
"Micronesia, Federated States of": "138",
"Chad": "45",
"Somalia": "189",
"Nevis(double)": "151",
"Sao Tome and Principe": "179",
"Thailand": "206",
"Kiribati": "110",
"Equatorial Guinea": "66",
"Costa Rica": "53",
"Kuwait": "113",
"Nigeria": "156",
"Croatia": "54",
"Syrian Arab Republic": "201",
"Cook Islands": "52",
"Sri Lanka": "192",
"Uruguay": "219",
"United Kingdom": "218",
"Switzerland": "200",
"Samoa": "228",
"Spain": "191",
"Liberia": "119",
"Venezuela": "224",
"Burkina Faso": "35",
"Virgin Islands, U.S.": "226",
"Swaziland": "198",
"Saint Barth�lemy": "249",
"Palau": "163",
"Estonia": "68",
"Libyan Arab Jamahiriya": "121",
"Kazakstan": "107",
"Wallis and Futuna": "227",
"Niue": "157",
"Austria": "15",
"Mozambique": "144",
"El Salvador": "65",
"Monaco": "140",
"Guam": "86",
"British V.I.(double)": "32",
"Lesotho": "118",
"Tonga": "209",
"Western Sahara": "256",
"R�union": "173",
"Hungary": "94",
"Japan": "105",
"Belarus": "21",
"Mauritius": "135",
"Bouvet Island": "238",
"Norfolk Island": "243",
"Albania": "2",
"New Zealand": "153",
"Senegal": "181",
"Moldova, Republic of": "139",
"Ethiopia": "69",
"Taiwan(double)": "203",
"Egypt": "64",
"Macau": "124",
"Sierra Leone": "184",
"North Korea(double)": "158",
"Bolivia": "28",
"Malta": "131",
"Saudi Arabia": "180",
"Cape Verde": "40",
"Pakistan": "162",
"Gambia": "78",
"Qatar": "172",
"Ireland": "100",
"Slovakia": "186",
"Lithuania": "120",
"France": "74",
"Serbia": "182",
"Bosnia and Herzegovina": "29",
"Taiwan, Province of China": "48",
"Niger": "155",
"French Antilles(discontinued)": "75",
"Rwanda": "176",
"Ascension Island(double,now part of St. Helena)": "12",
"Bangladesh": "20",
"Barbados": "18",
"Nicaragua": "154",
"Norway": "160",
"Saint Vincent and the Grenadines": "252",
"Botswana": "30",
"Denmark": "58",
"Dominican Republic": "61",
"Mexico": "137",
"Uganda": "215",
"Suriname": "197",
"Greenland": "84",
"Saint Helena": "193"
}
},
"invoiceChannel": {
"caption": "Invoice delivery channel",
"format": "int",
"description": "",
"enumeration": "Enumeration values.Finance control.Invoice position summary.Invoices.Channel",
"values": {
"Email": "4",
"Printing service": "1",
"E-invoice": "2",
"Manually": "3"
}
},
"rfReferenceNumber": {
"caption": "International RF-reference number",
"format": "int",
"description": "",
"enumeration": "Enumeration values.Sales management.Accounts.International RF-reference number",
"values": {
"No": "0",
"Yes": "1"
}
},
"billingCountry": {
"caption": "Country",
"format": "int",
"description": "",
"enumeration": "Enumeration values.Location.CountryId",
"values": {
"Papua New Guinea": "165",
"Cambodia": "37",
"Paraguay": "166",
"�land Islands": "236",
"Bahamas": "17",
"Solomon Islands": "188",
"Montserrat": "142",
"Mali": "130",
"Marshall Islands": "132",
"Guadeloupe": "239",
"Panama": "164",
"Virgin Islands, British": "27",
"Iran, Islamic Republic of": "98",
"Tanzania, United Republic of": "205",
"Argentina": "9",
"Seychelles": "183",
"Zambia": "233",
"Belize": "23",
"Bahrain": "19",
"-": "0",
"Guinea-Bissau": "89",
"Namibia": "146",
"Comoros": "50",
"Faroe Islands": "71",
"Finland": "73",
"Netherlands Antilles": "150",
"Georgia": "79",
"French Southern territories": "258",
"Saint Kitts and Nevis": "194",
"Yemen": "235",
"Eritrea": "67",
"Puerto Rico": "171",
"Viet Nam": "225",
"Yugoslavia (discontinued)": "231",
"Aruba": "11",
"Madagascar": "126",
"Svalbard and Jan Mayen": "254",
"Saint Martin": "251",
"South Georgia and the South Sandwich Islands": "253",
"Sweden": "199",
"Malawi": "127",
"Cocos (Keeling) Islands": "260",
"Andorra": "5",
"Liechtenstein": "122",
"Poland": "169",
"Bulgaria": "34",
"Jordan": "106",
"Tunisia": "211",
"Australian External Territories(discontinued)": "14",
"Tuvalu": "214",
"United Arab Emirates": "217",
"Kenya": "108",
"Yemen Arab Republic (North Yemen)(discontinued)": "230",
"French Polynesia": "202",
"Lebanon": "117",
"Djibouti": "62",
"Azerbaijan": "16",
"Cuba": "55",
"Czech Republic": "57",
"Saint Lucia": "250",
"Mauritania": "134",
"Guernsey": "240",
"Mayotte": "136",
"Korea, Republic of (South Korea)": "111",
"San Marino": "178",
"Israel": "101",
"Australia": "13",
"Tajikistan": "204",
"Other": "1000",
"Myanmar": "145",
"Cameroon": "38",
"Gibraltar": "82",
"Cyprus": "56",
"Northern Mariana Islands": "159",
"Saipan(double)": "177",
"Malaysia": "128",
"Oman": "161",
"Iceland": "95",
"Armenia": "10",
"Macedonia, The former Yugoslav Republic of": "125",
"Gabon": "77",
"Luxembourg": "123",
"Brazil": "31",
"Turks and Caicos Islands": "255",
"Algeria": "3",
"Jersey": "247",
"Slovenia": "187",
"Antigua and Barbuda": "8",
"Colombia": "49",
"Ecuador": "63",
"Cape Verdi(double)": "43",
"Vanuatu": "222",
"United States Minor Outlying Islands": "257",
"Honduras": "92",
"Italy": "102",
"Antarctica": "237",
"Nauru": "147",
"Haiti": "91",
"Afghanistan": "1",
"Burundi": "36",
"Russian Federation": "175",
"Singapore": "185",
"French Guiana": "76",
"American Samoa": "4",
"Christmas Island": "259",
"Congo (Congo-Kinshasa)": "232",
"Netherlands": "149",
"China": "47",
"Martinique": "133",
"Palestinian Territory, Occupied": "244",
"Saint Pierre and Miquelon": "195",
"Kyrgyzstan": "114",
"Bhutan": "26",
"Romania": "174",
"Falkland Islands (Malvinas)": "70",
"Togo": "207",
"Philippines": "168",
"Uzbekistan": "221",
"Holy See (Vatican City State)": "223",
"Pitcairn": "248",
"Zimbabwe": "234",
"British Indian Ocean Territory": "59",
"Montenegro": "242",
"Dominica": "60",
"Indonesia": "97",
"Benin": "24",
"Yemen (People's Democratic Republic of)(discontinued)": "229",
"Angola": "6",
"East Timor": "245",
"Sudan": "196",
"Brunei Darussalam": "33",
"Portugal": "170",
"New Caledonia": "152",
"Grenada": "85",
"Cayman Islands": "42",
"Greece": "83",
"Latvia": "115",
"Mongolia": "141",
"Congo (Congo-Brazzaville)": "51",
"Morocco": "143",
"Guatemala": "87",
"Guyana": "90",
"Iraq": "99",
"Chile": "46",
"Nepal": "148",
"Heard Island and McDonald Islands": "241",
"Isle of Man": "246",
"Ukraine": "216",
"Ghana": "81",
"Anguilla": "7",
"India": "96",
"Canada": "39",
"Maldives": "129",
"Turkey": "212",
"Belgium": "22",
"C�te d?Ivoire": "103",
"Khmer Republic (Cambodia/Kampuchea)(double)": "109",
"South Africa": "190",
"Trinidad and Tobago": "210",
"Bermuda": "25",
"Central African Republic": "44",
"Lao People?s Democratic Republic": "116",
"Jamaica": "104",
"Peru": "167",
"Turkmenistan": "213",
"Germany": "80",
"Korea, Democratic People?s Republic of (North Korea)": "112",
"Fiji": "72",
"Tokelau": "208",
"Hong Kong": "93",
"Guinea": "88",
"United States": "220",
"Micronesia, Federated States of": "138",
"Chad": "45",
"Somalia": "189",
"Nevis(double)": "151",
"Sao Tome and Principe": "179",
"Thailand": "206",
"Kiribati": "110",
"Equatorial Guinea": "66",
"Costa Rica": "53",
"Kuwait": "113",
"Nigeria": "156",
"Croatia": "54",
"Syrian Arab Republic": "201",
"Cook Islands": "52",
"Sri Lanka": "192",
"Uruguay": "219",
"United Kingdom": "218",
"Switzerland": "200",
"Samoa": "228",
"Spain": "191",
"Liberia": "119",
"Venezuela": "224",
"Burkina Faso": "35",
"Virgin Islands, U.S.": "226",
"Swaziland": "198",
"Saint Barth�lemy": "249",
"Palau": "163",
"Estonia": "68",
"Libyan Arab Jamahiriya": "121",
"Kazakstan": "107",
"Wallis and Futuna": "227",
"Niue": "157",
"Austria": "15",
"Mozambique": "144",
"El Salvador": "65",
"Monaco": "140",
"Guam": "86",
"British V.I.(double)": "32",
"Lesotho": "118",
"Tonga": "209",
"Western Sahara": "256",
"R�union": "173",
"Hungary": "94",
"Japan": "105",
"Belarus": "21",
"Mauritius": "135",
"Bouvet Island": "238",
"Norfolk Island": "243",
"Albania": "2",
"New Zealand": "153",
"Senegal": "181",
"Moldova, Republic of": "139",
"Ethiopia": "69",
"Taiwan(double)": "203",
"Egypt": "64",
"Macau": "124",
"Sierra Leone": "184",
"North Korea(double)": "158",
"Bolivia": "28",
"Malta": "131",
"Saudi Arabia": "180",
"Cape Verde": "40",
"Pakistan": "162",
"Gambia": "78",
"Qatar": "172",
"Ireland": "100",
"Slovakia": "186",
"Lithuania": "120",
"France": "74",
"Serbia": "182",
"Bosnia and Herzegovina": "29",
"Taiwan, Province of China": "48",
"Niger": "155",
"French Antilles(discontinued)": "75",
"Rwanda": "176",
"Ascension Island(double,now part of St. Helena)": "12",
"Bangladesh": "20",
"Barbados": "18",
"Nicaragua": "154",
"Norway": "160",
"Saint Vincent and the Grenadines": "252",
"Botswana": "30",
"Denmark": "58",
"Dominican Republic": "61",
"Mexico": "137",
"Uganda": "215",
"Suriname": "197",
"Greenland": "84",
"Saint Helena": "193"
}
},
"id": {
"caption": "",
"format": "int",
"description": "",
"values": null
},
"fax": {
"description": "e.g. +xxx-xx-xxxx",
"caption": "Fax",
"format": "phone",
"maxlength": "80",
"values": null
},
"supplierAccount": {
"caption": "Supplier",
"values": {
"PlanMill Oy": "2782784",
"-": "-1"
},
"format": "int",
"description": ""
},
"billingState": {
"caption": "State",
"format": "string",
"description": "",
"values": null
},
"serviceLevel": {
"caption": "Service level",
"format": "int",
"description": "",
"enumeration": "Enumeration values.Sales management.Accounts.Service level",
"values": {
"No agreements": "0",
"Gold Care": "2",
"Platinum Care": "3",
"Silver Care": "1"
}
},
"invoiceNetAddress": {
"caption": "Invoice net address",
"description": "",
"maxlength": "80",
"values": null
},
"autoReplyRequestMails": {
"caption": "Auto-reply request mails",
"format": "int",
"description": "",
"enumeration": "Enumeration values.Administration.Jobs.Enabled",
"values": {
"No": "0",
"Yes": "1"
}
},
"combineInvoices": {
"caption": "Combine invoices",
"format": "int",
"description": "",
"enumeration": "Enumeration values.Administration.Jobs.Enabled",
"values": {
"No": "0",
"Yes": "1"
}
},
"reverseCharge": {
"caption": "Reverse charge",
"format": "int",
"description": "",
"enumeration": "Enumeration values.Sales management.Accounts.Reverse charge",
"values": {
"0,0 % VAT Reverse charge": "10"
}
},
"phone": {
"description": "e.g. +xxx-xx-xxxx",
"caption": "Phone",
"format": "phone",
"maxlength": "80",
"values": null
},
"billingReference": {
"description": "Maximum length of 'Your reference' is 35 characters because of Finvoice standard (Finvoice standard supports only 35 characters)",
"caption": "Billing Department/Reference",
"maxlength": "35",
"values": null
},
"shippingState": {
"caption": "State",
"format": "string",
"description": "",
"values": null
},
"termsOfPayment": {
"caption": "Terms of payment",
"format": "int",
"description": "",
"enumeration": "Enumeration values.Sales management.Accounts.Terms of Payment",
"values": {
"180 days net": "180",
"Immediately": "0",
"14 days net": "14",
"45 days net": "45",
"28 days net": "28",
"30 days net": "30",
"120 days net": "120",
"7 days net": "7",
"60 days net": "60",
"90 days net": "90",
"21 days net": "21"
}
},
"billingLocationId": {
"caption": "",
"format": "int",
"description": "",
"values": null
},
"handlingFee": {
"caption": "Handling fee",
"format": "double",
"description": "",
"values": null
},
"invoiceVat": {
"caption": "VAT",
"description": "",
"enumeration": "Enumeration values.Finance control.Invoice position summary.Invoices.VAT",
"values": {
"12%": "12.0",
"9%": "9.0",
"17,5 %": "17.5",
"13 %": "13.0",
"24 %": "24.0",
"23 %": "23.0",
"22 %": "22.0",
"10 %": "10.0",
"21 %": "21.0",
"20 %": "20.0",
"0 %": "0.0",
"5 %": "5.0",
"19 %": "19.0",
"18 %": "18.0",
"7 %": "7.0",
"17 %": "17.0",
"8 %": "8.0",
"15 %": "15.0",
"14 %": "14.0",
"25 %": "25.0"
}
},
"description": {
"format": "string",
"description": "",
"values": null
},
"shippingLocationId": {
"caption": "",
"format": "int",
"description": "",
"values": null
},
"industry": {
"caption": "Industry",
"format": "int",
"description": "",
"enumeration": "Enumeration values.Sales management.Accounts.Industry",
"values": {
"74 Other prof. services": "74",
"J ICT": "100900",
"61 Telecommunication": "61",
"Q Health&Social work": "101600",
"I Acc.dation&Food": "100800",
"6209 Other IT services": "6209",
"71 Architecture&Eng": "71",
"O Public administr.": "101400",
"U Extraterr.org.&bodies": "102000",
"S Other Service": "101800",
"E Water & Waste": "100400",
"72 Sc. Research": "72",
"F Construction": "100500",
"K Finance&Insurance": "101000",
"62 Software&IT serv": "62",
"B Mining&Quarrying": "100100",
"X Industry unknown": "102100",
"H Transport&storage": "100700",
"N Admin&Support": "101300",
"6203 IT Facilities": "6203",
"R Arts, ent.&recreation": "101700",
"75 Veterinary": "75",
"69 Legal&Accounting": "69",
"A Agric and Forestry": "100000",
"58 Publishing": "58",
"73 Adv&Marketing": "73",
"63 Inform. services": "63",
"L Real Estate": "101100",
"C Manufacturing": "100200",
"M Prof. services": "101200",
"-": "-1",
"59 Movies & sound pr.": "59",
"6202 IT Consulting": "6202",
"T Households as empl.": "101900",
"G Wholesale&Retail": "100600",
"6201 Programming": "6201",
"P Education": "101500",
"D Electricity Gas etc": "100300",
"70 Mgmt consultancy": "70",
"60 Broadcasting": "60"
}
},
"parentAccount": {
"caption": "",
"format": "int",
"description": "",
"values": null
},
"ceo": {
"caption": "CEO",
"maxlength": "50",
"values": null
},
"parentAccountName": {
"caption": "Parent account",
"format": "string",
"description": "",
"values": null
},
"ediCode": {
"caption": "EDI/OVT-code",
"description": "",
"maxlength": "20",
"values": null
},
"shippingReference": {
"caption": "Shipping Department/Reference",
"format": "string",
"description": "",
"values": null
},
"turnover": {
"description": "This field supports currently only euros, we will add full currency support later. Please fill in turnover in 1000s of euros",
"caption": "Turnover K�",
"format": "int",
"values": null
},
"email": {
"caption": "Email",
"format": "string",
"description": "",
"maxlength": "80",
"values": null
},
"owner": {
"caption": "Account owner",
"values": {
"Admin, Test": "2833",
"EmployeeLastName, EmployeeFirstName": "2697"
},
"format": "int",
"description": ""
},
"website": {
"caption": "Website",
"format": "url",
"description": "",
"maxlength": "150",
"values": null
},
"facebook": {
"caption": "Facebook",
"format": "url",
"description": "",
"maxlength": "255",
"values": null
},
"staff": {
"caption": "Personnel",
"format": "int",
"description": "",
"values": null
},
"passive": {
"caption": "Status",
"format": "int",
"description": "",
"enumeration": "Enumeration values.Sales management.Accounts.Status",
"values": {
"Active": "0",
"Inactive": "1"
}
},
"invoiceNetOperator": {
"caption": "Intermediator",
"description": "",
"enumeration": "Enumeration values.Sales management.Accounts.Invoice net operator",
"values": {
"Tapiola Pankki (TAPIFI22)": "130",
"InExchange Factorum AB (INEXCHANGE)": "250",
"Maventa Oy (MAVENTA)": "190",
"Danske Bank Oyj (DABAFIHH)": "100",
"Handelsbanken (HANDFIHH)": "120",
"OpusCapita Group Oy (003710948874)": "60",
"�landsbanken (AABAFI22) - Bank of �land": "140",
"Paikallisosuuspankit (POPFFI22)": "90",
"Aktia S��st�pankki Oyj (HELSFIHH)": "150",
"Tradeshift (00885060259470028)": "220",
"S��st�pankit (ITELFIHH)": "240",
"BasWare Oyj (BAWCFI22)": "30",
"Pagero (PAGERO)": "230",
"TeliaSonera Finland Oyj (003714756079)": "160",
"CGI (003703575029)": "180",
"Nordea (NDEAFIHH)": "70",
"Liaison Technologies Oy (003708599126)": "10",
"OP-ryhm� (OKOYFIHH)": "80",
"Tieto Oyj (003701011385)": "170",
"Enfo Zender Oy (003714377140)": "50",
"Svenska Handelsbanken AB (HANDFIHH)": "110",
"Apix Messaging Oy (00372332748700001)": "210",
"Notebeat Oy (003717203971)": "200"
}
},
"billingPostalCode": {
"caption": "Postal/Zip code",
"format": "string",
"description": "",
"values": null
},
"firstInvoiceNumber": {
"caption": "First invoice number",
"format": "string",
"description": "",
"maxlength": "11",
"values": null
},
"shippingAddress": {
"caption": "Address (shipping)",
"format": "string",
"description": "",
"values": null
},
"billingAddress": {
"description": "(billing or visiting)",
"caption": "Address",
"format": "string",
"values": null
},
"billingCity": {
"caption": "City",
"format": "string",
"description": "",
"values": null
}
}
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
Collection of available attachments in PlanMill. This is a read-only collection.
Get a list of attachments
get /accounts/{account_id}/attachments
Get a list of attachments
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- account_id: required(string)
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
Query Parameters
- rowcount?: (integer - minimum: 1)
It limits the result set amount to the specified limit to avoid API call to return too many records. Default row count is 100
- nextrows?: (integer)
The number of the next starting row. It is dependent on rowcount. For example, for total 250 items, if rowcount is 100 and nextrows is 101, it return items 101-201
- order?: (integer)
Orders the results in ascending or descending order. 0=Ascending and 1=Descending. It is used in combination with sort
- sort?: (integer)
Sorts the results using number that is associated with each column
HTTP status code 200
Body
Media type: application/json
Type: object
Example:
[
{
"size": 8497,
"createdBy": 50,
"created": "2022-01-13T13:05:10.837+0200",
"name": "attached_file_test.txt",
"modified": "2022-01-13T13:18:25.353+0200",
"id": 1543
},
{
"size": 146169,
"createdBy": 50,
"created": "2022-01-13T13:18:25.353+0200",
"name": "attached_file.txt",
"modified": "2022-01-13T13:18:25.353+0200",
"id": 1545
}
]
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
attachment_id is returned by /tempfiles endpoint on file upload.
View details of single attachment.
put /accounts/{account_id}/attachments/{attachment_id}
attachment_id is returned by /tempfiles endpoint on file upload.
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- account_id: required(string)
- attachment_id: required(string)
Headers
- Content-Type: required(string - default: application/json;charset=UTF-8 )
Example:
application/json;charset=UTF-8
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
HTTP status code 204
No HTTP body returned
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
get /accounts/{account_id}/attachments/{attachment_id}
View details of single attachment.
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- account_id: required(string)
- attachment_id: required(string)
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
HTTP status code 200
Body
Media type: application/json
Type: object
Example:
Contents of file
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
/actions
Collection of available actions in PlanMill. See actions/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
Get a list of actions. See actions/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
Add a new action to PlanMill or update existing (if id is given). See actions/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
get /actions
Get a list of actions. See actions/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
Query Parameters
- rowcount: (integer - minimum: 1)
It limits the result set amount to the specified limit to avoid API call to return too many records. Default row count is 100
- nextrows: (integer)
The number of the next starting row. It is dependent on rowcount. For example, for total 250 items, if rowcount is 100 and nextrows is 101, it return items 101-201
- order: (integer)
Orders the results in ascending or descending order. 0=Ascending and 1=Descending. It is used in combination with sort
- sort: (string)
Sorts the results using string that is a JSON attribute
- interval: (string)
Interval type, e.g. start, finish, created, or modified. It is used in combination with intervalstart or intervalfinish
- intervalstart: (string)
Start date of the interval in UTC format, intervalfinish required
Example:
2021-08-05T00:00:00.000+0200
- intervalfinish: (string)
Finish date of the interval in UTC format, intervalstart required
Example:
2021-08-05T00:00:00.000+0200
HTTP status code 200
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "base schema for all action entities",
"oneOf": [{
"type": "array",
"items": {
"$ref": "#/definitions/actionArray"
}
}, {
"$ref": "#/definitions/actionSingle"
}],
"definitions": {
"actionSingle": {
"type": "object",
"required": ["subject"],
"properties": {
"request": {
"type": ["string", "null"],
"description": "Action's request"
},
"private": {
"type": ["integer", "null"],
"description": "Action's view status: 0=No, 1=Yes"
},
"performers": {
"type": ["string", "null"],
"description": "List of action's performers"
},
"reminder": {
"type": ["integer", "null"],
"description": "Action's reminder: 0=No, 1=Same day as due date, 2=1 day before due date, 3= 3 days before due date, 4= 7 days before due date, 5= 14 days before due date, 6= 30 days before due date"
},
"subject": {
"type": "string",
"description": "Action's subject"
},
"dueDate": {
"type": ["string", "null"],
"pattern": "(\\d{4})-([0][1-9]|[1][0-2])-([0][1-9]|[1-2][0-9]|[3][0-1])T([0][0-9]|[1][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9]).(\\d{3})((\\+|\\-)([0-9]|[0][0-9]|[1][0-9]|[2][0-3])([0-5][0-9]))",
"description": "Action's due date"
},
"start": {
"type": ["string", "null"],
"pattern": "(\\d{4})-([0][1-9]|[1][0-2])-([0][1-9]|[1-2][0-9]|[3][0-1])T([0][0-9]|[1][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9]).(\\d{3})((\\+|\\-)([0-9]|[0][0-9]|[1][0-9]|[2][0-3])([0-5][0-9]))",
"description": "Action's start date"
},
"description": {
"type": ["string", "null"],
"description": "Action description"
},
"project": {
"type": ["string", "null"],
"description": "Action's project"
},
"opportunity": {
"type": ["string", "null"],
"description": "Action's opportunity"
},
"type": {
"type": ["integer", "null"],
"description": "Action's type: 0= None, 1= Call, 2=Correspondence, 3= Demo, 4= Email, 5= Event, 6= Fax, 7= Meeting, 9= Presentation, 10= Todo, 11= Webinar"
},
"priority": {
"type": ["integer", "null"],
"description": "Action priority: 1= High, 2= Medium, 3= Low "
},
"salesOrder": {
"type": ["string", "null"],
"description": "Action's sales order"
},
"responsible": {
"type": ["integer", "null"],
"description": "Person responsible for the action"
},
"contact": {
"type": ["integer", "null"],
"description": "Action's contact"
},
"campaign": {
"type": ["string", "null"],
"description": "Action's campaign"
},
"location": {
"type": ["string", "null"],
"description": "Action's location"
},
"id": {
"type": "integer",
"description": "action id"
},
"status": {
"type": ["integer", "null"],
"description": "Action's status: 0= Received, 1= In progress, 2= In progress -waiting for more info, 4= Suspended, 40= Completed"
}
}
},
"actionArray": {
"type": "object",
"required": ["subject"],
"properties": {
"request": {
"type": ["string", "integer", "null"],
"description": "Action's request"
},
"private": {
"type": ["integer", "null"],
"description": "Action's view status: 0=No, 1=Yes"
},
"performers": {
"type": ["string", "null"],
"description": "List of action's performers"
},
"reminder": {
"type": ["integer", "null"],
"description": "Action's reminder: 0=No, 1=Same day as due date, 2=1 day before due date, 3= 3 days before due date, 4= 7 days before due date, 5= 14 days before due date, 6= 30 days before due date"
},
"subject": {
"type": "string",
"description": "Action's subject"
},
"dueDate": {
"type": ["string", "null"],
"pattern": "(\\d{4})-([0][1-9]|[1][0-2])-([0][1-9]|[1-2][0-9]|[3][0-1])T([0][0-9]|[1][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9]).(\\d{3})((\\+|\\-)([0-9]|[0][0-9]|[1][0-9]|[2][0-3])([0-5][0-9]))",
"description": "Action's due date"
},
"start": {
"type": ["string", "null"],
"pattern": "(\\d{4})-([0][1-9]|[1][0-2])-([0][1-9]|[1-2][0-9]|[3][0-1])T([0][0-9]|[1][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9]).(\\d{3})((\\+|\\-)([0-9]|[0][0-9]|[1][0-9]|[2][0-3])([0-5][0-9]))",
"description": "Action's start date"
},
"project": {
"type": ["string", "integer", "null"],
"description": "Action's project"
},
"opportunity": {
"type": ["string", "integer", "null"],
"description": "Action's opportunity"
},
"type": {
"type": ["integer", "null"],
"description": "Action's type: 0= None, 1= Call, 2=Correspondence, 3= Demo, 4= Email, 5= Event, 6= Fax, 7= Meeting, 9= Presentation, 10= Todo, 11= Webinar"
},
"priority": {
"type": ["integer", "null"],
"description": "Action priority: 1= High, 2= Medium, 3= Low "
},
"salesOrder": {
"type": ["string", "integer", "null"],
"description": "Action's sales order"
},
"responsible": {
"type": ["integer", "null"],
"description": "Person responsible for the action"
},
"contact": {
"type": ["integer", "null"],
"description": "Action's contact"
},
"campaign": {
"type": ["string", "integer", "null"],
"description": "Action's campaign"
},
"location": {
"type": ["string", "null"],
"description": "Action's location"
},
"id": {
"type": "integer",
"description": "action id"
},
"status": {
"type": ["integer", "null"],
"description": "Action's status: 0= Received, 1= In progress, 2= In progress -waiting for more info, 4= Suspended, 40= Completed"
}
}
}
}
}
Example:
[
{
"request": 6827,
"private": 0,
"reminder": 0,
"subject": "Test Action 1",
"created": "2015-01-19T09:44:00.000+0200",
"dueDate": "2015-10-19T00:00:00.000+0300",
"start": "2015-10-19T00:00:00.000+0300",
"opportunity": 5684,
"project": 8572,
"type": 1,
"priority": 2,
"salesOrder": 6891,
"contact": 9658,
"responsible": 4935,
"modified": "2015-01-19T09:44:00.000+0200",
"campaign": 7862,
"location": "Tampere",
"id": 599448,
"status": 0
},
{
"request": null,
"private": 0,
"reminder": 0,
"subject": "Test Action 2",
"created": "2015-09-07T16:27:06.920+0300",
"dueDate": "2015-09-30T00:00:00.000+0300",
"start": "2015-09-08T00:00:00.000+0300",
"opportunity": 2579,
"project": 5713,
"type": 10,
"priority": 2,
"salesOrder": 5272,
"contact": 5571,
"responsible": 5547,
"modified": "2015-09-08T12:16:27.593+0300",
"campaign": 6954,
"location": "Helsinki",
"id": 5739,
"status": 0
},
{
"request": null,
"private": 0,
"reminder": 0,
"subject": "Test Action 3",
"created": "2010-01-13T10:16:00.000+0200",
"dueDate": "2010-10-13T00:00:00.000+0300",
"start": "2010-10-13T00:00:00.000+0300",
"opportunity": null,
"project": null,
"type": 1,
"priority": 2,
"salesOrder": null,
"contact": null,
"responsible": 439,
"modified": "2010-01-13T10:16:00.000+0200",
"campaign": null,
"location": null,
"id": 600126,
"status": 1
}
]
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
post /actions
Add a new action to PlanMill or update existing (if id is given). See actions/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
Headers
- Content-Type: required(string - default: application/json;charset=UTF-8 )
Example:
application/json;charset=UTF-8
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "base schema for all action entities",
"oneOf": [{
"type": "array",
"items": {
"$ref": "#/definitions/actionArray"
}
}, {
"$ref": "#/definitions/actionSingle"
}],
"definitions": {
"actionSingle": {
"type": "object",
"required": ["subject"],
"properties": {
"request": {
"type": ["string", "null"],
"description": "Action's request"
},
"private": {
"type": ["integer", "null"],
"description": "Action's view status: 0=No, 1=Yes"
},
"performers": {
"type": ["string", "null"],
"description": "List of action's performers"
},
"reminder": {
"type": ["integer", "null"],
"description": "Action's reminder: 0=No, 1=Same day as due date, 2=1 day before due date, 3= 3 days before due date, 4= 7 days before due date, 5= 14 days before due date, 6= 30 days before due date"
},
"subject": {
"type": "string",
"description": "Action's subject"
},
"dueDate": {
"type": ["string", "null"],
"pattern": "(\\d{4})-([0][1-9]|[1][0-2])-([0][1-9]|[1-2][0-9]|[3][0-1])T([0][0-9]|[1][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9]).(\\d{3})((\\+|\\-)([0-9]|[0][0-9]|[1][0-9]|[2][0-3])([0-5][0-9]))",
"description": "Action's due date"
},
"start": {
"type": ["string", "null"],
"pattern": "(\\d{4})-([0][1-9]|[1][0-2])-([0][1-9]|[1-2][0-9]|[3][0-1])T([0][0-9]|[1][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9]).(\\d{3})((\\+|\\-)([0-9]|[0][0-9]|[1][0-9]|[2][0-3])([0-5][0-9]))",
"description": "Action's start date"
},
"description": {
"type": ["string", "null"],
"description": "Action description"
},
"project": {
"type": ["string", "null"],
"description": "Action's project"
},
"opportunity": {
"type": ["string", "null"],
"description": "Action's opportunity"
},
"type": {
"type": ["integer", "null"],
"description": "Action's type: 0= None, 1= Call, 2=Correspondence, 3= Demo, 4= Email, 5= Event, 6= Fax, 7= Meeting, 9= Presentation, 10= Todo, 11= Webinar"
},
"priority": {
"type": ["integer", "null"],
"description": "Action priority: 1= High, 2= Medium, 3= Low "
},
"salesOrder": {
"type": ["string", "null"],
"description": "Action's sales order"
},
"responsible": {
"type": ["integer", "null"],
"description": "Person responsible for the action"
},
"contact": {
"type": ["integer", "null"],
"description": "Action's contact"
},
"campaign": {
"type": ["string", "null"],
"description": "Action's campaign"
},
"location": {
"type": ["string", "null"],
"description": "Action's location"
},
"id": {
"type": "integer",
"description": "action id"
},
"status": {
"type": ["integer", "null"],
"description": "Action's status: 0= Received, 1= In progress, 2= In progress -waiting for more info, 4= Suspended, 40= Completed"
}
}
},
"actionArray": {
"type": "object",
"required": ["subject"],
"properties": {
"request": {
"type": ["string", "integer", "null"],
"description": "Action's request"
},
"private": {
"type": ["integer", "null"],
"description": "Action's view status: 0=No, 1=Yes"
},
"performers": {
"type": ["string", "null"],
"description": "List of action's performers"
},
"reminder": {
"type": ["integer", "null"],
"description": "Action's reminder: 0=No, 1=Same day as due date, 2=1 day before due date, 3= 3 days before due date, 4= 7 days before due date, 5= 14 days before due date, 6= 30 days before due date"
},
"subject": {
"type": "string",
"description": "Action's subject"
},
"dueDate": {
"type": ["string", "null"],
"pattern": "(\\d{4})-([0][1-9]|[1][0-2])-([0][1-9]|[1-2][0-9]|[3][0-1])T([0][0-9]|[1][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9]).(\\d{3})((\\+|\\-)([0-9]|[0][0-9]|[1][0-9]|[2][0-3])([0-5][0-9]))",
"description": "Action's due date"
},
"start": {
"type": ["string", "null"],
"pattern": "(\\d{4})-([0][1-9]|[1][0-2])-([0][1-9]|[1-2][0-9]|[3][0-1])T([0][0-9]|[1][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9]).(\\d{3})((\\+|\\-)([0-9]|[0][0-9]|[1][0-9]|[2][0-3])([0-5][0-9]))",
"description": "Action's start date"
},
"project": {
"type": ["string", "integer", "null"],
"description": "Action's project"
},
"opportunity": {
"type": ["string", "integer", "null"],
"description": "Action's opportunity"
},
"type": {
"type": ["integer", "null"],
"description": "Action's type: 0= None, 1= Call, 2=Correspondence, 3= Demo, 4= Email, 5= Event, 6= Fax, 7= Meeting, 9= Presentation, 10= Todo, 11= Webinar"
},
"priority": {
"type": ["integer", "null"],
"description": "Action priority: 1= High, 2= Medium, 3= Low "
},
"salesOrder": {
"type": ["string", "integer", "null"],
"description": "Action's sales order"
},
"responsible": {
"type": ["integer", "null"],
"description": "Person responsible for the action"
},
"contact": {
"type": ["integer", "null"],
"description": "Action's contact"
},
"campaign": {
"type": ["string", "integer", "null"],
"description": "Action's campaign"
},
"location": {
"type": ["string", "null"],
"description": "Action's location"
},
"id": {
"type": "integer",
"description": "action id"
},
"status": {
"type": ["integer", "null"],
"description": "Action's status: 0= Received, 1= In progress, 2= In progress -waiting for more info, 4= Suspended, 40= Completed"
}
}
}
}
}
Example:
{
"request": 6875,
"private": 0,
"performers": "5547,50",
"reminder": 1,
"subject": "Test Action",
"dueDate": "2015-06-26T10:08:00.000+0300",
"start": "2015-06-26T10:08:00.000+0300",
"description": "<p>test description</p>",
"project": 9851,
"opportunity": 3257,
"type": 5,
"priority": 2,
"salesOrder": 6981,
"responsible": 28482,
"contact": 9647,
"campaign": 5214,
"location": "Oulu",
"id": 2842904,
"status": 1
}
HTTP status code 201
Body
Media type: application/json
Type: object
Example:
{ "id" : 123456 }
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
Get meta information for actions. Includes resource's fields names and type and related filters
View details of a single meta.
get /actions/meta
View details of a single meta.
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
HTTP status code 200
Body
Media type: application/json
Type: object
Example:
{
"filters": [
{
"name": "searchkey",
"caption": ""
},
{
"name": "viewby",
"caption": "View by",
"values": {
"All recently modified actions - last 7 days": "17",
"All open actions - customers": "9",
"All open actions - prospects": "10",
"My all actions": "6",
"My open actions": "0",
"All recently completed actions - last 14 days": "18",
"All open actions": "8",
"All actions": "7",
"All completed actions - prospects": "14",
"My recently modified actions - last 7 days": "4",
"All recently created actions - last 14 days": "16",
"All recently created actions - last 7 days": "15",
"My recently completed actions - last 14 days": "5",
"All suspended actions": "11",
"My completed actions": "2",
"All completed actions - customers": "13",
"All completed actions": "12",
"My suspended actions": "1",
"My recently created actions - last 7 days": "3"
}
},
{
"name": "viewbystatus",
"caption": "Status",
"values": {
"All": "-1",
"3. In progress - waiting for more info": "2",
"5. Completed": "40",
"4. Suspended": "3",
"1. Received": "0",
"Open (1,2,3)": "-100",
"2. In progress": "1"
}
},
{
"name": "type",
"caption": "Type",
"values": {
"All": "-1",
"Call": "1",
"To do": "10",
"Demo": "3",
"Email": "4",
"Meeting": "7",
"Webinar": "11",
"Correspondence": "2",
"Event": "5",
"Fax": "6",
"Presentation": "9",
"-": "0"
}
},
{
"name": "Account.Id",
"caption": "Account",
"values": {
"All": "-1",
"PlanMill Oy": "4688"
}
},
{
"name": "Campaign.Id",
"caption": "Campaign",
"values": {
"All": "-1",
"Email newsletter 2008": "559808"
}
},
{
"name": "PMVProject.Id",
"caption": "Project",
"values": {
"All": "-1",
"Test project import (1257)": "5974"
}
},
{
"name": "Action.ResponsibleId",
"caption": "Responsible person",
"values": {
"All": "-1",
"Admin, Test": "2833",
"testi, testi": "2091"
}
},
{
"name": "ActionHasPerson.PersonId",
"caption": "Performer",
"values": {
"All": "-1",
"Admin, Test": "2833"
}
},
{
"name": "period",
"caption": "Period",
"values": {
"All": "0",
"Last 180 days": "16",
"This week": "30",
"This and next FY": "7",
"Last 14 days": "26",
"This and next month": "24",
"This and next week": "34",
"Next 30 days": "17",
"Next 180 days": "21",
"This FY": "5",
"Next FY": "6",
"This and last month": "25",
"This FQ": "1",
"Last month": "11",
"Last 30 days": "12",
"Last FY": "8",
"Today and tomorrow": "44",
"This and last week": "32",
"This and next FQ": "3",
"Last FQ": "4",
"Last 120 days": "15",
"This and last FY": "23",
"Last week": "31",
"This month": "9",
"Next 120 days": "20",
"Yesterday": "41",
"Last 60 days": "13",
"Next week": "33",
"Next 60 days": "18",
"Tomorrow": "43",
"Today": "40",
"Today and yesterday": "42",
"Next FQ": "2",
"Next month": "10",
"This & last FQ": "22",
"Last 90 days": "14",
"Next 90 days": "19"
}
},
{
"name": "interval",
"calendar": "yyyy-MM-dd'T'HH:mm:ss.SSSZ",
"values": {
"Finish/Due date": "dueDate",
"Modified": "modified",
"Start": "start",
"Completed": "Action.FinishDate",
"Created": "created"
}
},
{
"name": "rowcount",
"caption": "Rows",
"values": {
"25": "25",
"50": "50",
"75": "75",
"100": "100",
"150": "150",
"250": "250"
}
},
{
"name": "Action.CreatedBy",
"caption": "Created by",
"values": {
"All": "-1",
"Admin, Test": 2833
}
}
],
"fields": {
"request": {
"format": "text",
"caption": "Action.RequestId"
},
"private": {
"format": "Enumeration values.Sales management.Actions.View status",
"caption": "Private"
},
"reminder": {
"format": "Enumeration values.Sales management.Actions.Reminder",
"caption": "Reminder"
},
"subject": {
"format": "text",
"caption": "_Subject"
},
"created": {
"format": "mediumdate",
"caption": "Created"
},
"dueDate": {
"format": "mediumdate",
"caption": "Due date"
},
"start": {
"format": "mediumdate",
"caption": "Start"
},
"opportunity": {
"format": "text",
"caption": "Action.OpportunityId"
},
"project": {
"format": "text",
"caption": "Action.ProjectId"
},
"type": {
"format": "Enumeration values.Sales management.Actions.Type",
"caption": "Type"
},
"priority": {
"format": "Enumeration values.Sales management.Actions.Priority",
"caption": "Priority"
},
"salesOrder": {
"format": "text",
"caption": "Action.SalesOrderId"
},
"contact": {
"format": "text",
"caption": "Person.Id"
},
"responsible": {
"format": "text",
"caption": "Person1.Id"
},
"modified": {
"format": "mediumdate",
"caption": "Modified"
},
"campaign": {
"format": "text",
"caption": "Action.CampaignId"
},
"location": {
"format": "text",
"caption": "Location"
},
"id": {
"format": "checkbox",
"caption": "_"
},
"status": {
"format": "Enumeration values.Sales management.Actions.Status",
"caption": "Status"
}
}
}
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
A single action in PlanMill.
View details of a single action. See actions/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
Update an existing resource action to PlanMill. See actions/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
Remove a action from PlanMill.
get /actions/{action_id}
View details of a single action. See actions/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- action_id: required(string)
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
HTTP status code 200
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "base schema for all action entities",
"oneOf": [{
"type": "array",
"items": {
"$ref": "#/definitions/actionArray"
}
}, {
"$ref": "#/definitions/actionSingle"
}],
"definitions": {
"actionSingle": {
"type": "object",
"required": ["subject"],
"properties": {
"request": {
"type": ["string", "null"],
"description": "Action's request"
},
"private": {
"type": ["integer", "null"],
"description": "Action's view status: 0=No, 1=Yes"
},
"performers": {
"type": ["string", "null"],
"description": "List of action's performers"
},
"reminder": {
"type": ["integer", "null"],
"description": "Action's reminder: 0=No, 1=Same day as due date, 2=1 day before due date, 3= 3 days before due date, 4= 7 days before due date, 5= 14 days before due date, 6= 30 days before due date"
},
"subject": {
"type": "string",
"description": "Action's subject"
},
"dueDate": {
"type": ["string", "null"],
"pattern": "(\\d{4})-([0][1-9]|[1][0-2])-([0][1-9]|[1-2][0-9]|[3][0-1])T([0][0-9]|[1][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9]).(\\d{3})((\\+|\\-)([0-9]|[0][0-9]|[1][0-9]|[2][0-3])([0-5][0-9]))",
"description": "Action's due date"
},
"start": {
"type": ["string", "null"],
"pattern": "(\\d{4})-([0][1-9]|[1][0-2])-([0][1-9]|[1-2][0-9]|[3][0-1])T([0][0-9]|[1][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9]).(\\d{3})((\\+|\\-)([0-9]|[0][0-9]|[1][0-9]|[2][0-3])([0-5][0-9]))",
"description": "Action's start date"
},
"description": {
"type": ["string", "null"],
"description": "Action description"
},
"project": {
"type": ["string", "null"],
"description": "Action's project"
},
"opportunity": {
"type": ["string", "null"],
"description": "Action's opportunity"
},
"type": {
"type": ["integer", "null"],
"description": "Action's type: 0= None, 1= Call, 2=Correspondence, 3= Demo, 4= Email, 5= Event, 6= Fax, 7= Meeting, 9= Presentation, 10= Todo, 11= Webinar"
},
"priority": {
"type": ["integer", "null"],
"description": "Action priority: 1= High, 2= Medium, 3= Low "
},
"salesOrder": {
"type": ["string", "null"],
"description": "Action's sales order"
},
"responsible": {
"type": ["integer", "null"],
"description": "Person responsible for the action"
},
"contact": {
"type": ["integer", "null"],
"description": "Action's contact"
},
"campaign": {
"type": ["string", "null"],
"description": "Action's campaign"
},
"location": {
"type": ["string", "null"],
"description": "Action's location"
},
"id": {
"type": "integer",
"description": "action id"
},
"status": {
"type": ["integer", "null"],
"description": "Action's status: 0= Received, 1= In progress, 2= In progress -waiting for more info, 4= Suspended, 40= Completed"
}
}
},
"actionArray": {
"type": "object",
"required": ["subject"],
"properties": {
"request": {
"type": ["string", "integer", "null"],
"description": "Action's request"
},
"private": {
"type": ["integer", "null"],
"description": "Action's view status: 0=No, 1=Yes"
},
"performers": {
"type": ["string", "null"],
"description": "List of action's performers"
},
"reminder": {
"type": ["integer", "null"],
"description": "Action's reminder: 0=No, 1=Same day as due date, 2=1 day before due date, 3= 3 days before due date, 4= 7 days before due date, 5= 14 days before due date, 6= 30 days before due date"
},
"subject": {
"type": "string",
"description": "Action's subject"
},
"dueDate": {
"type": ["string", "null"],
"pattern": "(\\d{4})-([0][1-9]|[1][0-2])-([0][1-9]|[1-2][0-9]|[3][0-1])T([0][0-9]|[1][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9]).(\\d{3})((\\+|\\-)([0-9]|[0][0-9]|[1][0-9]|[2][0-3])([0-5][0-9]))",
"description": "Action's due date"
},
"start": {
"type": ["string", "null"],
"pattern": "(\\d{4})-([0][1-9]|[1][0-2])-([0][1-9]|[1-2][0-9]|[3][0-1])T([0][0-9]|[1][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9]).(\\d{3})((\\+|\\-)([0-9]|[0][0-9]|[1][0-9]|[2][0-3])([0-5][0-9]))",
"description": "Action's start date"
},
"project": {
"type": ["string", "integer", "null"],
"description": "Action's project"
},
"opportunity": {
"type": ["string", "integer", "null"],
"description": "Action's opportunity"
},
"type": {
"type": ["integer", "null"],
"description": "Action's type: 0= None, 1= Call, 2=Correspondence, 3= Demo, 4= Email, 5= Event, 6= Fax, 7= Meeting, 9= Presentation, 10= Todo, 11= Webinar"
},
"priority": {
"type": ["integer", "null"],
"description": "Action priority: 1= High, 2= Medium, 3= Low "
},
"salesOrder": {
"type": ["string", "integer", "null"],
"description": "Action's sales order"
},
"responsible": {
"type": ["integer", "null"],
"description": "Person responsible for the action"
},
"contact": {
"type": ["integer", "null"],
"description": "Action's contact"
},
"campaign": {
"type": ["string", "integer", "null"],
"description": "Action's campaign"
},
"location": {
"type": ["string", "null"],
"description": "Action's location"
},
"id": {
"type": "integer",
"description": "action id"
},
"status": {
"type": ["integer", "null"],
"description": "Action's status: 0= Received, 1= In progress, 2= In progress -waiting for more info, 4= Suspended, 40= Completed"
}
}
}
}
}
Example:
{
"request": 6875,
"private": 0,
"performers": "5547,50",
"reminder": 1,
"subject": "Test Action",
"dueDate": "2015-06-26T10:08:00.000+0300",
"start": "2015-06-26T10:08:00.000+0300",
"description": "<p>test description</p>",
"project": 9851,
"opportunity": 3257,
"type": 5,
"priority": 2,
"salesOrder": 6981,
"responsible": 28482,
"contact": 9647,
"campaign": 5214,
"location": "Oulu",
"id": 2842904,
"status": 1
}
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
post /actions/{action_id}
Update an existing resource action to PlanMill. See actions/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- action_id: required(string)
Headers
- Content-Type: required(string - default: application/json;charset=UTF-8 )
Example:
application/json;charset=UTF-8
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "base schema for all action entities",
"oneOf": [{
"type": "array",
"items": {
"$ref": "#/definitions/actionArray"
}
}, {
"$ref": "#/definitions/actionSingle"
}],
"definitions": {
"actionSingle": {
"type": "object",
"required": ["subject"],
"properties": {
"request": {
"type": ["string", "null"],
"description": "Action's request"
},
"private": {
"type": ["integer", "null"],
"description": "Action's view status: 0=No, 1=Yes"
},
"performers": {
"type": ["string", "null"],
"description": "List of action's performers"
},
"reminder": {
"type": ["integer", "null"],
"description": "Action's reminder: 0=No, 1=Same day as due date, 2=1 day before due date, 3= 3 days before due date, 4= 7 days before due date, 5= 14 days before due date, 6= 30 days before due date"
},
"subject": {
"type": "string",
"description": "Action's subject"
},
"dueDate": {
"type": ["string", "null"],
"pattern": "(\\d{4})-([0][1-9]|[1][0-2])-([0][1-9]|[1-2][0-9]|[3][0-1])T([0][0-9]|[1][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9]).(\\d{3})((\\+|\\-)([0-9]|[0][0-9]|[1][0-9]|[2][0-3])([0-5][0-9]))",
"description": "Action's due date"
},
"start": {
"type": ["string", "null"],
"pattern": "(\\d{4})-([0][1-9]|[1][0-2])-([0][1-9]|[1-2][0-9]|[3][0-1])T([0][0-9]|[1][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9]).(\\d{3})((\\+|\\-)([0-9]|[0][0-9]|[1][0-9]|[2][0-3])([0-5][0-9]))",
"description": "Action's start date"
},
"description": {
"type": ["string", "null"],
"description": "Action description"
},
"project": {
"type": ["string", "null"],
"description": "Action's project"
},
"opportunity": {
"type": ["string", "null"],
"description": "Action's opportunity"
},
"type": {
"type": ["integer", "null"],
"description": "Action's type: 0= None, 1= Call, 2=Correspondence, 3= Demo, 4= Email, 5= Event, 6= Fax, 7= Meeting, 9= Presentation, 10= Todo, 11= Webinar"
},
"priority": {
"type": ["integer", "null"],
"description": "Action priority: 1= High, 2= Medium, 3= Low "
},
"salesOrder": {
"type": ["string", "null"],
"description": "Action's sales order"
},
"responsible": {
"type": ["integer", "null"],
"description": "Person responsible for the action"
},
"contact": {
"type": ["integer", "null"],
"description": "Action's contact"
},
"campaign": {
"type": ["string", "null"],
"description": "Action's campaign"
},
"location": {
"type": ["string", "null"],
"description": "Action's location"
},
"id": {
"type": "integer",
"description": "action id"
},
"status": {
"type": ["integer", "null"],
"description": "Action's status: 0= Received, 1= In progress, 2= In progress -waiting for more info, 4= Suspended, 40= Completed"
}
}
},
"actionArray": {
"type": "object",
"required": ["subject"],
"properties": {
"request": {
"type": ["string", "integer", "null"],
"description": "Action's request"
},
"private": {
"type": ["integer", "null"],
"description": "Action's view status: 0=No, 1=Yes"
},
"performers": {
"type": ["string", "null"],
"description": "List of action's performers"
},
"reminder": {
"type": ["integer", "null"],
"description": "Action's reminder: 0=No, 1=Same day as due date, 2=1 day before due date, 3= 3 days before due date, 4= 7 days before due date, 5= 14 days before due date, 6= 30 days before due date"
},
"subject": {
"type": "string",
"description": "Action's subject"
},
"dueDate": {
"type": ["string", "null"],
"pattern": "(\\d{4})-([0][1-9]|[1][0-2])-([0][1-9]|[1-2][0-9]|[3][0-1])T([0][0-9]|[1][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9]).(\\d{3})((\\+|\\-)([0-9]|[0][0-9]|[1][0-9]|[2][0-3])([0-5][0-9]))",
"description": "Action's due date"
},
"start": {
"type": ["string", "null"],
"pattern": "(\\d{4})-([0][1-9]|[1][0-2])-([0][1-9]|[1-2][0-9]|[3][0-1])T([0][0-9]|[1][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9]).(\\d{3})((\\+|\\-)([0-9]|[0][0-9]|[1][0-9]|[2][0-3])([0-5][0-9]))",
"description": "Action's start date"
},
"project": {
"type": ["string", "integer", "null"],
"description": "Action's project"
},
"opportunity": {
"type": ["string", "integer", "null"],
"description": "Action's opportunity"
},
"type": {
"type": ["integer", "null"],
"description": "Action's type: 0= None, 1= Call, 2=Correspondence, 3= Demo, 4= Email, 5= Event, 6= Fax, 7= Meeting, 9= Presentation, 10= Todo, 11= Webinar"
},
"priority": {
"type": ["integer", "null"],
"description": "Action priority: 1= High, 2= Medium, 3= Low "
},
"salesOrder": {
"type": ["string", "integer", "null"],
"description": "Action's sales order"
},
"responsible": {
"type": ["integer", "null"],
"description": "Person responsible for the action"
},
"contact": {
"type": ["integer", "null"],
"description": "Action's contact"
},
"campaign": {
"type": ["string", "integer", "null"],
"description": "Action's campaign"
},
"location": {
"type": ["string", "null"],
"description": "Action's location"
},
"id": {
"type": "integer",
"description": "action id"
},
"status": {
"type": ["integer", "null"],
"description": "Action's status: 0= Received, 1= In progress, 2= In progress -waiting for more info, 4= Suspended, 40= Completed"
}
}
}
}
}
Example:
{
"request": 6875,
"private": 0,
"performers": "5547,50",
"reminder": 1,
"subject": "Test Action",
"dueDate": "2015-06-26T10:08:00.000+0300",
"start": "2015-06-26T10:08:00.000+0300",
"description": "<p>test description</p>",
"project": 9851,
"opportunity": 3257,
"type": 5,
"priority": 2,
"salesOrder": 6981,
"responsible": 28482,
"contact": 9647,
"campaign": 5214,
"location": "Oulu",
"id": 2842904,
"status": 1
}
HTTP status code 204
No HTTP body returned
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
delete /actions/{action_id}
Remove a action from PlanMill.
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- action_id: required(string)
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
HTTP status code 204
No HTTP body returned
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
Get meta information for the updatable fields of the action
View details of a single meta.
get /actions/{action_id}/meta
View details of a single meta.
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- action_id: required(string)
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
HTTP status code 200
Body
Media type: application/json
Type: object
Example:
{
"request": {
"caption": "",
"format": "int",
"description": "",
"values": null
},
"private": {
"caption": "Private",
"format": "short",
"description": "",
"enumeration": "Enumeration values.Sales management.Actions.View status",
"values": {
"No": "0",
"Yes": "1"
}
},
"performers": {
"caption": "Performer(s)",
"values": {
"Admin, Test": "2833",
"testi, testi": "2981"
},
"format": "string",
"description": ""
},
"reminder": {
"caption": "Reminder",
"format": "short",
"description": "",
"maxlength": "80",
"enumeration": "Enumeration values.Sales management.Actions.Reminder",
"values": {
"14 days before due date": "5",
"No": "0",
"1 days before due date": "2",
"3 days before due date": "3",
"7 days before due date": "4",
"Same day as due date": "1",
"30 days before due date": "6"
}
},
"subject": {
"caption": "Subject",
"format": "string",
"description": "",
"maxlength": "255",
"values": null
},
"dueDate": {
"calendar": "yyyy-MM-dd'T'HH:mm:ss.SSSZ",
"caption": "Due date",
"format": "string",
"description": "",
"maxlength": "10",
"values": null
},
"start": {
"calendar": "yyyy-MM-dd'T'HH:mm:ss.SSSZ",
"caption": "Start date",
"format": "string",
"description": "",
"maxlength": "10",
"values": null
},
"description": {
"caption": "",
"format": "string",
"description": "",
"values": null
},
"project": {
"caption": "",
"format": "int",
"description": "",
"values": null
},
"opportunity": {
"caption": "",
"format": "int",
"description": "",
"values": null
},
"type": {
"caption": "Type",
"format": "short",
"description": "",
"enumeration": "Enumeration values.Sales management.Actions.Type",
"values": {
"Call": "1",
"To do": "10",
"Demo": "3",
"Email": "4",
"Meeting": "7",
"Webinar": "11",
"Correspondence": "2",
"Event": "5",
"Fax": "6",
"Presentation": "9",
"-": "0"
}
},
"priority": {
"caption": "Priority",
"format": "short",
"description": "",
"enumeration": "Enumeration values.Sales management.Actions.Priority",
"values": {
"1. High": "1",
"3. Low": "3",
"2. Medium": "2"
}
},
"salesOrder": {
"caption": "",
"format": "int",
"description": "",
"values": null
},
"responsible": {
"caption": "Responsible person",
"values": {
"Admin, Test": 2833,
"testi, testi": "2801981"
},
"format": "int",
"description": ""
},
"contact": {
"caption": "",
"format": "int",
"description": "",
"values": null
},
"campaign": {
"caption": "",
"format": "int",
"description": "",
"values": null
},
"location": {
"caption": "Location",
"format": "string",
"description": "",
"maxlength": "255",
"values": null
},
"id": {
"caption": "",
"format": "int",
"description": "",
"values": null
},
"status": {
"caption": "Status",
"format": "short",
"description": "",
"enumeration": "Enumeration values.Sales management.Actions.Status",
"values": {
"3. In progress - waiting for more info": "2",
"5. Completed": "40",
"4. Suspended": "3",
"1. Received": "0",
"2. In progress": "1"
}
}
}
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
Collection of available attachments in PlanMill. This is a read-only collection.
Get a list of attachments
get /actions/{action_id}/attachments
Get a list of attachments
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- action_id: required(string)
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
Query Parameters
- rowcount?: (integer - minimum: 1)
It limits the result set amount to the specified limit to avoid API call to return too many records. Default row count is 100
- nextrows?: (integer)
The number of the next starting row. It is dependent on rowcount. For example, for total 250 items, if rowcount is 100 and nextrows is 101, it return items 101-201
- order?: (integer)
Orders the results in ascending or descending order. 0=Ascending and 1=Descending. It is used in combination with sort
- sort?: (integer)
Sorts the results using number that is associated with each column
HTTP status code 200
Body
Media type: application/json
Type: object
Example:
[
{
"size": 8497,
"createdBy": 50,
"created": "2022-01-13T13:05:10.837+0200",
"name": "attached_file_test.txt",
"modified": "2022-01-13T13:18:25.353+0200",
"id": 1543
},
{
"size": 146169,
"createdBy": 50,
"created": "2022-01-13T13:18:25.353+0200",
"name": "attached_file.txt",
"modified": "2022-01-13T13:18:25.353+0200",
"id": 1545
}
]
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
attachment_id is returned by /tempfiles endpoint on file upload.
View details of single attachment.
put /actions/{action_id}/attachments/{attachment_id}
attachment_id is returned by /tempfiles endpoint on file upload.
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- action_id: required(string)
- attachment_id: required(string)
Headers
- Content-Type: required(string - default: application/json;charset=UTF-8 )
Example:
application/json;charset=UTF-8
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
HTTP status code 204
No HTTP body returned
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
get /actions/{action_id}/attachments/{attachment_id}
View details of single attachment.
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- action_id: required(string)
- attachment_id: required(string)
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
HTTP status code 200
Body
Media type: application/json
Type: object
Example:
Contents of file
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
/batch
Submit multiple API requests as a batch operation. All available individual API requests are supported collected into a JSON array. Responses are also returned as an array in same order as posted. If any request fails, all subsequent requests fail. This is to support execution order inside the batch. All headers apply for all requests unless specific headers applied
post /batch
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
Headers
- Content-Type: required(string - default: application/json;charset=UTF-8 )
Example:
application/json;charset=UTF-8
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "base schema for all batch entities",
"type": "array",
"items": { "$ref": "#/definitions/batch" },
"definitions": {
"batch": {
"type": [ "object", "null" ],
"required": [ "destination", "method", "headers" ],
"additionalProperties": false,
"properties": {
"destination": {
"type": "string",
"description": "API Resource-URI, that might have the ID included"
},
"method": {
"enum": [ "POST", "DELETE", "GET" ],
"description": "HTTP-method that defines the execution implementation"
},
"headers": {
"type": "object",
"description": "JSON-Object includes all the individual header parameters needed for each request"
},
"body": {
"oneOf": [
{
"type": "array",
"items": { "type": "object" }
},
{
"type": "object"
}
]
}
}
}
}
}
Example:
[
{
"destination": "projects",
"method": "POST",
"header": {
},
"body": {
"name": "BatchDraftV1"
}
},
{
"destination": "projects/2839831",
"method": "POST",
"header": {
},
"body": {
"name": "BatchDraftV4"
}
},
{
"destination": "projects/2839830",
"method": "DELETE",
"header": {
},
"body": {
}
}
]
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[
{
"destination": "projects",
"method": "POST",
"header": {
},
"body": {
"name": "BatchDraftV1"
}
},
{
"destination": "projects/2839831",
"method": "POST",
"header": {
},
"body": {
"name": "BatchDraftV4"
}
},
{
"destination": "projects/2839830",
"method": "DELETE",
"header": {
},
"body": {
}
}
]
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
/boards
Kanban board from PlanMill
Get a list of boards
get /boards
Get a list of boards
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
Query Parameters
- rowcount?: (integer - minimum: 1)
It limits the result set amount to the specified limit to avoid API call to return too many records. Default row count is 100
- nextrows?: (integer)
The number of the next starting row. It is dependent on rowcount. For example, for total 250 items, if rowcount is 100 and nextrows is 101, it return items 101-201
- order?: (integer)
Orders the results in ascending or descending order. 0=Ascending and 1=Descending. It is used in combination with sort
- sort?: (integer)
Sorts the results using number that is associated with each column
HTTP status code 200
Body
Media type: application/json
Type: object
Example:
{
"name": "New test board",
"id": 1782
}
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
A single board in PlanMill.
View details of a single board
Update an existing resource board to PlanMill. See boards/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
Remove a board from PlanMill.
get /boards/{board_id}
View details of a single board
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- board_id: required(string)
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
HTTP status code 200
Body
Media type: application/json
Type: board
Example:
{
"name": "New test board",
"id": 1782
}
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
post /boards/{board_id}
Update an existing resource board to PlanMill. See boards/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- board_id: required(string)
Headers
- Content-Type: required(string - default: application/json;charset=UTF-8 )
Example:
application/json;charset=UTF-8
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
Body
Media type: application/json
Type: board
Example:
{
"name": "New test board",
"id": 1782
}
HTTP status code 204
No HTTP body returned
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
delete /boards/{board_id}
Remove a board from PlanMill.
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- board_id: required(string)
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
HTTP status code 204
No HTTP body returned
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
/boardlists
Kanban boardlist from PlanMill
Get a list of boardlists
get /boardlists
Get a list of boardlists
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
Query Parameters
- rowcount?: (integer - minimum: 1)
It limits the result set amount to the specified limit to avoid API call to return too many records. Default row count is 100
- nextrows?: (integer)
The number of the next starting row. It is dependent on rowcount. For example, for total 250 items, if rowcount is 100 and nextrows is 101, it return items 101-201
- order?: (integer)
Orders the results in ascending or descending order. 0=Ascending and 1=Descending. It is used in combination with sort
- sort?: (integer)
Sorts the results using number that is associated with each column
HTTP status code 200
Body
Media type: application/json
Type: object
Example:
{
"updatedFields": null,
"ordinalNumber": 1,
"resource": "projects",
"name": "Test board list 1",
"id": 1222,
"filters": null,
"board": 122
}
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
A single boardlist in PlanMill.
View details of a single board list
Update an existing resource boardlist to PlanMill. See boardlists/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
Remove a boardlist from PlanMill.
get /boardlists/{boardlist_id}
View details of a single board list
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- boardlist_id: required(string)
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
HTTP status code 200
Body
Media type: application/json
Type: boardlist
Example:
{
"updatedFields": null,
"ordinalNumber": 1,
"resource": "projects",
"name": "Test board list 1",
"id": 1222,
"filters": null,
"board": 122
}
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
post /boardlists/{boardlist_id}
Update an existing resource boardlist to PlanMill. See boardlists/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- boardlist_id: required(string)
Headers
- Content-Type: required(string - default: application/json;charset=UTF-8 )
Example:
application/json;charset=UTF-8
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
Body
Media type: application/json
Type: boardlist
Example:
{
"updatedFields": null,
"ordinalNumber": 1,
"resource": "projects",
"name": "Test board list 1",
"id": 1222,
"filters": null,
"board": 122
}
HTTP status code 204
No HTTP body returned
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
delete /boardlists/{boardlist_id}
Remove a boardlist from PlanMill.
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- boardlist_id: required(string)
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
HTTP status code 204
No HTTP body returned
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
/campaigns
Collection of available campaigns in PlanMill
Get a list of campaigns
Add a new campaign to PlanMill or update existing (if id is given). See campaigns/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
get /campaigns
Get a list of campaigns
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
Query Parameters
- rowcount?: (integer - minimum: 1)
It limits the result set amount to the specified limit to avoid API call to return too many records. Default row count is 100
- nextrows?: (integer)
The number of the next starting row. It is dependent on rowcount. For example, for total 250 items, if rowcount is 100 and nextrows is 101, it return items 101-201
- order?: (integer)
Orders the results in ascending or descending order. 0=Ascending and 1=Descending. It is used in combination with sort
- sort?: (string)
Sorts the results using string that is a JSON attribute
- interval?: (string)
Interval type, e.g. start, finish, created, or modified. It is used in combination with intervalstart or intervalfinish
- intervalstart?: (string)
Start date of the interval in UTC format, intervalfinish required
Example:
2021-08-05T00:00:00.000+0200
- intervalfinish?: (string)
Finish date of the interval in UTC format, intervalstart required
Example:
2021-08-05T00:00:00.000+0200
HTTP status code 200
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "base schema for all campaign entities",
"oneOf": [
{
"type": "array",
"items": { "$ref": "#/definitions/campaignArray" }
},
{
"$ref": "#/definitions/campaignSingle"
}
],
"definitions": {
"campaignArray": {
"type": "object",
"required": [ "name", "status", "type", "start", "responsible" ],
"additionalProperties": false,
"properties": {
"id": {
"type": "integer",
"description": "Internal id of a campaign"
},
"notParticipated": {
"type": "integer",
"description": "Number of contacts who did not participate in a campaign"
},
"latestCreatedMails": {
"type": ["string", "null"],
"description": "Subject of latest created mail"
},
"participated": {
"type": "integer",
"description": "Number of contacts who participated in a campaign"
},
"start": {
"type": "string",
"pattern": "(\\d{4})-([0][1-9]|[1][0-2])-([0][1-9]|[1-2][0-9]|[3][0-1])T([0][0-9]|[1][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9]).(\\d{3})((\\+|\\-)([0-9]|[0][0-9]|[1][0-9]|[2][0-3])([0-5][0-9]))",
"description": "Start date of a campaign"
},
"registered": {
"type": "integer",
"description": "Number of contacts who registered in a campaign"
},
"type": {
"type": "integer",
"description": "Type of a campaign [0=-; 1=Email; 2=Mail; 3=Web; 4=Exhibition; 5=Event]"
},
"unsubscribed": {
"type": "integer",
"description": "Number of contacts who unsubscribed in a campaign"
},
"members": {
"type": "integer",
"description": "Number of contacts who are members of a campaign"
},
"responsible": {
"type": "integer",
"description": "Internal id of a responsible person of a campaign"
},
"name": {
"type": "string",
"description": "Name of a campaign"
},
"latestSentMails": {
"type": [ "string", "null" ],
"description": "Subject of latest sent mail"
},
"cancelled": {
"type": "integer",
"description": "Number of contacts who cancelled in a campaign"
},
"finish": {
"type": "string",
"pattern": "(\\d{4})-([0][1-9]|[1][0-2])-([0][1-9]|[1-2][0-9]|[3][0-1])T([0][0-9]|[1][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9]).(\\d{3})((\\+|\\-)([0-9]|[0][0-9]|[1][0-9]|[2][0-3])([0-5][0-9]))",
"description": "Finish date of a campaign"
},
"status": {
"type": "integer",
"description": "Status of a campaign [0=Planning; 1=Active; 2=Inactive; 3=Completed]"
}
}
},
"campaignSingle": {
"type": "object",
"required": [ "name", "status", "type", "start", "responsible" ],
"additionalProperties": false,
"properties": {
"id": {
"type": "integer",
"description": "Internal ID of a campaign"
},
"plannedCost": {
"type": "integer",
"description": "Planned cost of a campaign"
},
"partner": {
"type": ["integer", "null"],
"description": "Internal id a partner contact related to a campaign"
},
"responsible": {
"type": "integer",
"description": "Internal id of a responsible person of a campaign"
},
"name": {
"type": "string",
"description": "Name of a campaign"
},
"start": {
"type": "string",
"pattern": "(\\d{4})-([0][1-9]|[1][0-2])-([0][1-9]|[1-2][0-9]|[3][0-1])T([0][0-9]|[1][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9]).(\\d{3})((\\+|\\-)([0-9]|[0][0-9]|[1][0-9]|[2][0-3])([0-5][0-9]))",
"description": "Start date of a campaign"
},
"description": {
"type": ["string", "null"],
"description": "Description of a campaign"
},
"project": {
"type": ["integer", "null"],
"description": "Internal id of a project related to a campaign"
},
"finish": {
"type": "string",
"pattern": "(\\d{4})-([0][1-9]|[1][0-2])-([0][1-9]|[1-2][0-9]|[3][0-1])T([0][0-9]|[1][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9]).(\\d{3})((\\+|\\-)([0-9]|[0][0-9]|[1][0-9]|[2][0-3])([0-5][0-9]))",
"description": "Finish date of a campaign"
},
"type": {
"type": "integer",
"description": "Type of a campaign [0=-; 1=Email; 2=Mail; 3=Web; 4=Exhibition; 5=Event]"
},
"status": {
"type": "integer",
"description": "Status of a campaign [0=Planning; 1=Active; 2=Inactive; 3=Completed]"
},
"actualCost": {
"type": "integer",
"description": "Actual cost of a campaign"
}
}
}
}
}
Example:
[
{
"notParticipated": 0,
"latestCreatedMails": "create a campaign email",
"participated": 0,
"start": "2016-08-01T00:00:00.000+0300",
"registered": 0,
"type": 1,
"unsubscribed": 0,
"members": 0,
"responsible": 356,
"name": "email campaign",
"latestSentMails": null,
"cancelled": 0,
"finish": "2016-08-03T00:00:00.000+0300",
"id": 2002,
"status": 0
},
{
"notParticipated": 1,
"latestCreatedMails": null,
"participated": 1,
"start": "2016-08-04T00:00:00.000+0300",
"registered": 0,
"type": 4,
"unsubscribed": 0,
"members": 2,
"responsible": 50,
"name": "exhibition campaign",
"latestSentMails": null,
"cancelled": 0,
"finish": "2016-08-05T00:00:00.000+0300",
"id": 2001,
"status": 1
}
]
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
post /campaigns
Add a new campaign to PlanMill or update existing (if id is given). See campaigns/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
Headers
- Content-Type: required(string - default: application/json;charset=UTF-8 )
Example:
application/json;charset=UTF-8
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "base schema for all campaign entities",
"oneOf": [
{
"type": "array",
"items": { "$ref": "#/definitions/campaignArray" }
},
{
"$ref": "#/definitions/campaignSingle"
}
],
"definitions": {
"campaignArray": {
"type": "object",
"required": [ "name", "status", "type", "start", "responsible" ],
"additionalProperties": false,
"properties": {
"id": {
"type": "integer",
"description": "Internal id of a campaign"
},
"notParticipated": {
"type": "integer",
"description": "Number of contacts who did not participate in a campaign"
},
"latestCreatedMails": {
"type": ["string", "null"],
"description": "Subject of latest created mail"
},
"participated": {
"type": "integer",
"description": "Number of contacts who participated in a campaign"
},
"start": {
"type": "string",
"pattern": "(\\d{4})-([0][1-9]|[1][0-2])-([0][1-9]|[1-2][0-9]|[3][0-1])T([0][0-9]|[1][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9]).(\\d{3})((\\+|\\-)([0-9]|[0][0-9]|[1][0-9]|[2][0-3])([0-5][0-9]))",
"description": "Start date of a campaign"
},
"registered": {
"type": "integer",
"description": "Number of contacts who registered in a campaign"
},
"type": {
"type": "integer",
"description": "Type of a campaign [0=-; 1=Email; 2=Mail; 3=Web; 4=Exhibition; 5=Event]"
},
"unsubscribed": {
"type": "integer",
"description": "Number of contacts who unsubscribed in a campaign"
},
"members": {
"type": "integer",
"description": "Number of contacts who are members of a campaign"
},
"responsible": {
"type": "integer",
"description": "Internal id of a responsible person of a campaign"
},
"name": {
"type": "string",
"description": "Name of a campaign"
},
"latestSentMails": {
"type": [ "string", "null" ],
"description": "Subject of latest sent mail"
},
"cancelled": {
"type": "integer",
"description": "Number of contacts who cancelled in a campaign"
},
"finish": {
"type": "string",
"pattern": "(\\d{4})-([0][1-9]|[1][0-2])-([0][1-9]|[1-2][0-9]|[3][0-1])T([0][0-9]|[1][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9]).(\\d{3})((\\+|\\-)([0-9]|[0][0-9]|[1][0-9]|[2][0-3])([0-5][0-9]))",
"description": "Finish date of a campaign"
},
"status": {
"type": "integer",
"description": "Status of a campaign [0=Planning; 1=Active; 2=Inactive; 3=Completed]"
}
}
},
"campaignSingle": {
"type": "object",
"required": [ "name", "status", "type", "start", "responsible" ],
"additionalProperties": false,
"properties": {
"id": {
"type": "integer",
"description": "Internal ID of a campaign"
},
"plannedCost": {
"type": "integer",
"description": "Planned cost of a campaign"
},
"partner": {
"type": ["integer", "null"],
"description": "Internal id a partner contact related to a campaign"
},
"responsible": {
"type": "integer",
"description": "Internal id of a responsible person of a campaign"
},
"name": {
"type": "string",
"description": "Name of a campaign"
},
"start": {
"type": "string",
"pattern": "(\\d{4})-([0][1-9]|[1][0-2])-([0][1-9]|[1-2][0-9]|[3][0-1])T([0][0-9]|[1][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9]).(\\d{3})((\\+|\\-)([0-9]|[0][0-9]|[1][0-9]|[2][0-3])([0-5][0-9]))",
"description": "Start date of a campaign"
},
"description": {
"type": ["string", "null"],
"description": "Description of a campaign"
},
"project": {
"type": ["integer", "null"],
"description": "Internal id of a project related to a campaign"
},
"finish": {
"type": "string",
"pattern": "(\\d{4})-([0][1-9]|[1][0-2])-([0][1-9]|[1-2][0-9]|[3][0-1])T([0][0-9]|[1][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9]).(\\d{3})((\\+|\\-)([0-9]|[0][0-9]|[1][0-9]|[2][0-3])([0-5][0-9]))",
"description": "Finish date of a campaign"
},
"type": {
"type": "integer",
"description": "Type of a campaign [0=-; 1=Email; 2=Mail; 3=Web; 4=Exhibition; 5=Event]"
},
"status": {
"type": "integer",
"description": "Status of a campaign [0=Planning; 1=Active; 2=Inactive; 3=Completed]"
},
"actualCost": {
"type": "integer",
"description": "Actual cost of a campaign"
}
}
}
}
}
Example:
{
"plannedCost": 500,
"partner": null,
"responsible": 356,
"name": "email campaign",
"start": "2016-08-01T00:00:00.000+0300",
"description": "<p>Write and send email for campaign</p>",
"project": null,
"finish": "2016-08-03T00:00:00.000+0300",
"id": 2002,
"type": 1,
"status": 3,
"actualCost": 300
}
HTTP status code 201
Body
Media type: application/json
Type: object
Example:
{ "id" : 123456 }
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
A single campaign in PlanMill.
View details of a single campaign
Update an existing resource campaign to PlanMill. See campaigns/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
Remove a campaign from PlanMill.
get /campaigns/{campaign_id}
View details of a single campaign
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- campaign_id: required(string)
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
HTTP status code 200
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "base schema for all campaign entities",
"oneOf": [
{
"type": "array",
"items": { "$ref": "#/definitions/campaignArray" }
},
{
"$ref": "#/definitions/campaignSingle"
}
],
"definitions": {
"campaignArray": {
"type": "object",
"required": [ "name", "status", "type", "start", "responsible" ],
"additionalProperties": false,
"properties": {
"id": {
"type": "integer",
"description": "Internal id of a campaign"
},
"notParticipated": {
"type": "integer",
"description": "Number of contacts who did not participate in a campaign"
},
"latestCreatedMails": {
"type": ["string", "null"],
"description": "Subject of latest created mail"
},
"participated": {
"type": "integer",
"description": "Number of contacts who participated in a campaign"
},
"start": {
"type": "string",
"pattern": "(\\d{4})-([0][1-9]|[1][0-2])-([0][1-9]|[1-2][0-9]|[3][0-1])T([0][0-9]|[1][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9]).(\\d{3})((\\+|\\-)([0-9]|[0][0-9]|[1][0-9]|[2][0-3])([0-5][0-9]))",
"description": "Start date of a campaign"
},
"registered": {
"type": "integer",
"description": "Number of contacts who registered in a campaign"
},
"type": {
"type": "integer",
"description": "Type of a campaign [0=-; 1=Email; 2=Mail; 3=Web; 4=Exhibition; 5=Event]"
},
"unsubscribed": {
"type": "integer",
"description": "Number of contacts who unsubscribed in a campaign"
},
"members": {
"type": "integer",
"description": "Number of contacts who are members of a campaign"
},
"responsible": {
"type": "integer",
"description": "Internal id of a responsible person of a campaign"
},
"name": {
"type": "string",
"description": "Name of a campaign"
},
"latestSentMails": {
"type": [ "string", "null" ],
"description": "Subject of latest sent mail"
},
"cancelled": {
"type": "integer",
"description": "Number of contacts who cancelled in a campaign"
},
"finish": {
"type": "string",
"pattern": "(\\d{4})-([0][1-9]|[1][0-2])-([0][1-9]|[1-2][0-9]|[3][0-1])T([0][0-9]|[1][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9]).(\\d{3})((\\+|\\-)([0-9]|[0][0-9]|[1][0-9]|[2][0-3])([0-5][0-9]))",
"description": "Finish date of a campaign"
},
"status": {
"type": "integer",
"description": "Status of a campaign [0=Planning; 1=Active; 2=Inactive; 3=Completed]"
}
}
},
"campaignSingle": {
"type": "object",
"required": [ "name", "status", "type", "start", "responsible" ],
"additionalProperties": false,
"properties": {
"id": {
"type": "integer",
"description": "Internal ID of a campaign"
},
"plannedCost": {
"type": "integer",
"description": "Planned cost of a campaign"
},
"partner": {
"type": ["integer", "null"],
"description": "Internal id a partner contact related to a campaign"
},
"responsible": {
"type": "integer",
"description": "Internal id of a responsible person of a campaign"
},
"name": {
"type": "string",
"description": "Name of a campaign"
},
"start": {
"type": "string",
"pattern": "(\\d{4})-([0][1-9]|[1][0-2])-([0][1-9]|[1-2][0-9]|[3][0-1])T([0][0-9]|[1][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9]).(\\d{3})((\\+|\\-)([0-9]|[0][0-9]|[1][0-9]|[2][0-3])([0-5][0-9]))",
"description": "Start date of a campaign"
},
"description": {
"type": ["string", "null"],
"description": "Description of a campaign"
},
"project": {
"type": ["integer", "null"],
"description": "Internal id of a project related to a campaign"
},
"finish": {
"type": "string",
"pattern": "(\\d{4})-([0][1-9]|[1][0-2])-([0][1-9]|[1-2][0-9]|[3][0-1])T([0][0-9]|[1][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9]).(\\d{3})((\\+|\\-)([0-9]|[0][0-9]|[1][0-9]|[2][0-3])([0-5][0-9]))",
"description": "Finish date of a campaign"
},
"type": {
"type": "integer",
"description": "Type of a campaign [0=-; 1=Email; 2=Mail; 3=Web; 4=Exhibition; 5=Event]"
},
"status": {
"type": "integer",
"description": "Status of a campaign [0=Planning; 1=Active; 2=Inactive; 3=Completed]"
},
"actualCost": {
"type": "integer",
"description": "Actual cost of a campaign"
}
}
}
}
}
Example:
{
"plannedCost": 500,
"partner": null,
"responsible": 356,
"name": "email campaign",
"start": "2016-08-01T00:00:00.000+0300",
"description": "<p>Write and send email for campaign</p>",
"project": null,
"finish": "2016-08-03T00:00:00.000+0300",
"id": 2002,
"type": 1,
"status": 3,
"actualCost": 300
}
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
post /campaigns/{campaign_id}
Update an existing resource campaign to PlanMill. See campaigns/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- campaign_id: required(string)
Headers
- Content-Type: required(string - default: application/json;charset=UTF-8 )
Example:
application/json;charset=UTF-8
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "base schema for all campaign entities",
"oneOf": [
{
"type": "array",
"items": { "$ref": "#/definitions/campaignArray" }
},
{
"$ref": "#/definitions/campaignSingle"
}
],
"definitions": {
"campaignArray": {
"type": "object",
"required": [ "name", "status", "type", "start", "responsible" ],
"additionalProperties": false,
"properties": {
"id": {
"type": "integer",
"description": "Internal id of a campaign"
},
"notParticipated": {
"type": "integer",
"description": "Number of contacts who did not participate in a campaign"
},
"latestCreatedMails": {
"type": ["string", "null"],
"description": "Subject of latest created mail"
},
"participated": {
"type": "integer",
"description": "Number of contacts who participated in a campaign"
},
"start": {
"type": "string",
"pattern": "(\\d{4})-([0][1-9]|[1][0-2])-([0][1-9]|[1-2][0-9]|[3][0-1])T([0][0-9]|[1][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9]).(\\d{3})((\\+|\\-)([0-9]|[0][0-9]|[1][0-9]|[2][0-3])([0-5][0-9]))",
"description": "Start date of a campaign"
},
"registered": {
"type": "integer",
"description": "Number of contacts who registered in a campaign"
},
"type": {
"type": "integer",
"description": "Type of a campaign [0=-; 1=Email; 2=Mail; 3=Web; 4=Exhibition; 5=Event]"
},
"unsubscribed": {
"type": "integer",
"description": "Number of contacts who unsubscribed in a campaign"
},
"members": {
"type": "integer",
"description": "Number of contacts who are members of a campaign"
},
"responsible": {
"type": "integer",
"description": "Internal id of a responsible person of a campaign"
},
"name": {
"type": "string",
"description": "Name of a campaign"
},
"latestSentMails": {
"type": [ "string", "null" ],
"description": "Subject of latest sent mail"
},
"cancelled": {
"type": "integer",
"description": "Number of contacts who cancelled in a campaign"
},
"finish": {
"type": "string",
"pattern": "(\\d{4})-([0][1-9]|[1][0-2])-([0][1-9]|[1-2][0-9]|[3][0-1])T([0][0-9]|[1][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9]).(\\d{3})((\\+|\\-)([0-9]|[0][0-9]|[1][0-9]|[2][0-3])([0-5][0-9]))",
"description": "Finish date of a campaign"
},
"status": {
"type": "integer",
"description": "Status of a campaign [0=Planning; 1=Active; 2=Inactive; 3=Completed]"
}
}
},
"campaignSingle": {
"type": "object",
"required": [ "name", "status", "type", "start", "responsible" ],
"additionalProperties": false,
"properties": {
"id": {
"type": "integer",
"description": "Internal ID of a campaign"
},
"plannedCost": {
"type": "integer",
"description": "Planned cost of a campaign"
},
"partner": {
"type": ["integer", "null"],
"description": "Internal id a partner contact related to a campaign"
},
"responsible": {
"type": "integer",
"description": "Internal id of a responsible person of a campaign"
},
"name": {
"type": "string",
"description": "Name of a campaign"
},
"start": {
"type": "string",
"pattern": "(\\d{4})-([0][1-9]|[1][0-2])-([0][1-9]|[1-2][0-9]|[3][0-1])T([0][0-9]|[1][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9]).(\\d{3})((\\+|\\-)([0-9]|[0][0-9]|[1][0-9]|[2][0-3])([0-5][0-9]))",
"description": "Start date of a campaign"
},
"description": {
"type": ["string", "null"],
"description": "Description of a campaign"
},
"project": {
"type": ["integer", "null"],
"description": "Internal id of a project related to a campaign"
},
"finish": {
"type": "string",
"pattern": "(\\d{4})-([0][1-9]|[1][0-2])-([0][1-9]|[1-2][0-9]|[3][0-1])T([0][0-9]|[1][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9]).(\\d{3})((\\+|\\-)([0-9]|[0][0-9]|[1][0-9]|[2][0-3])([0-5][0-9]))",
"description": "Finish date of a campaign"
},
"type": {
"type": "integer",
"description": "Type of a campaign [0=-; 1=Email; 2=Mail; 3=Web; 4=Exhibition; 5=Event]"
},
"status": {
"type": "integer",
"description": "Status of a campaign [0=Planning; 1=Active; 2=Inactive; 3=Completed]"
},
"actualCost": {
"type": "integer",
"description": "Actual cost of a campaign"
}
}
}
}
}
Example:
{
"plannedCost": 500,
"partner": null,
"responsible": 356,
"name": "email campaign",
"start": "2016-08-01T00:00:00.000+0300",
"description": "<p>Write and send email for campaign</p>",
"project": null,
"finish": "2016-08-03T00:00:00.000+0300",
"id": 2002,
"type": 1,
"status": 3,
"actualCost": 300
}
HTTP status code 204
No HTTP body returned
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
delete /campaigns/{campaign_id}
Remove a campaign from PlanMill.
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- campaign_id: required(string)
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
HTTP status code 204
No HTTP body returned
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
/companies
Collection of available companies in PlanMill. See companies/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
Get a list of companies. See companies/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
Add a new company to PlanMill or update existing (if id is given). See companies/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
get /companies
Get a list of companies. See companies/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
Query Parameters
- rowcount: (integer - minimum: 1)
It limits the result set amount to the specified limit to avoid API call to return too many records. Default row count is 100
- nextrows: (integer)
The number of the next starting row. It is dependent on rowcount. For example, for total 250 items, if rowcount is 100 and nextrows is 101, it return items 101-201
- order: (integer)
Orders the results in ascending or descending order. 0=Ascending and 1=Descending. It is used in combination with sort
- sort: (string)
Sorts the results using string that is a JSON attribute
- interval: (string)
Interval type, e.g. start, finish, created, or modified. It is used in combination with intervalstart or intervalfinish
- intervalstart: (string)
Start date of the interval in UTC format, intervalfinish required
Example:
2021-08-05T00:00:00.000+0200
- intervalfinish: (string)
Finish date of the interval in UTC format, intervalstart required
Example:
2021-08-05T00:00:00.000+0200
HTTP status code 200
Body
Media type: application/json
Type: array of company_getId
Items: company_getId
- name: (string)
Name of a company
- passive: (integer)
Active or passive state of company. Default value 0 (Active)
- vatId: (union of string or nil)
VAT id of a company
- businessId: (union of string or nil)
Business id of a company
- phone: (union of string or nil)
Phone number of a company
- website: (union of string or nil)
Website of a company
- email: (union of email or emptystring or nil)
Email address of a company
- billingAddress: (union of string or nil)
Invoice billing address of a company
- billingCity: (union of string or nil)
Invoice billing city of a company
- billingCountry: (union of integer or nil)
Invoice billing country of a company
- billingState: (union of string or nil)
- billingPostalCode: (union of string or nil)
Invoice billing postal code of a company
- visitingAddress: (union of string or integer or nil)
- visitingCity: (union of string or nil)
- visitingCountry: (union of integer or nil)
- visitingPostalCode: (union of string or nil)
- visitingState: (union of string or nil)
- domicile: (union of string or nil)
- firstInvoiceNumber: (union of integer or nil)
- receiveInvoices: (union of integer or nil)
- einvoiceSenderId: (union of string or integer or nil)
- einvoiceSenderOperator: (union of string or integer or nil)
- einvoicePaymentInstruction: (union of string or integer or nil)
- ceo: (union of string or nil)
- bankAccount1: (union of string or nil)
Bank name (and account number if no IBAN is used)
- iban1: (union of string or nil)
Required if IBAN is used
- bic1: (union of string or nil)
Required if IBAN is used
- bankInfo1: (union of string or nil)
Optional additional info for banking requirements
- bankAccount2: (union of string or nil)
- iban2: (union of string or nil)
- bic2: (union of string or nil)
- bankAccount3: (union of string or nil)
- iban3: (union of string or nil)
- bic3: (union of string or nil)
- id: (integer)
Id of a company
Example:
[
{
"name": "Test Company",
"id": 181417,
"passive": 0,
"vatId": "2862228-2",
"businessId": "2862228-2",
"phone": "+358-44-324125",
"website": "http://www.planmill.com",
"email": "email@planmill.com",
"billingAddress": "Hämeentie 19",
"billingCity": "Helsinki",
"billingCountry": 73,
"billingState": null,
"billingPostalCode": "00500",
"visitingAddress": "Siltasaarenkatu 18",
"visitingCity": "Helsinki",
"visitingCountry": 73,
"visitingPostalCode": "13233",
"visitingState": "",
"domicile": null,
"firstInvoiceNumber": null,
"einvoiceSenderId": null,
"einvoiceSenderOperator": null,
"einvoicePaymentInstruction": null,
"ceo": null,
"bankAccount1": null,
"iban1": null,
"bic1": null,
"bankInfo1": null,
"bankAccount2": null,
"iban2": null,
"bic2": null,
"bankAccount3": null,
"iban3": null,
"bic3": null
},
{
"name": "Test Company",
"id": 170317,
"passive": 0,
"vatId": "2862228-2",
"businessId": "2862228-2",
"phone": "+358-44-324125",
"website": "http://www.planmill.com",
"email": "email@planmill.com",
"billingAddress": "Hämeentie 19",
"billingCity": "Helsinki",
"billingCountry": 73,
"billingState": null,
"billingPostalCode": "00500",
"visitingAddress": "Siltasaarenkatu 18",
"visitingCity": "Helsinki",
"visitingCountry": 73,
"visitingPostalCode": "13233",
"visitingState": "",
"domicile": null,
"firstInvoiceNumber": null,
"einvoiceSenderId": null,
"einvoiceSenderOperator": null,
"einvoicePaymentInstruction": null,
"ceo": null,
"bankAccount1": null,
"iban1": null,
"bic1": null,
"bankInfo1": null,
"bankAccount2": null,
"iban2": null,
"bic2": null,
"bankAccount3": null,
"iban3": null,
"bic3": null
}
]
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
post /companies
Add a new company to PlanMill or update existing (if id is given). See companies/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
Headers
- Content-Type: required(string - default: application/json;charset=UTF-8)
Example:
application/json;charset=UTF-8
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
Body
Media type: application/json
Type: object
Properties- name: required(string)
Name of a company
- passive: (integer)
Active or passive state of company. Default value 0 (Active)
- vatId: (union of string or nil)
VAT id of a company
- businessId: (union of string or nil)
Business id of a company
- phone: (union of string or nil)
Phone number of a company
- website: (union of string or nil)
Website of a company
- email: (union of email or emptystring or nil)
Email address of a company
- billingAddress: (union of string or nil)
Invoice billing address of a company
- billingCity: (union of string or nil)
Invoice billing city of a company
- billingCountry: (union of integer or nil)
Invoice billing country of a company
- billingState: (union of string or nil)
- billingPostalCode: (union of string or nil)
Invoice billing postal code of a company
- visitingAddress: (union of string or integer or nil)
- visitingCity: (union of string or nil)
- visitingCountry: (union of integer or nil)
- visitingPostalCode: (union of string or nil)
- visitingState: (union of string or nil)
- domicile: (union of string or nil)
- firstInvoiceNumber: (union of integer or nil)
- receiveInvoices: (union of integer or nil)
- einvoiceSenderId: (union of string or integer or nil)
- einvoiceSenderOperator: (union of string or integer or nil)
- einvoicePaymentInstruction: (union of string or integer or nil)
- ceo: (union of string or nil)
- bankAccount1: (union of string or nil)
Bank name (and account number if no IBAN is used)
- iban1: (union of string or nil)
Required if IBAN is used
- bic1: (union of string or nil)
Required if IBAN is used
- bankInfo1: (union of string or nil)
Optional additional info for banking requirements
- bankAccount2: (union of string or nil)
- iban2: (union of string or nil)
- bic2: (union of string or nil)
- bankAccount3: (union of string or nil)
- iban3: (union of string or nil)
- bic3: (union of string or nil)
Example:
{
"name": "Test Company",
"passive": 0,
"vatId": "2862228-2",
"businessId": "2862228-2",
"phone": "+358-44-324125",
"website": "http://www.planmill.com",
"email": "email@planmill.com",
"billingAddress": "Hämeentie 19",
"billingCity": "Helsinki",
"billingCountry": 73,
"billingState": null,
"billingPostalCode": "00500",
"visitingAddress": "Siltasaarenkatu 18",
"visitingCity": "Helsinki",
"visitingCountry": 73,
"visitingPostalCode": "13233",
"visitingState": "",
"domicile": null,
"firstInvoiceNumber": null,
"einvoiceSenderId": null,
"einvoiceSenderOperator": null,
"einvoicePaymentInstruction": null,
"ceo": null,
"bankAccount1": null,
"iban1": null,
"bic1": null,
"bankInfo1": null,
"bankAccount2": null,
"iban2": null,
"bic2": null,
"bankAccount3": null,
"iban3": null,
"bic3": null
}
HTTP status code 201
Body
Media type: application/json
Type: object
Example:
{ "id" : 123456 }
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
A single company in PlanMill.
View details of a single company. See companies/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
Update an existing resource company to PlanMill. See companies/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
Remove a company from PlanMill.
get /companies/{company_id}
View details of a single company. See companies/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- company_id: required(string)
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- name: (string)
Name of a company
- passive: (integer)
Active or passive state of company. Default value 0 (Active)
- vatId: (union of string or nil)
VAT id of a company
- businessId: (union of string or nil)
Business id of a company
- phone: (union of string or nil)
Phone number of a company
- website: (union of string or nil)
Website of a company
- email: (union of email or emptystring or nil)
Email address of a company
- billingAddress: (union of string or nil)
Invoice billing address of a company
- billingCity: (union of string or nil)
Invoice billing city of a company
- billingCountry: (union of integer or nil)
Invoice billing country of a company
- billingState: (union of string or nil)
- billingPostalCode: (union of string or nil)
Invoice billing postal code of a company
- visitingAddress: (union of string or integer or nil)
- visitingCity: (union of string or nil)
- visitingCountry: (union of integer or nil)
- visitingPostalCode: (union of string or nil)
- visitingState: (union of string or nil)
- domicile: (union of string or nil)
- firstInvoiceNumber: (union of integer or nil)
- receiveInvoices: (union of integer or nil)
- einvoiceSenderId: (union of string or integer or nil)
- einvoiceSenderOperator: (union of string or integer or nil)
- einvoicePaymentInstruction: (union of string or integer or nil)
- ceo: (union of string or nil)
- bankAccount1: (union of string or nil)
Bank name (and account number if no IBAN is used)
- iban1: (union of string or nil)
Required if IBAN is used
- bic1: (union of string or nil)
Required if IBAN is used
- bankInfo1: (union of string or nil)
Optional additional info for banking requirements
- bankAccount2: (union of string or nil)
- iban2: (union of string or nil)
- bic2: (union of string or nil)
- bankAccount3: (union of string or nil)
- iban3: (union of string or nil)
- bic3: (union of string or nil)
- id: (integer)
Id of a company
Example:
{
"name": "Test Company",
"id": 170317,
"passive": 0,
"vatId": "2862228-2",
"businessId": "2862228-2",
"phone": "+358-44-324125",
"website": "http://www.planmill.com",
"email": "email@planmill.com",
"billingAddress": "Hämeentie 19",
"billingCity": "Helsinki",
"billingCountry": 73,
"billingState": null,
"billingPostalCode": "00500",
"visitingAddress": "Siltasaarenkatu 18",
"visitingCity": "Helsinki",
"visitingCountry": 73,
"visitingPostalCode": "13233",
"visitingState": "",
"domicile": null,
"firstInvoiceNumber": null,
"einvoiceSenderId": null,
"einvoiceSenderOperator": null,
"einvoicePaymentInstruction": null,
"ceo": null,
"bankAccount1": null,
"iban1": null,
"bic1": null,
"bankInfo1": null,
"bankAccount2": null,
"iban2": null,
"bic2": null,
"bankAccount3": null,
"iban3": null,
"bic3": null
}
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
post /companies/{company_id}
Update an existing resource company to PlanMill. See companies/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- company_id: required(string)
Headers
- Content-Type: required(string - default: application/json;charset=UTF-8 )
Example:
application/json;charset=UTF-8
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
Body
Media type: application/json
Type: object
Properties- name: (string)
Name of a company
- passive: (integer)
Active or passive state of company. Default value 0 (Active)
- vatId: (union of string or nil)
VAT id of a company
- businessId: (union of string or nil)
Business id of a company
- phone: (union of string or nil)
Phone number of a company
- website: (union of string or nil)
Website of a company
- email: (union of email or emptystring or nil)
Email address of a company
- billingAddress: (union of string or nil)
Invoice billing address of a company
- billingCity: (union of string or nil)
Invoice billing city of a company
- billingCountry: (union of integer or nil)
Invoice billing country of a company
- billingState: (union of string or nil)
- billingPostalCode: (union of string or nil)
Invoice billing postal code of a company
- visitingAddress: (union of string or integer or nil)
- visitingCity: (union of string or nil)
- visitingCountry: (union of integer or nil)
- visitingPostalCode: (union of string or nil)
- visitingState: (union of string or nil)
- domicile: (union of string or nil)
- firstInvoiceNumber: (union of integer or nil)
- receiveInvoices: (union of integer or nil)
- einvoiceSenderId: (union of string or integer or nil)
- einvoiceSenderOperator: (union of string or integer or nil)
- einvoicePaymentInstruction: (union of string or integer or nil)
- ceo: (union of string or nil)
- bankAccount1: (union of string or nil)
Bank name (and account number if no IBAN is used)
- iban1: (union of string or nil)
Required if IBAN is used
- bic1: (union of string or nil)
Required if IBAN is used
- bankInfo1: (union of string or nil)
Optional additional info for banking requirements
- bankAccount2: (union of string or nil)
- iban2: (union of string or nil)
- bic2: (union of string or nil)
- bankAccount3: (union of string or nil)
- iban3: (union of string or nil)
- bic3: (union of string or nil)
Example:
{
"name": "Test Company",
"passive": 0,
"vatId": "2862228-2",
"businessId": "2862228-2",
"phone": "+358-44-324125",
"website": "http://www.planmill.com",
"email": "email@planmill.com",
"billingAddress": "Hämeentie 19",
"billingCity": "Helsinki",
"billingCountry": 73,
"billingState": null,
"billingPostalCode": "00500",
"visitingAddress": "Siltasaarenkatu 18",
"visitingCity": "Helsinki",
"visitingCountry": 73,
"visitingPostalCode": "13233",
"visitingState": "",
"domicile": null,
"firstInvoiceNumber": null,
"einvoiceSenderId": null,
"einvoiceSenderOperator": null,
"einvoicePaymentInstruction": null,
"ceo": null,
"bankAccount1": null,
"iban1": null,
"bic1": null,
"bankInfo1": null,
"bankAccount2": null,
"iban2": null,
"bic2": null,
"bankAccount3": null,
"iban3": null,
"bic3": null
}
HTTP status code 204
No HTTP body returned
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
delete /companies/{company_id}
Remove a company from PlanMill.
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- company_id: required(string)
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
HTTP status code 204
No HTTP body returned
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
A single logo in PlanMill.
View details of the logo.
Remove a logo from PlanMill.
get /companies/{company_id}/logo
View details of the logo.
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- company_id: required(string)
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
HTTP status code 200
Body
Media type: application/json
Type: logo
Example:
Contents of file
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
delete /companies/{company_id}/logo
Remove a logo from PlanMill.
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- company_id: required(string)
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
HTTP status code 204
No HTTP body returned
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
A single logo in PlanMill.
Attach existing file to user.( Tips use file id from api/1.5/tempfile )
put /companies/{company_id}/logo/{logo_id}
Attach existing file to user.( Tips use file id from api/1.5/tempfile )
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- company_id: required(string)
- logo_id: required(string)
Headers
- Content-Type: required(string - default: application/json;charset=UTF-8 )
Example:
application/json;charset=UTF-8
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
Body
Media type: application/json
Type: any
Example:
<<exampleCollectionPutItem>>
HTTP status code 204
No HTTP body returned
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
/capacitycalendars
Collection of available capacitycalendars in PlanMill. This is a read-only collection.
Get a list of capacitycalendars
get /capacitycalendars
Get a list of capacitycalendars
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
Query Parameters
- rowcount?: (integer - minimum: 1)
It limits the result set amount to the specified limit to avoid API call to return too many records. Default row count is 100
- nextrows?: (integer)
The number of the next starting row. It is dependent on rowcount. For example, for total 250 items, if rowcount is 100 and nextrows is 101, it return items 101-201
- order?: (integer)
Orders the results in ascending or descending order. 0=Ascending and 1=Descending. It is used in combination with sort
- sort?: (integer)
Sorts the results using number that is associated with each column
HTTP status code 200
Body
Media type: application/json
Type: object
Example:
[
{
"country": 73,
"defaultWeekStartDay": 1,
"defaultDailyWorktime": 510,
"defaultDailyStartTime": 540,
"name": "FI 2006 - 2010",
"start": "2006-01-01T00:00:00.000+0200",
"defaultWeeklyWorkdays": 5,
"finish": "2011-12-31T00:00:00.000+0200",
"activeUsers": 7,
"id": 480895,
"type": 0
},
{
"country": null,
"defaultWeekStartDay": 1,
"defaultDailyWorktime": 450,
"defaultDailyStartTime": 540,
"name": "FI 2009 - 2019",
"start": "2009-01-01T00:00:00.000+0200",
"defaultWeeklyWorkdays": 5,
"finish": "2019-12-31T00:00:00.000+0200",
"activeUsers": 54,
"id": 585281,
"type": 0
},
{
"country": 73,
"defaultWeekStartDay": 1,
"defaultDailyWorktime": 360,
"defaultDailyStartTime": 540,
"name": "FI2011: Osa-aika - 30 h/vk",
"start": "2011-01-01T00:00:00.000+0200",
"defaultWeeklyWorkdays": 5,
"finish": "2011-12-31T00:00:00.000+0200",
"activeUsers": 1,
"id": 2771516,
"type": 2
}
]
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
Get meta information for capacity calendars. Includes resource's fields names and type and related filters
View details of a single meta.
get /capacitycalendars/meta
View details of a single meta.
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
HTTP status code 200
Body
Media type: application/json
Type: object
Example:
{
"filters": [
{
"name": "rowcount",
"caption": "Rows",
"values": {
"25": "25",
"50": "50",
"75": "75",
"100": "100",
"150": "150",
"250": "250"
}
}
],
"fields": {
"country": {
"format": "Enumeration values.Location.CountryId",
"caption": "Country"
},
"defaultWeekStartDay": {
"format": "Enumeration values.Administration.Calendars.Days",
"caption": "Default week start day"
},
"defaultDailyWorktime": {
"format": "hour",
"caption": "Default work time daily"
},
"defaultDailyStartTime": {
"format": "time",
"caption": "Default start time daily"
},
"name": {
"format": "text",
"caption": "_Name"
},
"start": {
"format": "shortdate",
"caption": "Start"
},
"defaultWeeklyWorkdays": {
"format": "number",
"caption": "Default work days weekly"
},
"finish": {
"format": "shortdate",
"caption": "Finish"
},
"activeUsers": {
"format": "text",
"caption": "Active users"
},
"id": {
"format": "checkbox",
"caption": "_"
},
"type": {
"format": "Enumeration values.Employee directory.Contact.Employee status",
"caption": "Type"
}
}
}
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
Set a single day's capacity for a capacity calendar
put /capacitycalendars/capacitycalendars/{id}/capacity/{date}
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- id: required(string)
- date: required(date)
Capacity date in UTC format
Example:
2019-03-01T00:00:00.000+0200
Headers
- Content-Type: required(string - default: application/json;charset=UTF-8 )
Example:
application/json;charset=UTF-8
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
Body
Media type: application/json
Type: any
Example:
{}
HTTP status code 204
No HTTP body returned
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
/contacts
Collection of available contacts in PlanMill. See contacts/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
Get a list of contacts. See contacts/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
To add a new contact. See contacts/meta for list of columns and formats.
get /contacts
Get a list of contacts. See contacts/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
Query Parameters
- campaigns?: (integer)
Internal id of campaign to search contacts belonging to specific campaign
- interval?: (string)
Interval type, e.g. start, finish, created, or modified. It is used in combination with intervalstart or intervalfinish
- intervalstart?: (string)
Start date of the interval in UTC format, intervalfinish required
Example:
2019-03-01T00:00:00.000+0200
- intervalfinish?: (string)
Finish date of the interval in UTC format, intervalstart required
Example:
2019-03-01T00:00:00.000+0200
- rowcount?: (integer - minimum: 1)
It limits the result set amount to the specified limit to avoid API call to return too many records. Default row count is 100
- nextrows?: (integer)
The number of the next starting row. It is dependent on rowcount. For example, for total 250 items, if rowcount is 100 and nextrows is 101, it return items 101-201
- order?: (integer)
Orders the results in ascending or descending order. 0=Ascending and 1=Descending. It is used in combination with sort
- sort?: (string)
Sorts the results using string that is a JSON attribute
HTTP status code 200
Body
Media type: application/json
Type: array of contact
Items: contact
- lastName: (string - maxLength: 80)
Last name of a contact
- firstName: (string - maxLength: 80)
First name of a contact
- title: (union of string or nil)
Title of contact
- department: (union of string or nil)
Contact's department
- account: (integer)
Id of contact's account
- accountName: (union of string or nil)
Account name of contact
- languageCode: (union of string or nil)
Language code
- workPhone: (union of string or nil)
- mobilePhone: (union of string or nil)
- email: (union of email or emptystring or nil)
Contact specific email address
- id: (integer)
Contact (internal) id
- passive: (integer)
Contact status can be active or passive. 0=Active 1=InActive
- primaryPhone: (union of string or nil)
- primaryAddress: (union of string or nil)
Address of contact's account
- primaryPostalCode: (union of string or nil)
- primaryCity: (union of string or nil)
- primaryCountry: (union of integer or nil)
- secondaryDepartment: (union of string or nil)
Contact's secondary department
- secondaryAddress: (union of string or nil)
Contact specific address
- secondaryPostalCode: (union of string or nil)
- secondaryCity: (union of string or nil)
- secondaryCountry: (union of integer or nil)
- skype: (union of string or nil)
Contact's skype name
- googleTalk: (union of string or nil)
Contact's google talk address
- linkedIn: (union of string or nil)
Contact's linkedIn address
- website: (union of string or nil)
Account website
- created: (datetime)
- createdBy: (union of string or integer or nil)
- modified: (union of datetime or nil)
- modifiedBy: (union of string or integer or nil)
- invoiceXsl: (union of string or nil)
- accountType: (union of integer or nil)
Example:
[
{
"lastName": "Tester, First",
"secondaryAddress": "Kuitinkatu 2",
"primaryPostalCode": "00020",
"accountName": "PlanMill Oy",
"title": "Software Engineer",
"primaryCity": "Helsinki",
"invoiceXsl": "planmill_en_eur.xsl",
"secondaryPostalCode": "02210",
"skype": "skype:skpe_id?userinfo",
"secondaryCity": "Espoo",
"modified": "2015-09-08T14:56:19.663+0300",
"modifiedBy": "Tester, Second",
"id": 3574,
"department": "Sofware Development",
"primaryCountry": 73,
"email": "first.tester@planmill.com",
"secondaryCountry": 73,
"website": "http://www.planmill.com",
"created": "2015-06-22T15:43:36.880+0300",
"accountType": 6,
"linkedIn": "http://www.linkedin.com",
"languageCode": "en",
"passive": 0,
"primaryPhone": "+358-466-5556951",
"mobilePhone": "+358-466-5556951",
"createdBy": "PlanMill, Maintenance-user",
"workPhone": "358103229110",
"googleTalk": "gtalk:call?gtalk_id",
"primaryAddress": "Hämeentie 19",
"account": 51
},
{
"lastName": "Tester, Second",
"secondaryAddress": null,
"primaryPostalCode": "00020",
"accountName": "Nordea Rahoitus Suomi Oy",
"title": null,
"primaryCity": "NORDEA",
"secondaryPostalCode": null,
"skype": null,
"secondaryCity": null,
"id": 1534,
"department": null,
"primaryCountry": 73,
"email": "first.tester@planmill.com",
"secondaryCountry": null,
"linkedIn": null,
"languageCode": "en",
"passive": 0,
"firstName": "",
"mobilePhone": "+358-466-5556951",
"workPhone": null,
"googleTalk": null,
"primaryAddress": "Myyntisaatavien palvelut",
"account": 1000
}
]
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
post /contacts
To add a new contact. See contacts/meta for list of columns and formats.
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
Headers
- Content-Type: required(string - default: application/json;charset=UTF-8)
Example:
application/json;charset=UTF-8
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
Body
Media type: application/json
Type: object
Properties- lastName: required(string - maxLength: 80)
Last name of a contact
- account: required(integer)
Id of contact's account
- firstName: (string - maxLength: 80)
First name of a contact
- title: (union of string or nil)
Title of contact
- department: (union of string or nil)
Contact's department
- accountName: (union of string or nil)
Account name of contact
- languageCode: (union of string or nil)
Language code
- workPhone: (union of string or nil)
- mobilePhone: (union of string or nil)
- email: (union of email or emptystring or nil)
Contact specific email address
- secondaryEmail: (union of email or emptystring or nil)
- passive: (integer)
Contact status can be active or passive. 0=Active 1=InActive
- secondaryDepartment: (union of string or nil)
Contact's secondary department
- secondaryAddress: (union of string or nil)
Contact specific address
- secondaryPostalCode: (union of string or nil)
- secondaryCity: (union of string or nil)
- secondaryState: (union of string or nil)
- secondaryCountry: (union of integer or nil)
- campaigns: (union of integer or nil)
- skype: (union of string or nil)
Contact's skype name
- googleTalk: (union of string or nil)
Contact's google talk address
- linkedIn: (union of string or nil)
Contact's linkedIn address
- twitter: (union of string or nil)
Contact's twitter account name
- facebook: (union of string or nil)
Contact's facebook address
- blog: (union of string or nil)
Contact's blog
- description: (union of string or nil)
Contact's description
Example:
{
"lastName": "Tester",
"secondaryAddress": null,
"secondaryEmail": "",
"accountName": "PlanMill Oy",
"description": null,
"title": "Software Engineer",
"blog": "http://www.blog.com",
"secondaryPostalCode": null,
"skype": "skpe_id",
"twitter": "http://www.twitter.com",
"campaigns": null,
"secondaryCity": null,
"department": "Software Development",
"email": "mikko.tester@planmill.com",
"secondaryCountry": null,
"facebook": "http://www.facebook.com",
"secondaryState": null,
"linkedIn": "http://www.linkedin.com",
"languageCode": "en",
"passive": 0,
"firstName": "Mikko",
"mobilePhone": "+358-466-5556951",
"workPhone": "+358 10 322 9110",
"googleTalk": "gtalk_id",
"account": 51
}
HTTP status code 201
Body
Media type: application/json
Type: object
Example:
{ "id" : 123456 }
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
Get meta information for contacts. Includes resource's fields names and type and related filters
View details of a single meta.
get /contacts/meta
View details of a single meta.
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
HTTP status code 200
Body
Media type: application/json
Type: object
Example:
{
"filters": [
{
"type": "string",
"name": "searchkey",
"caption": ""
},
{
"type": "string",
"name": "viewby",
"value": "6",
"caption": "View by",
"values": {
"0": "My active contacts",
"1": "My active contacts - customers",
"2": "My active contacts - prospects",
"3": "My inactive contacts",
"4": "My recently created contacts - last 7 days",
"5": "My recently modified contacts - last 7 days",
"6": "All active contacts",
"7": "All active contacts - customers",
"8": "All active contacts - prospects",
"9": "All inactive contacts",
"10": "All recently created contacts - last 7 days",
"11": "All recently modified contacts - last 7 days"
}
},
{
"type": "multivalue",
"name": "primaryPostalCode",
"value": "-1",
"caption": "Postal/Zip code",
"values": {
"-1": "All",
"00020": "00020, NORDEA",
"00500": "00500, Helsinki"
}
},
{
"type": "multivalue",
"name": "campaigns",
"value": "-1",
"caption": "Campaigns",
"values": {
"-1": "All"
}
},
{
"type": "interval",
"name": "interval",
"calendar": "yyyy-MM-dd'T'HH:mm:ss.SSSZ",
"values": {
"Person.Modified": "Modified",
"Person.Created": "Created"
}
},
{
"type": "string",
"name": "rowcount",
"value": "100",
"caption": "Rows",
"values": {
"25": "25",
"50": "50",
"75": "75",
"100": "100",
"150": "150",
"250": "250"
}
},
{
"type": "multivalue",
"name": "Account.Industry",
"value": "-1",
"caption": "Account Industry",
"values": {
"62": "62 Software&IT serv",
"-1": "All"
}
},
{
"type": "multivalue",
"name": "Account.ResponsibleId",
"value": "-1",
"caption": "Owner",
"values": {
"0": "System,",
"50": "PlanMill, Maintenance-user (Inactive)",
"-1": "All"
}
},
{
"type": "multivalue",
"name": "accountType",
"value": "-1",
"caption": "Account type",
"values": {
"6": "Partner",
"100": "My company",
"-1": "All"
}
},
{
"type": "multivalue",
"name": "primaryCountry",
"value": "-1",
"caption": "Country",
"values": {
"73": "Finland",
"-1": "All"
}
},
{
"type": "multivalue",
"name": "primaryCity",
"value": "-1",
"caption": "City",
"values": {
"": "",
"-1": "All",
"NORDEA": "NORDEA",
"Helsinki": "Helsinki"
}
},
{
"type": "multivalue",
"name": "account",
"value": "-1",
"caption": "Account",
"values": {
"51": "PlanMill Oy",
"353": "Sample account",
"1000": "Nordea Rahoitus Suomi Oy",
"-1": "All"
}
}
],
"fields": {
"lastName": {
"format": "",
"caption": null
},
"secondaryAddress": {
"format": "text",
"caption": "Secondary street address"
},
"primaryPostalCode": {
"format": "text",
"caption": "Postal/Zip code"
},
"accountName": {
"format": "text",
"caption": "Account"
},
"title": {
"format": "text",
"caption": "Title"
},
"primaryCity": {
"format": "text",
"caption": "City"
},
"invoiceXsl": {
"format": "text",
"caption": "Account.InvoiceXSL"
},
"secondaryPostalCode": {
"format": "text",
"caption": "Secondary postal/Zip code"
},
"skype": {
"format": "weblink",
"caption": "Skype"
},
"secondaryCity": {
"format": "text",
"caption": "Secondary city"
},
"modified": {
"format": "mediumdate",
"caption": "Modified"
},
"modifiedBy": {
"format": "text",
"caption": "Modified by"
},
"id": {
"format": "text",
"caption": "Person.Id"
},
"department": {
"format": "text",
"caption": "Department"
},
"fax": {
"format": "text",
"caption": "Fax"
},
"primaryCountry": {
"values": {
"0": "-",
"1": "Afghanistan",
"2": "Albania",
"3": "Algeria",
"4": "American Samoa",
"5": "Andorra",
"6": "Angola",
"7": "Anguilla",
"8": "Antigua and Barbuda",
"9": "Argentina",
"10": "Armenia",
"11": "Aruba",
"13": "Australia",
"15": "Austria",
"16": "Azerbaijan",
"17": "Bahamas",
"18": "Barbados",
"19": "Bahrain",
"20": "Bangladesh",
"21": "Belarus",
"22": "Belgium",
"23": "Belize",
"24": "Benin",
"25": "Bermuda",
"26": "Bhutan",
"27": "Virgin Islands, British",
"28": "Bolivia",
"29": "Bosnia and Herzegovina",
"30": "Botswana",
"31": "Brazil",
"33": "Brunei Darussalam",
"34": "Bulgaria",
"35": "Burkina Faso",
"36": "Burundi",
"37": "Cambodia",
"38": "Cameroon",
"39": "Canada",
"40": "Cape Verde",
"42": "Cayman Islands",
"44": "Central African Republic",
"45": "Chad",
"46": "Chile",
"47": "China",
"48": "Taiwan, Province of China",
"49": "Colombia",
"50": "Comoros",
"51": "Congo-Brazzaville",
"52": "Cook Islands",
"53": "Costa Rica",
"54": "Croatia",
"55": "Cuba",
"56": "Cyprus",
"57": "Czech Republic",
"58": "Denmark",
"59": "British Indian Ocean Territory",
"60": "Dominica",
"61": "Dominican Republic",
"62": "Djibouti",
"63": "Ecuador",
"64": "Egypt",
"65": "El Salvador",
"66": "Equatorial Guinea",
"67": "Eritrea",
"68": "Estonia",
"69": "Ethiopia",
"70": "Falkland Islands (Malvinas)",
"71": "Faroe Islands",
"72": "Fiji",
"73": "Finland",
"74": "France",
"76": "French Guiana",
"77": "Gabon",
"78": "Gambia",
"79": "Georgia",
"80": "Germany",
"81": "Ghana",
"82": "Gibraltar",
"83": "Greece",
"84": "Greenland",
"85": "Grenada",
"86": "Guam",
"87": "Guatemala",
"88": "Guinea",
"89": "Guinea-Bissau",
"90": "Guyana",
"91": "Haiti",
"92": "Honduras",
"93": "Hong Kong",
"94": "Hungary",
"95": "Iceland",
"96": "India",
"97": "Indonesia",
"98": "Iran, Islamic Republic of",
"99": "Iraq",
"100": "Ireland",
"101": "Israel",
"102": "Italy",
"103": "C�te d'Ivoire",
"104": "Jamaica",
"105": "Japan",
"106": "Jordan",
"107": "Kazakstan",
"108": "Kenya",
"110": "Kiribati",
"111": "Korea, Republic of (South Korea)",
"112": "Korea, Democratic People's Republic of (North Korea)",
"113": "Kuwait",
"114": "Kyrgyzstan",
"115": "Latvia",
"116": "Lao People's Democratic Republic",
"117": "Lebanon",
"118": "Lesotho",
"119": "Liberia",
"120": "Lithuania",
"121": "Libyan Arab Jamahiriya",
"122": "Liechtenstein",
"123": "Luxembourg",
"124": "Macau",
"125": "Macedonia, The former Yugoslav Republic of",
"126": "Madagascar",
"127": "Malawi",
"128": "Malaysia",
"129": "Maldives",
"130": "Mali",
"131": "Malta",
"132": "Marshall Islands",
"133": "Martinique",
"134": "Mauritania",
"135": "Mauritius",
"136": "Mayotte",
"137": "Mexico",
"138": "Micronesia, Federated States of",
"139": "Moldova, Republic of",
"140": "Monaco",
"141": "Mongolia",
"142": "Montserrat",
"143": "Morocco",
"144": "Mozambique",
"145": "Myanmar",
"146": "Namibia",
"147": "Nauru",
"148": "Nepal",
"149": "Netherlands",
"150": "Netherlands Antilles (removed)",
"152": "New Caledonia",
"153": "New Zealand",
"154": "Nicaragua",
"155": "Niger",
"156": "Nigeria",
"157": "Niue",
"159": "Northern Mariana Islands",
"160": "Norway",
"161": "Oman",
"162": "Pakistan",
"163": "Palau",
"164": "Panama",
"165": "Papua New Guinea",
"166": "Paraguay",
"167": "Peru",
"168": "Philippines",
"169": "Poland",
"170": "Portugal",
"171": "Puerto Rico",
"172": "Qatar",
"173": "R�union",
"174": "Romania",
"175": "Russian Federation",
"176": "Rwanda",
"178": "San Marino",
"179": "Sao Tome and Principe",
"180": "Saudi Arabia",
"181": "Senegal",
"182": "Serbia",
"183": "Seychelles",
"184": "Sierra Leone",
"185": "Singapore",
"186": "Slovakia",
"187": "Slovenia",
"188": "Solomon Islands",
"189": "Somalia",
"190": "South Africa",
"191": "Spain",
"192": "Sri Lanka",
"193": "Saint Helena",
"194": "Saint Kitts and Nevis",
"195": "Saint Pierre and Miquelon",
"196": "Sudan",
"197": "Suriname",
"198": "Swaziland",
"199": "Sweden",
"200": "Switzerland",
"201": "Syrian Arab Republic",
"202": "French Polynesia",
"204": "Tajikistan",
"205": "Tanzania, United Republic of",
"206": "Thailand",
"207": "Togo",
"208": "Tokelau",
"209": "Tonga",
"210": "Trinidad and Tobago",
"211": "Tunisia",
"212": "Turkey",
"213": "Turkmenistan",
"214": "Tuvalu",
"215": "Uganda",
"216": "Ukraine",
"217": "United Arab Emirates",
"218": "United Kingdom",
"219": "Uruguay",
"220": "United States",
"221": "Uzbekistan",
"222": "Vanuatu",
"223": "Holy See (Vatican City State)",
"224": "Venezuela",
"225": "Viet Nam",
"226": "Virgin Islands, U.S.",
"227": "Wallis and Futuna",
"228": "Samoa",
"231": "Yugoslavia (removed)",
"232": "Congo-Kinshasa",
"233": "Zambia",
"234": "Zimbabwe",
"235": "Yemen",
"236": "�land Islands",
"237": "Antarctica",
"238": "Bouvet Island",
"239": "Guadeloupe",
"240": "Guernsey",
"241": "Heard Island and McDonald Islands",
"242": "Montenegro",
"243": "Norfolk Island",
"244": "Palestinian Territory, Occupied",
"245": "East Timor",
"246": "Isle of Man",
"247": "Jersey",
"248": "Pitcairn",
"249": "Saint Barth�lemy",
"250": "Saint Lucia",
"251": "Saint Martin",
"252": "Saint Vincent and the Grenadines",
"253": "South Georgia and the South Sandwich Islands",
"254": "Svalbard and Jan Mayen",
"255": "Turks and Caicos Islands",
"256": "Western Sahara",
"257": "United States Minor Outlying Islands",
"258": "French Southern territories",
"259": "Christmas Island",
"260": "Cocos (Keeling) Islands",
"261": "Cura�ao",
"262": "Sint Maarten (Part of Netherlands)",
"263": "Bonaire, Sint Eustatius and Saba",
"264": "South Sudan",
"1000": "Other"
},
"format": "Enumeration values.Location.CountryId",
"caption": "Country"
},
"email": {
"format": "emaillink",
"caption": "Email"
},
"secondaryCountry": {
"values": {
"0": "-",
"1": "Afghanistan",
"2": "Albania",
"3": "Algeria",
"4": "American Samoa",
"5": "Andorra",
"6": "Angola",
"7": "Anguilla",
"8": "Antigua and Barbuda",
"9": "Argentina",
"10": "Armenia",
"11": "Aruba",
"13": "Australia",
"15": "Austria",
"16": "Azerbaijan",
"17": "Bahamas",
"18": "Barbados",
"19": "Bahrain",
"20": "Bangladesh",
"21": "Belarus",
"22": "Belgium",
"23": "Belize",
"24": "Benin",
"25": "Bermuda",
"26": "Bhutan",
"27": "Virgin Islands, British",
"28": "Bolivia",
"29": "Bosnia and Herzegovina",
"30": "Botswana",
"31": "Brazil",
"33": "Brunei Darussalam",
"34": "Bulgaria",
"35": "Burkina Faso",
"36": "Burundi",
"37": "Cambodia",
"38": "Cameroon",
"39": "Canada",
"40": "Cape Verde",
"42": "Cayman Islands",
"44": "Central African Republic",
"45": "Chad",
"46": "Chile",
"47": "China",
"48": "Taiwan, Province of China",
"49": "Colombia",
"50": "Comoros",
"51": "Congo-Brazzaville",
"52": "Cook Islands",
"53": "Costa Rica",
"54": "Croatia",
"55": "Cuba",
"56": "Cyprus",
"57": "Czech Republic",
"58": "Denmark",
"59": "British Indian Ocean Territory",
"60": "Dominica",
"61": "Dominican Republic",
"62": "Djibouti",
"63": "Ecuador",
"64": "Egypt",
"65": "El Salvador",
"66": "Equatorial Guinea",
"67": "Eritrea",
"68": "Estonia",
"69": "Ethiopia",
"70": "Falkland Islands (Malvinas)",
"71": "Faroe Islands",
"72": "Fiji",
"73": "Finland",
"74": "France",
"76": "French Guiana",
"77": "Gabon",
"78": "Gambia",
"79": "Georgia",
"80": "Germany",
"81": "Ghana",
"82": "Gibraltar",
"83": "Greece",
"84": "Greenland",
"85": "Grenada",
"86": "Guam",
"87": "Guatemala",
"88": "Guinea",
"89": "Guinea-Bissau",
"90": "Guyana",
"91": "Haiti",
"92": "Honduras",
"93": "Hong Kong",
"94": "Hungary",
"95": "Iceland",
"96": "India",
"97": "Indonesia",
"98": "Iran, Islamic Republic of",
"99": "Iraq",
"100": "Ireland",
"101": "Israel",
"102": "Italy",
"103": "C�te d'Ivoire",
"104": "Jamaica",
"105": "Japan",
"106": "Jordan",
"107": "Kazakstan",
"108": "Kenya",
"110": "Kiribati",
"111": "Korea, Republic of (South Korea)",
"112": "Korea, Democratic People's Republic of (North Korea)",
"113": "Kuwait",
"114": "Kyrgyzstan",
"115": "Latvia",
"116": "Lao People's Democratic Republic",
"117": "Lebanon",
"118": "Lesotho",
"119": "Liberia",
"120": "Lithuania",
"121": "Libyan Arab Jamahiriya",
"122": "Liechtenstein",
"123": "Luxembourg",
"124": "Macau",
"125": "Macedonia, The former Yugoslav Republic of",
"126": "Madagascar",
"127": "Malawi",
"128": "Malaysia",
"129": "Maldives",
"130": "Mali",
"131": "Malta",
"132": "Marshall Islands",
"133": "Martinique",
"134": "Mauritania",
"135": "Mauritius",
"136": "Mayotte",
"137": "Mexico",
"138": "Micronesia, Federated States of",
"139": "Moldova, Republic of",
"140": "Monaco",
"141": "Mongolia",
"142": "Montserrat",
"143": "Morocco",
"144": "Mozambique",
"145": "Myanmar",
"146": "Namibia",
"147": "Nauru",
"148": "Nepal",
"149": "Netherlands",
"150": "Netherlands Antilles (removed)",
"152": "New Caledonia",
"153": "New Zealand",
"154": "Nicaragua",
"155": "Niger",
"156": "Nigeria",
"157": "Niue",
"159": "Northern Mariana Islands",
"160": "Norway",
"161": "Oman",
"162": "Pakistan",
"163": "Palau",
"164": "Panama",
"165": "Papua New Guinea",
"166": "Paraguay",
"167": "Peru",
"168": "Philippines",
"169": "Poland",
"170": "Portugal",
"171": "Puerto Rico",
"172": "Qatar",
"173": "R�union",
"174": "Romania",
"175": "Russian Federation",
"176": "Rwanda",
"178": "San Marino",
"179": "Sao Tome and Principe",
"180": "Saudi Arabia",
"181": "Senegal",
"182": "Serbia",
"183": "Seychelles",
"184": "Sierra Leone",
"185": "Singapore",
"186": "Slovakia",
"187": "Slovenia",
"188": "Solomon Islands",
"189": "Somalia",
"190": "South Africa",
"191": "Spain",
"192": "Sri Lanka",
"193": "Saint Helena",
"194": "Saint Kitts and Nevis",
"195": "Saint Pierre and Miquelon",
"196": "Sudan",
"197": "Suriname",
"198": "Swaziland",
"199": "Sweden",
"200": "Switzerland",
"201": "Syrian Arab Republic",
"202": "French Polynesia",
"204": "Tajikistan",
"205": "Tanzania, United Republic of",
"206": "Thailand",
"207": "Togo",
"208": "Tokelau",
"209": "Tonga",
"210": "Trinidad and Tobago",
"211": "Tunisia",
"212": "Turkey",
"213": "Turkmenistan",
"214": "Tuvalu",
"215": "Uganda",
"216": "Ukraine",
"217": "United Arab Emirates",
"218": "United Kingdom",
"219": "Uruguay",
"220": "United States",
"221": "Uzbekistan",
"222": "Vanuatu",
"223": "Holy See (Vatican City State)",
"224": "Venezuela",
"225": "Viet Nam",
"226": "Virgin Islands, U.S.",
"227": "Wallis and Futuna",
"228": "Samoa",
"231": "Yugoslavia (removed)",
"232": "Congo-Kinshasa",
"233": "Zambia",
"234": "Zimbabwe",
"235": "Yemen",
"236": "�land Islands",
"237": "Antarctica",
"238": "Bouvet Island",
"239": "Guadeloupe",
"240": "Guernsey",
"241": "Heard Island and McDonald Islands",
"242": "Montenegro",
"243": "Norfolk Island",
"244": "Palestinian Territory, Occupied",
"245": "East Timor",
"246": "Isle of Man",
"247": "Jersey",
"248": "Pitcairn",
"249": "Saint Barth�lemy",
"250": "Saint Lucia",
"251": "Saint Martin",
"252": "Saint Vincent and the Grenadines",
"253": "South Georgia and the South Sandwich Islands",
"254": "Svalbard and Jan Mayen",
"255": "Turks and Caicos Islands",
"256": "Western Sahara",
"257": "United States Minor Outlying Islands",
"258": "French Southern territories",
"259": "Christmas Island",
"260": "Cocos (Keeling) Islands",
"261": "Cura�ao",
"262": "Sint Maarten (Part of Netherlands)",
"263": "Bonaire, Sint Eustatius and Saba",
"264": "South Sudan",
"1000": "Other"
},
"format": "Enumeration values.Location.CountryId",
"caption": "Secondary country"
},
"website": {
"format": "weblink",
"caption": "Website"
},
"created": {
"format": "mediumdate",
"caption": "Created"
},
"accountType": {
"values": {
"0": "-",
"2": "Competitor",
"3": "Customer",
"4": "Private customer",
"5": "Investor",
"6": "Partner",
"8": "Prospect",
"9": "Reseller",
"10": "Other",
"11": "Vendor",
"12": "Subcontractor",
"100": "My company",
"110": "My company - other"
},
"format": "Enumeration values.Sales management.Accounts.Type",
"caption": "Account type"
},
"linkedIn": {
"format": "linkedin",
"caption": "fileicon(linkedin)"
},
"languageCode": {
"values": {
"de": "German",
"fi": "Finnish",
"sv": "Swedish",
"en": "English"
},
"format": "Enumeration values.Sales management.Contacts.Language",
"caption": "Language"
},
"passive": {
"values": {
"0": "Active",
"1": "Inactive"
},
"format": "Enumeration values.Sales management.Contacts.Status",
"caption": "Status"
},
"primaryPhone": {
"format": "text",
"caption": "Primary phone"
},
"firstName": {
"format": "",
"caption": null
},
"mobilePhone": {
"format": "text",
"caption": "Mobile phone"
},
"createdBy": {
"format": "text",
"caption": "Created by"
},
"workPhone": {
"format": "text",
"caption": "Work phone"
},
"googleTalk": {
"format": "weblink",
"caption": "Google Hangouts"
},
"primaryAddress": {
"format": "text",
"caption": "Street address"
},
"account": {
"format": "text",
"caption": "Account.Id"
}
}
}
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
A single contact in PlanMill.
View details of a single contact. See contacts/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
Update an existing resource contact to PlanMill. See contacts/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
Remove a contact from PlanMill.
get /contacts/{contact_id}
View details of a single contact. See contacts/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- contact_id: required(string)
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- lastName: (string - maxLength: 80)
Last name of a contact
- firstName: (string - maxLength: 80)
First name of a contact
- title: (union of string or nil)
Title of contact
- department: (union of string or nil)
Contact's department
- account: (integer)
Id of contact's account
- accountName: (union of string or nil)
Account name of contact
- languageCode: (union of string or nil)
Language code
- workPhone: (union of string or nil)
- mobilePhone: (union of string or nil)
- email: (union of email or emptystring or nil)
Contact specific email address
- secondaryEmail: (union of email or emptystring or nil)
- passive: (integer)
Contact status can be active or passive. 0=Active 1=InActive
- secondaryDepartment: (union of string or nil)
Contact's secondary department
- secondaryAddress: (union of string or nil)
Contact specific address
- secondaryPostalCode: (union of string or nil)
- secondaryCity: (union of string or nil)
- secondaryState: (union of string or nil)
- secondaryCountry: (union of integer or nil)
- campaigns: (union of integer or nil)
- skype: (union of string or nil)
Contact's skype name
- googleTalk: (union of string or nil)
Contact's google talk address
- linkedIn: (union of string or nil)
Contact's linkedIn address
- twitter: (union of string or nil)
Contact's twitter account name
- facebook: (union of string or nil)
Contact's facebook address
- blog: (union of string or nil)
Contact's blog
- description: (union of string or nil)
Contact's description
- id: (integer)
Contact (internal) id
- primaryDepartment: (union of string or nil)
Contact's primary department
- primaryAddress: (union of string or nil)
Address of contact's account
- primaryPostalCode: (union of string or nil)
- primaryCity: (union of string or nil)
- primaryState: (union of string or nil)
- primaryCountry: (union of integer or nil)
Example:
{
"lastName": "Tester",
"secondaryAddress": null,
"secondaryEmail": "",
"primaryPostalCode": "00020",
"accountName": "PlanMill Oy",
"description": null,
"title": "Software Engineer",
"blog": "http://www.blog.com",
"primaryCity": "NORDEA",
"secondaryPostalCode": null,
"skype": "skpe_id",
"twitter": "http://www.twitter.com",
"campaigns": null,
"primaryDepartment": "",
"id": 1634,
"secondaryCity": null,
"department": "Software Development",
"primaryCountry": 73,
"email": "mikko.tester@planmill.com",
"secondaryCountry": null,
"facebook": "http://www.facebook.com",
"secondaryState": null,
"linkedIn": "http://www.linkedin.com",
"languageCode": "en",
"passive": 0,
"firstName": "Mikko",
"mobilePhone": "+358-466-5556951",
"workPhone": "+358 10 322 9110",
"googleTalk": "gtalk_id",
"primaryAddress": "Myyntisaatavien palvelut",
"account": 51
}
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
post /contacts/{contact_id}
Update an existing resource contact to PlanMill. See contacts/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- contact_id: required(string)
Headers
- Content-Type: required(string - default: application/json;charset=UTF-8 )
Example:
application/json;charset=UTF-8
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
Body
Media type: application/json
Type: object
Properties- lastName: (string - maxLength: 80)
Last name of a contact
- firstName: (string - maxLength: 80)
First name of a contact
- title: (union of string or nil)
Title of contact
- department: (union of string or nil)
Contact's department
- account: (integer)
Id of contact's account
- accountName: (union of string or nil)
Account name of contact
- languageCode: (union of string or nil)
Language code
- workPhone: (union of string or nil)
- mobilePhone: (union of string or nil)
- email: (union of email or emptystring or nil)
Contact specific email address
- secondaryEmail: (union of email or emptystring or nil)
- passive: (integer)
Contact status can be active or passive. 0=Active 1=InActive
- secondaryDepartment: (union of string or nil)
Contact's secondary department
- secondaryAddress: (union of string or nil)
Contact specific address
- secondaryPostalCode: (union of string or nil)
- secondaryCity: (union of string or nil)
- secondaryState: (union of string or nil)
- secondaryCountry: (union of integer or nil)
- campaigns: (union of integer or nil)
- skype: (union of string or nil)
Contact's skype name
- googleTalk: (union of string or nil)
Contact's google talk address
- linkedIn: (union of string or nil)
Contact's linkedIn address
- twitter: (union of string or nil)
Contact's twitter account name
- facebook: (union of string or nil)
Contact's facebook address
- blog: (union of string or nil)
Contact's blog
- description: (union of string or nil)
Contact's description
Example:
{
"lastName": "Tester",
"secondaryAddress": null,
"secondaryEmail": "",
"accountName": "PlanMill Oy",
"description": null,
"title": "Software Engineer",
"blog": "http://www.blog.com",
"secondaryPostalCode": null,
"skype": "skpe_id",
"twitter": "http://www.twitter.com",
"campaigns": null,
"secondaryCity": null,
"department": "Software Development",
"email": "mikko.tester@planmill.com",
"secondaryCountry": null,
"facebook": "http://www.facebook.com",
"secondaryState": null,
"linkedIn": "http://www.linkedin.com",
"languageCode": "en",
"passive": 0,
"firstName": "Mikko",
"mobilePhone": "+358-466-5556951",
"workPhone": "+358 10 322 9110",
"googleTalk": "gtalk_id",
"account": 51
}
HTTP status code 204
No HTTP body returned
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
delete /contacts/{contact_id}
Remove a contact from PlanMill.
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- contact_id: required(string)
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
HTTP status code 204
No HTTP body returned
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
Get meta information for the updatable fields of the contact
View details of a single meta.
get /contacts/{contact_id}/meta
View details of a single meta.
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- contact_id: required(string)
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
HTTP status code 200
Body
Media type: application/json
Type: object
Example:
{
"request": {
"caption": "",
"format": "int",
"description": "",
"values": null
},
"private": {
"caption": "Private",
"format": "short",
"description": "",
"enumeration": "Enumeration values.Sales management.Actions.View status",
"values": {
"No": "0",
"Yes": "1"
}
},
"performers": {
"caption": "Performer(s)",
"values": {
"Admin, Test": "2833",
"testi, testi": "2981"
},
"format": "string",
"description": ""
},
"reminder": {
"caption": "Reminder",
"format": "short",
"description": "",
"maxlength": "80",
"enumeration": "Enumeration values.Sales management.Actions.Reminder",
"values": {
"14 days before due date": "5",
"No": "0",
"1 days before due date": "2",
"3 days before due date": "3",
"7 days before due date": "4",
"Same day as due date": "1",
"30 days before due date": "6"
}
},
"subject": {
"caption": "Subject",
"format": "string",
"description": "",
"maxlength": "255",
"values": null
},
"dueDate": {
"calendar": "yyyy-MM-dd'T'HH:mm:ss.SSSZ",
"caption": "Due date",
"format": "string",
"description": "",
"maxlength": "10",
"values": null
},
"start": {
"calendar": "yyyy-MM-dd'T'HH:mm:ss.SSSZ",
"caption": "Start date",
"format": "string",
"description": "",
"maxlength": "10",
"values": null
},
"description": {
"caption": "",
"format": "string",
"description": "",
"values": null
},
"project": {
"caption": "",
"format": "int",
"description": "",
"values": null
},
"opportunity": {
"caption": "",
"format": "int",
"description": "",
"values": null
},
"type": {
"caption": "Type",
"format": "short",
"description": "",
"enumeration": "Enumeration values.Sales management.Actions.Type",
"values": {
"Call": "1",
"To do": "10",
"Demo": "3",
"Email": "4",
"Meeting": "7",
"Webinar": "11",
"Correspondence": "2",
"Event": "5",
"Fax": "6",
"Presentation": "9",
"-": "0"
}
},
"priority": {
"caption": "Priority",
"format": "short",
"description": "",
"enumeration": "Enumeration values.Sales management.Actions.Priority",
"values": {
"1. High": "1",
"3. Low": "3",
"2. Medium": "2"
}
},
"salesOrder": {
"caption": "",
"format": "int",
"description": "",
"values": null
},
"responsible": {
"caption": "Responsible person",
"values": {
"Admin, Test": 2833,
"testi, testi": "2801981"
},
"format": "int",
"description": ""
},
"contact": {
"caption": "",
"format": "int",
"description": "",
"values": null
},
"campaign": {
"caption": "",
"format": "int",
"description": "",
"values": null
},
"location": {
"caption": "Location",
"format": "string",
"description": "",
"maxlength": "255",
"values": null
},
"id": {
"caption": "",
"format": "int",
"description": "",
"values": null
},
"status": {
"caption": "Status",
"format": "short",
"description": "",
"enumeration": "Enumeration values.Sales management.Actions.Status",
"values": {
"3. In progress - waiting for more info": "2",
"5. Completed": "40",
"4. Suspended": "3",
"1. Received": "0",
"2. In progress": "1"
}
}
}
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
Collection of available attachments in PlanMill. This is a read-only collection.
Get a list of attachments
get /contacts/{contact_id}/attachments
Get a list of attachments
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- contact_id: required(string)
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
Query Parameters
- rowcount?: (integer - minimum: 1)
It limits the result set amount to the specified limit to avoid API call to return too many records. Default row count is 100
- nextrows?: (integer)
The number of the next starting row. It is dependent on rowcount. For example, for total 250 items, if rowcount is 100 and nextrows is 101, it return items 101-201
- order?: (integer)
Orders the results in ascending or descending order. 0=Ascending and 1=Descending. It is used in combination with sort
- sort?: (integer)
Sorts the results using number that is associated with each column
HTTP status code 200
Body
Media type: application/json
Type: object
Example:
[
{
"size": 8497,
"createdBy": 50,
"created": "2022-01-13T13:05:10.837+0200",
"name": "attached_file_test.txt",
"modified": "2022-01-13T13:18:25.353+0200",
"id": 1543
},
{
"size": 146169,
"createdBy": 50,
"created": "2022-01-13T13:18:25.353+0200",
"name": "attached_file.txt",
"modified": "2022-01-13T13:18:25.353+0200",
"id": 1545
}
]
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
Attach existing file to user.( Tips use file id from api/1.5/tempfile )
put /contacts/{contact_id}/attachments/{attachment_id}
Attach existing file to user.( Tips use file id from api/1.5/tempfile )
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- contact_id: required(string)
- attachment_id: required(string)
Headers
- Content-Type: required(string - default: application/json;charset=UTF-8 )
Example:
application/json;charset=UTF-8
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
HTTP status code 204
No HTTP body returned
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
/enumerations
Enumerations available in PlanMill
View details of a single enumeration.
get /enumerations
View details of a single enumeration.
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
Query Parameters
- name: required(string)
Name of enumeration
Example:
Employee directory.Appraisals.Status
- section: required(string)
Category of enumeration
Example:
Employee directory.Appraisals
HTTP status code 200
Body
Media type: application/json
Type: object
Example:
{
"Enumeration values.Employee directory.Appraisals.Status": {
"10": "Preliminary",
"20": "Employee writes comments",
"30": "Ready for meeting",
"40": "Final version for comments",
"50": "Final version, requires additional discussion",
"60": "Final version, accepted"
}
}
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
/exitcriteria
Kanban board exit criteria from PlanMill
Get a list of exitcriteria
get /exitcriteria
Get a list of exitcriteria
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
Query Parameters
- rowcount?: (integer - minimum: 1)
It limits the result set amount to the specified limit to avoid API call to return too many records. Default row count is 100
- nextrows?: (integer)
The number of the next starting row. It is dependent on rowcount. For example, for total 250 items, if rowcount is 100 and nextrows is 101, it return items 101-201
- order?: (integer)
Orders the results in ascending or descending order. 0=Ascending and 1=Descending. It is used in combination with sort
- sort?: (integer)
Sorts the results using number that is associated with each column
HTTP status code 200
Body
Media type: application/json
Type: object
Example:
{
"name": "Test exit criteria",
"boardlist": 4775,
"description": null,
"id": 4785
}
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
A single exitcriterion in PlanMill.
View details of single exit criteria
Update an existing resource exitcriterion to PlanMill. See exitcriteria/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
Remove a exitcriterion from PlanMill.
get /exitcriteria/{exit_criteria_id}
View details of single exit criteria
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- exit_criteria_id: required(string)
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
HTTP status code 200
Body
Media type: application/json
Type: exitcriterion
Example:
{
"name": "Test exit criteria",
"boardlist": 4775,
"description": null,
"id": 4785
}
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
post /exitcriteria/{exit_criteria_id}
Update an existing resource exitcriterion to PlanMill. See exitcriteria/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- exit_criteria_id: required(string)
Headers
- Content-Type: required(string - default: application/json;charset=UTF-8 )
Example:
application/json;charset=UTF-8
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
Body
Media type: application/json
Type: exitcriterion
Example:
{
"name": "Test exit criteria",
"boardlist": 4775,
"description": null,
"id": 4785
}
HTTP status code 204
No HTTP body returned
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
delete /exitcriteria/{exit_criteria_id}
Remove a exitcriterion from PlanMill.
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- exit_criteria_id: required(string)
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
HTTP status code 204
No HTTP body returned
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
/exitcriteriastatuses
Kanban board exit criteria status from PlanMill
Get a list of exitcriteriastatuses
get /exitcriteriastatuses
Get a list of exitcriteriastatuses
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
Query Parameters
- rowcount?: (integer - minimum: 1)
It limits the result set amount to the specified limit to avoid API call to return too many records. Default row count is 100
- nextrows?: (integer)
The number of the next starting row. It is dependent on rowcount. For example, for total 250 items, if rowcount is 100 and nextrows is 101, it return items 101-201
- order?: (integer)
Orders the results in ascending or descending order. 0=Ascending and 1=Descending. It is used in combination with sort
- sort?: (integer)
Sorts the results using number that is associated with each column
HTTP status code 200
Body
Media type: application/json
Type: object
Example:
{
"id": 4722,
"exitCriterion": 4710,
"object": 4715,
"status": 2
}
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
A single exitcriteriastatus in PlanMill.
View details of single exit criteria status
Update an existing resource exitcriteriastatus to PlanMill. See exitcriteriastatuses/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
Remove a exitcriteriastatus from PlanMill.
get /exitcriteriastatuses/{exit_criteria_status_id}
View details of single exit criteria status
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- exit_criteria_status_id: required(string)
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
HTTP status code 200
Body
Media type: application/json
Type: exitcriteriastatus
Example:
{
"id": 4722,
"exitCriterion": 4710,
"object": 4715,
"status": 2
}
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
post /exitcriteriastatuses/{exit_criteria_status_id}
Update an existing resource exitcriteriastatus to PlanMill. See exitcriteriastatuses/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- exit_criteria_status_id: required(string)
Headers
- Content-Type: required(string - default: application/json;charset=UTF-8 )
Example:
application/json;charset=UTF-8
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
Body
Media type: application/json
Type: exitcriteriastatus
Example:
{
"id": 4722,
"exitCriterion": 4710,
"object": 4715,
"status": 2
}
HTTP status code 204
No HTTP body returned
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
delete /exitcriteriastatuses/{exit_criteria_status_id}
Remove a exitcriteriastatus from PlanMill.
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- exit_criteria_status_id: required(string)
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
HTTP status code 204
No HTTP body returned
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
Collection of available comments in PlanMill. This is a read-only collection.
Get a list of comments
get /exitcriteriastatuses/{exit_criteria_status_id}/comments
Get a list of comments
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- exit_criteria_status_id: required(string)
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
Query Parameters
- rowcount?: (integer - minimum: 1)
It limits the result set amount to the specified limit to avoid API call to return too many records. Default row count is 100
- nextrows?: (integer)
The number of the next starting row. It is dependent on rowcount. For example, for total 250 items, if rowcount is 100 and nextrows is 101, it return items 101-201
- order?: (integer)
Orders the results in ascending or descending order. 0=Ascending and 1=Descending. It is used in combination with sort
- sort?: (integer)
Sorts the results using number that is associated with each column
HTTP status code 200
Body
Media type: application/json
Type: object
Example:
[
{
"personName": "Tester, Mikko",
"data": "API call comment test",
"person": 4600,
"created": "2015-09-22T00:29:02.260+0300",
"pictureLink": "",
"id": 4655
}
]
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
/expenses
Collection of available expenses in PlanMill. See expenses/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
Get a list of expenses. See expenses/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
Add a new expense to PlanMill or update existing (if id is given). See expenses/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
get /expenses
Get a list of expenses. See expenses/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
Query Parameters
- rowcount: (integer - minimum: 1)
It limits the result set amount to the specified limit to avoid API call to return too many records. Default row count is 100
- nextrows: (integer)
The number of the next starting row. It is dependent on rowcount. For example, for total 250 items, if rowcount is 100 and nextrows is 101, it return items 101-201
- order: (integer)
Orders the results in ascending or descending order. 0=Ascending and 1=Descending. It is used in combination with sort
- sort: (string)
Sorts the results using string that is a JSON attribute
- interval: (string)
Interval type, e.g. start, finish, created, or modified. It is used in combination with intervalstart or intervalfinish
- intervalstart: (string)
Start date of the interval in UTC format, intervalfinish required
Example:
2021-08-05T00:00:00.000+0200
- intervalfinish: (string)
Finish date of the interval in UTC format, intervalstart required
Example:
2021-08-05T00:00:00.000+0200
HTTP status code 200
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "base schema for all expense entities",
"oneOf": [
{
"type": "array",
"items": { "$ref": "#/definitions/expenseArray" }
},
{
"$ref": "#/definitions/expenseSingle"
}
],
"definitions": {
"expenseSingle": {
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "integer",
"description": "Internal id of an expense"
},
"task": {
"type": "integer",
"description": "Id of an expense task"
},
"journey": {
"type": ["integer", "null"],
"description": "Id of an expense journey"
},
"acceptor": {
"type": ["integer", "null"],
"description": "Id of an expense acceptor person"
},
"name": {
"type": "string",
"description": "Name of an expense"
},
"expenseOwner": {
"type": "integer",
"description": "Owner of an expense"
},
"project": {
"type": "integer",
"description": "Id of an expense project"
},
"description": {
"type": ["string", "null"],
"description": "Description of an expense"
},
"currency": {
"type": ["string", "null"],
"description": "Id of a expense currency"
},
"type": {
"type": ["integer", "null"],
"description": "Type of an expense; 0=Travel, 7=Other, 10=Advanced payment"
},
"billableStatus": {
"type": "integer",
"description": "Billable status of an expense; 1=Billable, 3=Non-billable"
},
"currencyCode": {
"type": "string",
"description": "Currency code of an expense"
},
"status": {
"type": "string",
"description": "Status of an expense"
}
}
},
"expenseArray": {
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "integer",
"description": "Internal ID of a time report"
},
"date": {
"type": ["string", "null"],
"description": "Date of creation of an expense"
},
"journey": {
"type": ["integer", "null"],
"description": "Id of a journey"
},
"description": {
"type": ["string", "null"],
"description": "Description of an expense"
},
"totalInclVAT": {
"type": ["number", "null"],
"description": ""
},
"project": {
"type": ["integer", "null"],
"description": "Id of a project"
},
"sentToBank": {
"type": ["integer", "null"],
"description": ""
},
"billableStatus": {
"type": "integer",
"description": "Billable status of an expense; 1=Billable, 3=Non-billable"
},
"type": {
"type": ["integer", "null"],
"description": "Type of an expense; 0=Travel, 7=Other, 10=Advanced payment"
},
"name": {
"type": "string",
"description": "Name of an expense"
},
"modified": {
"type": ["string", "null"],
"description": "Date of modification of an expense"
},
"projectName": {
"type": ["string", "null"],
"description": "Name of a project"
},
"paymentDate": {
"type": ["string", "null"],
"description": ""
},
"debt": {
"type": ["number", "null"],
"description": ""
},
"status": {
"type": "integer",
"description": "Status of an expense"
}
}
}
}
}
Example:
[
{
"date": "2016-03-04T00:00:00.000+0200",
"journey": null,
"description": "example expense 2",
"totalInclVAT": 10,
"project": 2969,
"sentToBank": null,
"billableStatus": 3,
"type": 7,
"name": "test expense 2",
"modified": "2016-03-02T11:51:08.383+0200",
"id": 2983,
"projectName": "test project - expense",
"paymentDate": null,
"debt": 10,
"status": 0,
"expenseOwner": 356
},
{
"date": "2016-03-02T00:00:00.000+0200",
"journey": 2975,
"description": "example expense",
"totalInclVAT": 288.45,
"project": 2969,
"sentToBank": null,
"billableStatus": 3,
"type": 0,
"name": "test expense",
"modified": "2016-03-02T11:43:02.813+0200",
"id": 2972,
"projectName": "test project - expense",
"paymentDate": null,
"debt": 288.45,
"status": 2,
"expenseOwner": 356
}
]
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
post /expenses
Add a new expense to PlanMill or update existing (if id is given). See expenses/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
Headers
- Content-Type: required(string - default: application/json;charset=UTF-8 )
Example:
application/json;charset=UTF-8
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "base schema for all expense entities",
"oneOf": [
{
"type": "array",
"items": { "$ref": "#/definitions/expenseArray" }
},
{
"$ref": "#/definitions/expenseSingle"
}
],
"definitions": {
"expenseSingle": {
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "integer",
"description": "Internal id of an expense"
},
"task": {
"type": "integer",
"description": "Id of an expense task"
},
"journey": {
"type": ["integer", "null"],
"description": "Id of an expense journey"
},
"acceptor": {
"type": ["integer", "null"],
"description": "Id of an expense acceptor person"
},
"name": {
"type": "string",
"description": "Name of an expense"
},
"expenseOwner": {
"type": "integer",
"description": "Owner of an expense"
},
"project": {
"type": "integer",
"description": "Id of an expense project"
},
"description": {
"type": ["string", "null"],
"description": "Description of an expense"
},
"currency": {
"type": ["string", "null"],
"description": "Id of a expense currency"
},
"type": {
"type": ["integer", "null"],
"description": "Type of an expense; 0=Travel, 7=Other, 10=Advanced payment"
},
"billableStatus": {
"type": "integer",
"description": "Billable status of an expense; 1=Billable, 3=Non-billable"
},
"currencyCode": {
"type": "string",
"description": "Currency code of an expense"
},
"status": {
"type": "string",
"description": "Status of an expense"
}
}
},
"expenseArray": {
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "integer",
"description": "Internal ID of a time report"
},
"date": {
"type": ["string", "null"],
"description": "Date of creation of an expense"
},
"journey": {
"type": ["integer", "null"],
"description": "Id of a journey"
},
"description": {
"type": ["string", "null"],
"description": "Description of an expense"
},
"totalInclVAT": {
"type": ["number", "null"],
"description": ""
},
"project": {
"type": ["integer", "null"],
"description": "Id of a project"
},
"sentToBank": {
"type": ["integer", "null"],
"description": ""
},
"billableStatus": {
"type": "integer",
"description": "Billable status of an expense; 1=Billable, 3=Non-billable"
},
"type": {
"type": ["integer", "null"],
"description": "Type of an expense; 0=Travel, 7=Other, 10=Advanced payment"
},
"name": {
"type": "string",
"description": "Name of an expense"
},
"modified": {
"type": ["string", "null"],
"description": "Date of modification of an expense"
},
"projectName": {
"type": ["string", "null"],
"description": "Name of a project"
},
"paymentDate": {
"type": ["string", "null"],
"description": ""
},
"debt": {
"type": ["number", "null"],
"description": ""
},
"status": {
"type": "integer",
"description": "Status of an expense"
}
}
}
}
}
Example:
{
"journey": null,
"acceptor": null,
"project": 4210,
"description": "",
"type": 0,
"billableStatus": 3,
"task": -1,
"name": "test expense 1",
"expenseOwner": 2297,
"currency": "1",
"id": 4211,
"currencyCode": "EUR",
"status": 3
}
HTTP status code 201
Body
Media type: application/json
Type: object
Example:
{ "id" : 123456 }
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
Get meta information for expenses. Includes resource's fields names and type and related filters
View details of a single meta.
get /expenses/meta
View details of a single meta.
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
HTTP status code 200
Body
Media type: application/json
Type: object
Example:
{
"filters": [
{
"name": "searchkey",
"caption": ""
},
{
"name": "status",
"caption": "Expense status",
"values": {
"0": "Preliminary",
"2": "Reported",
"3": "Inspected",
"4": "Accepted",
"6": "Paid",
"7": "Rejected",
"9": "Locked",
"-1": "All"
}
},
{
"name": "project",
"caption": "Project",
"values": {
"2969": "test project - expense",
"-1": "All"
}
},
{
"name": "period",
"caption": "Period",
"values": {
"0": "All",
"1": "This FQ",
"2": "Next FQ",
"3": "This and next FQ",
"4": "Last FQ",
"5": "This FY",
"6": "Next FY",
"7": "This and next FY",
"8": "Last FY",
"9": "This month",
"10": "Next month",
"11": "Last month",
"12": "Last 30 days",
"13": "Last 60 days",
"14": "Last 90 days",
"15": "Last 120 days",
"16": "Last 180 days",
"17": "Next 30 days",
"18": "Next 60 days",
"19": "Next 90 days",
"20": "Next 120 days",
"21": "Next 180 days",
"22": "This & last FQ",
"23": "This and last FY",
"24": "This and next month",
"25": "This and last month",
"26": "Last 14 days",
"30": "This week",
"31": "Last week",
"32": "This and last week",
"33": "Next week",
"34": "This and next week",
"40": "Today",
"41": "Yesterday",
"42": "Today and yesterday",
"43": "Tomorrow",
"44": "Today and tomorrow"
}
},
{
"name": "interval",
"calendar": "yyyy-MM-dd'T'HH:mm:ss.SSSZ",
"values": {
"Expense.Created": "Created",
"Expense.Date": "Date",
"Expense.Modified": "Modified"
}
},
{
"name": "rowcount",
"caption": "Rows",
"values": {
"25": "25",
"50": "50",
"75": "75",
"100": "100",
"150": "150",
"250": "250"
}
},
{
"name": "type",
"caption": "Type",
"values": {
"0": "Travel",
"7": "Other",
"10": "Advance payment",
"-1": "All"
}
},
{
"name": "billableStatus",
"caption": "Billable status",
"values": {
"1": "Billable",
"3": "Non-billable",
"4": "In billing",
"5": "Draft invoice",
"6": "Invoiced",
"-1": "All"
}
}
],
"fields": {
"date": {
"format": "shortdate",
"caption": "Date"
},
"journey": {
"format": "text",
"caption": "Expense.JourneyId"
},
"description": {
"format": "text",
"caption": "Description"
},
"totalInclVAT": {
"format": "currency",
"caption": "Total incl. VAT"
},
"project": {
"format": "text",
"caption": "PMVProject.Id"
},
"sentToBank": {
"format": "Enumeration values.Finance control.Expense summary.Expenses.Sent status",
"caption": "Sent to bank"
},
"billableStatus": {
"format": "Enumeration values.Expense.Billable status",
"caption": "Billable status"
},
"type": {
"format": "Enumeration values.Expense.Type",
"caption": "Type"
},
"name": {
"format": "text",
"caption": "Purpose"
},
"modified": {
"format": "mediumdate",
"caption": "Modified"
},
"id": {
"format": "text",
"caption": "Expense.Id"
},
"projectName": {
"format": "text",
"caption": "Project"
},
"paymentDate": {
"format": "shortdate",
"caption": "Payment date"
},
"debt": {
"format": "currency",
"caption": "Outstanding debt"
},
"status": {
"format": "Enumeration values.Expense.Status",
"caption": "Status"
},
"expenseOwner": {
"format": "integer",
"caption": "PersonHasExpense"
}
}
}
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
A single expense in PlanMill.
View details of a single expense. See expenses/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
Update an existing resource expense to PlanMill. See expenses/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
Remove a expense from PlanMill.
get /expenses/{expense_id}
View details of a single expense. See expenses/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- expense_id: required(string)
Headers
- Accept: (string)
Get expense in PDF format
Example:
Accept: application/pdf
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
HTTP status code 200
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "base schema for all expense entities",
"oneOf": [
{
"type": "array",
"items": { "$ref": "#/definitions/expenseArray" }
},
{
"$ref": "#/definitions/expenseSingle"
}
],
"definitions": {
"expenseSingle": {
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "integer",
"description": "Internal id of an expense"
},
"task": {
"type": "integer",
"description": "Id of an expense task"
},
"journey": {
"type": ["integer", "null"],
"description": "Id of an expense journey"
},
"acceptor": {
"type": ["integer", "null"],
"description": "Id of an expense acceptor person"
},
"name": {
"type": "string",
"description": "Name of an expense"
},
"expenseOwner": {
"type": "integer",
"description": "Owner of an expense"
},
"project": {
"type": "integer",
"description": "Id of an expense project"
},
"description": {
"type": ["string", "null"],
"description": "Description of an expense"
},
"currency": {
"type": ["string", "null"],
"description": "Id of a expense currency"
},
"type": {
"type": ["integer", "null"],
"description": "Type of an expense; 0=Travel, 7=Other, 10=Advanced payment"
},
"billableStatus": {
"type": "integer",
"description": "Billable status of an expense; 1=Billable, 3=Non-billable"
},
"currencyCode": {
"type": "string",
"description": "Currency code of an expense"
},
"status": {
"type": "string",
"description": "Status of an expense"
}
}
},
"expenseArray": {
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "integer",
"description": "Internal ID of a time report"
},
"date": {
"type": ["string", "null"],
"description": "Date of creation of an expense"
},
"journey": {
"type": ["integer", "null"],
"description": "Id of a journey"
},
"description": {
"type": ["string", "null"],
"description": "Description of an expense"
},
"totalInclVAT": {
"type": ["number", "null"],
"description": ""
},
"project": {
"type": ["integer", "null"],
"description": "Id of a project"
},
"sentToBank": {
"type": ["integer", "null"],
"description": ""
},
"billableStatus": {
"type": "integer",
"description": "Billable status of an expense; 1=Billable, 3=Non-billable"
},
"type": {
"type": ["integer", "null"],
"description": "Type of an expense; 0=Travel, 7=Other, 10=Advanced payment"
},
"name": {
"type": "string",
"description": "Name of an expense"
},
"modified": {
"type": ["string", "null"],
"description": "Date of modification of an expense"
},
"projectName": {
"type": ["string", "null"],
"description": "Name of a project"
},
"paymentDate": {
"type": ["string", "null"],
"description": ""
},
"debt": {
"type": ["number", "null"],
"description": ""
},
"status": {
"type": "integer",
"description": "Status of an expense"
}
}
}
}
}
Example:
{
"journey": null,
"acceptor": null,
"project": 4210,
"description": "",
"type": 0,
"billableStatus": 3,
"task": -1,
"name": "test expense 1",
"expenseOwner": 2297,
"currency": "1",
"id": 4211,
"currencyCode": "EUR",
"status": 3
}
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
post /expenses/{expense_id}
Update an existing resource expense to PlanMill. See expenses/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- expense_id: required(string)
Headers
- Content-Type: required(string - default: application/json;charset=UTF-8 )
Example:
application/json;charset=UTF-8
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "base schema for all expense entities",
"oneOf": [
{
"type": "array",
"items": { "$ref": "#/definitions/expenseArray" }
},
{
"$ref": "#/definitions/expenseSingle"
}
],
"definitions": {
"expenseSingle": {
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "integer",
"description": "Internal id of an expense"
},
"task": {
"type": "integer",
"description": "Id of an expense task"
},
"journey": {
"type": ["integer", "null"],
"description": "Id of an expense journey"
},
"acceptor": {
"type": ["integer", "null"],
"description": "Id of an expense acceptor person"
},
"name": {
"type": "string",
"description": "Name of an expense"
},
"expenseOwner": {
"type": "integer",
"description": "Owner of an expense"
},
"project": {
"type": "integer",
"description": "Id of an expense project"
},
"description": {
"type": ["string", "null"],
"description": "Description of an expense"
},
"currency": {
"type": ["string", "null"],
"description": "Id of a expense currency"
},
"type": {
"type": ["integer", "null"],
"description": "Type of an expense; 0=Travel, 7=Other, 10=Advanced payment"
},
"billableStatus": {
"type": "integer",
"description": "Billable status of an expense; 1=Billable, 3=Non-billable"
},
"currencyCode": {
"type": "string",
"description": "Currency code of an expense"
},
"status": {
"type": "string",
"description": "Status of an expense"
}
}
},
"expenseArray": {
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "integer",
"description": "Internal ID of a time report"
},
"date": {
"type": ["string", "null"],
"description": "Date of creation of an expense"
},
"journey": {
"type": ["integer", "null"],
"description": "Id of a journey"
},
"description": {
"type": ["string", "null"],
"description": "Description of an expense"
},
"totalInclVAT": {
"type": ["number", "null"],
"description": ""
},
"project": {
"type": ["integer", "null"],
"description": "Id of a project"
},
"sentToBank": {
"type": ["integer", "null"],
"description": ""
},
"billableStatus": {
"type": "integer",
"description": "Billable status of an expense; 1=Billable, 3=Non-billable"
},
"type": {
"type": ["integer", "null"],
"description": "Type of an expense; 0=Travel, 7=Other, 10=Advanced payment"
},
"name": {
"type": "string",
"description": "Name of an expense"
},
"modified": {
"type": ["string", "null"],
"description": "Date of modification of an expense"
},
"projectName": {
"type": ["string", "null"],
"description": "Name of a project"
},
"paymentDate": {
"type": ["string", "null"],
"description": ""
},
"debt": {
"type": ["number", "null"],
"description": ""
},
"status": {
"type": "integer",
"description": "Status of an expense"
}
}
}
}
}
Example:
{
"journey": null,
"acceptor": null,
"project": 4210,
"description": "",
"type": 0,
"billableStatus": 3,
"task": -1,
"name": "test expense 1",
"expenseOwner": 2297,
"currency": "1",
"id": 4211,
"currencyCode": "EUR",
"status": 3
}
HTTP status code 204
No HTTP body returned
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
delete /expenses/{expense_id}
Remove a expense from PlanMill.
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- expense_id: required(string)
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
HTTP status code 204
No HTTP body returned
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
Collection of available items in PlanMill. See items/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
Get a list of items. See items/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
Add a new item to PlanMill or update existing (if id is given). See items/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
get /expenses/{expense_id}/items
Get a list of items. See items/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- expense_id: required(string)
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
Query Parameters
- rowcount?: (integer - minimum: 1)
It limits the result set amount to the specified limit to avoid API call to return too many records. Default row count is 100
- nextrows?: (integer)
The number of the next starting row. It is dependent on rowcount. For example, for total 250 items, if rowcount is 100 and nextrows is 101, it return items 101-201
- order?: (integer)
Orders the results in ascending or descending order. 0=Ascending and 1=Descending. It is used in combination with sort
- sort?: (string)
Sorts the results using string that is a JSON attribute
- interval?: (string)
Interval type, e.g. start, finish, created, or modified. It is used in combination with intervalstart or intervalfinish
- intervalstart?: (string)
Start date of the interval in UTC format, intervalfinish required
Example:
2021-08-05T00:00:00.000+0200
- intervalfinish?: (string)
Finish date of the interval in UTC format, intervalstart required
Example:
2021-08-05T00:00:00.000+0200
HTTP status code 200
Body
Media type: application/json
Type: item
Example:
[
{
"quantity": 175,
"start": "2016-03-02T00:00:00.000+0200",
"vat": 0,
"description": "Private car + Passengers(1) (Hämeentie 19, Helsinki - Teekkarinkatu, Tampere)",
"type": 350,
"expense": 2972,
"unit": "km",
"exchangeRate": 1,
"advancePayment": 0,
"paymentMethod": 0,
"finish": null,
"id": 2986,
"debt": 1,
"currencyCode": "EUR"
},
{
"quantity": 1,
"start": "2016-03-02T00:00:00.000+0200",
"vat": null,
"description": "One night stay at Tampere hotel",
"type": 3,
"expense": 2972,
"unit": "-",
"exchangeRate": 1,
"advancePayment": 0,
"paymentMethod": 1,
"finish": "2016-03-03T00:00:00.000+0200",
"id": 2973,
"debt": 1,
"currencyCode": "EUR"
},
{
"quantity": 2,
"start": "2016-03-02T00:00:00.000+0200",
"vat": 0,
"description": "",
"type": 200,
"expense": 2972,
"unit": "-",
"exchangeRate": 1,
"advancePayment": 0,
"paymentMethod": 0,
"finish": "2016-03-03T00:00:00.000+0200",
"id": 2985,
"debt": 1,
"currencyCode": "EUR"
},
{
"quantity": 175,
"start": "2016-03-03T00:00:00.000+0200",
"vat": 0,
"description": "Private car + Passengers(1) (Teekkarinkatu, Tampere - Hämeentie 19, Helsinki)",
"type": 350,
"expense": 2972,
"unit": "km",
"exchangeRate": 1,
"advancePayment": 0,
"paymentMethod": 0,
"finish": null,
"id": 2987,
"debt": 1,
"currencyCode": "EUR"
}
]
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
post /expenses/{expense_id}/items
Add a new item to PlanMill or update existing (if id is given). See items/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- expense_id: required(string)
Headers
- Content-Type: required(string - default: application/json;charset=UTF-8 )
Example:
application/json;charset=UTF-8
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
Body
Media type: application/json
Type: item
Example:
{
"quantity": 1,
"start": "2016-03-02T00:00:00.000+0200",
"vat": null,
"description": "One night stay at Tampere hotel",
"type": 3,
"expense": 2972,
"typeCode": "",
"unit": "-",
"exchangeRate": 1,
"generated": "0",
"advancePayment": 0,
"paymentMethod": 1,
"finish": "2016-03-03T00:00:00.000+0200",
"currency": 1,
"id": 2973,
"debt": 1,
"currencyCode": "EUR",
"foreignCountryCode": ""
}
HTTP status code 201
Body
Media type: application/json
Type: object
Example:
{ "id" : 123456 }
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
A single item in PlanMill.
View details of a single item. See items/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
Update an existing resource item to PlanMill. See items/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
Remove a item from PlanMill.
get /expenses/{expense_id}/items/{expense_item_id}
View details of a single item. See items/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- expense_id: required(string)
- expense_item_id: required(string)
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
HTTP status code 200
Body
Media type: application/json
Type: item
Example:
{
"quantity": 1,
"start": "2016-03-02T00:00:00.000+0200",
"vat": null,
"description": "One night stay at Tampere hotel",
"type": 3,
"expense": 2972,
"typeCode": "",
"unit": "-",
"exchangeRate": 1,
"generated": "0",
"advancePayment": 0,
"paymentMethod": 1,
"finish": "2016-03-03T00:00:00.000+0200",
"currency": 1,
"id": 2973,
"debt": 1,
"currencyCode": "EUR",
"foreignCountryCode": ""
}
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
post /expenses/{expense_id}/items/{expense_item_id}
Update an existing resource item to PlanMill. See items/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- expense_id: required(string)
- expense_item_id: required(string)
Headers
- Content-Type: required(string - default: application/json;charset=UTF-8 )
Example:
application/json;charset=UTF-8
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
Body
Media type: application/json
Type: item
Example:
{
"quantity": 1,
"start": "2016-03-02T00:00:00.000+0200",
"vat": null,
"description": "One night stay at Tampere hotel",
"type": 3,
"expense": 2972,
"typeCode": "",
"unit": "-",
"exchangeRate": 1,
"generated": "0",
"advancePayment": 0,
"paymentMethod": 1,
"finish": "2016-03-03T00:00:00.000+0200",
"currency": 1,
"id": 2973,
"debt": 1,
"currencyCode": "EUR",
"foreignCountryCode": ""
}
HTTP status code 204
No HTTP body returned
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
delete /expenses/{expense_id}/items/{expense_item_id}
Remove a item from PlanMill.
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- expense_id: required(string)
- expense_item_id: required(string)
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
HTTP status code 204
No HTTP body returned
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
Get meta information for the updatable fields of the expense
View details of a single meta.
get /expenses/{expense_id}/items/{expense_item_id}/meta
View details of a single meta.
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- expense_id: required(string)
- expense_item_id: required(string)
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
HTTP status code 200
Body
Media type: application/json
Type: object
Example:
{
"filters": null,
"fields": {
"quantity": {
"format": "number",
"caption": "QTY"
},
"start": {
"format": "mediumdate",
"caption": "Start"
},
"vat": {
"format": "number",
"caption": null
},
"description": {
"format": "text",
"caption": "Description"
},
"type": {
"format": "Expense sheet.XHTML.Single item.Types",
"caption": "Type"
},
"expense": {
"format": "number",
"caption": null
},
"unit": {
"format": null,
"caption": "Unit"
},
"exchangeRate": {
"format": "number",
"caption": "Exchange rate"
},
"advancePayment": {
"format": "number",
"caption": null
},
"paymentMethod": {
"format": "Enumeration values.Expense.Expense item payment",
"caption": "Payment"
},
"finish": {
"format": "mediumdate",
"caption": "Finish"
},
"id": {
"format": "number",
"caption": null
},
"debt": {
"format": "number",
"caption": null
},
"currencyCode": {
"format": "text",
"caption": null
}
}
}
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
Get meta information for the updatable fields of the expense
Get a list of meta
get /expenses/{expense_id}/items/meta
Get a list of meta
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- expense_id: required(string)
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
Query Parameters
- rowcount?: (integer - minimum: 1)
It limits the result set amount to the specified limit to avoid API call to return too many records. Default row count is 100
- nextrows?: (integer)
The number of the next starting row. It is dependent on rowcount. For example, for total 250 items, if rowcount is 100 and nextrows is 101, it return items 101-201
- order?: (integer)
Orders the results in ascending or descending order. 0=Ascending and 1=Descending. It is used in combination with sort
- sort?: (integer)
Sorts the results using number that is associated with each column
HTTP status code 200
Body
Media type: application/json
Type: object
Example:
{
"quantity": {
"caption": "Quantity",
"format": "double",
"values": null
},
"start": {
"calendar": "yyyy-MM-dd'T'HH:mm:ss.SSSZ",
"caption": "Start",
"format": "string",
"maxlength": "10",
"values": null
},
"vat": {
"format": "float",
"values": null
},
"description": {
"caption": "Description",
"values": null
},
"type": {
"caption": "Type",
"values": {
"1": "Other- VAT 24 %",
"2": "Advance payment",
"3": "Accommodation",
"5": "Other",
"70": "Taxi",
"71": "Train",
"72": "Parking",
"73": "Air fare",
"74": "Public transport",
"80": "Representation",
"81": "Purchase",
"82": "Daily allowance - full day, Finland (2007)",
"83": "Daily allowance - partial day, Finland (2007-2008)",
"84": "Daily allowance, Sweden (2007)",
"85": "Daily allowance, Denmark (2007)",
"86": "Daily allowance, Norway (2007)",
"87": "Daily allowance, Austria (2007-2008)",
"89": "Daily allowance, Switzerland (2007-2008)",
"90": "Daily allowance, UK (2007)",
"91": "Daily allowance, USA (2009)",
"92": "Daily allowance, Other",
"93": "Car usage - private car (2007)",
"96": "Car usage - company car (2007)",
"97": "Car usage - passenger (2008)",
"98": "Motor bike usage (2007)",
"99": "Meal money (2007)",
"100": "Daily allowance - full day, Finland (2008)",
"101": "Daily allowance, Sweden (2008)",
"102": "Daily allowance, Denmark (2009)",
"103": "Daily allowance, Norway (2009)",
"104": "Daily allowance, Germany(2010)",
"105": "Daily allowance, UK (2009)",
"106": "Car usage - private car (2008)",
"107": "Car usage - company car (2008)",
"108": "Motor bike usage (2008)",
"109": "Meal money (2008)",
"110": "Daily allowance, Germany (2007)",
"112": "Daily allowance - full day, Finland (2009)",
"113": "Daily allowance - partial day, Finland(2012)",
"114": "Daily allowance, Sweden (2009)",
"115": "Daily allowance, Austria (2009)",
"116": "Daily allowance, Switzerland (2009)",
"117": "Car usage - private car (2010)",
"118": "Car usage - company car(2010)",
"119": "Car usage - passenger",
"120": "Motor bike usage(2011)",
"121": "Meal money (2009)",
"122": "Daily allowance - full day, Finland(2010)",
"123": "Meal money(2010)",
"124": "Car usage - limited car benefit(2011)",
"125": "Daily allowance, Denmark(2012)",
"126": "Daily allowance, Norway(2011)",
"127": "Daily allowance, UK(2010)",
"128": "Daily allowance, Sweden(2010)",
"129": "Daily allowance, Austria(2010)",
"130": "Daily allowance, Switzerland(2010)",
"131": "Daily allowance, USA(2012)",
"132": "Daily allowance - full day, Finland(2011)",
"133": "Meal money(2011)",
"134": "Car usage - private car(2011)",
"135": "Car usage - company car(2011)",
"136": "Daily allowance, Sweden(2012)",
"137": "Daily allowance, Germany(2011)",
"138": "Daily allowance, Switzerland(2011)",
"139": "Daily allowance, UK(2012)",
"140": "Daily allowance, Austria(2011)",
"141": "Daily allowance, UK London(2013)",
"143": "Motor bike usage(2012)",
"144": "Car usage - limited car benefit(2012)",
"145": "Daily allowance, Norway(2012)",
"146": "Daily allowance - full day, Finland(2012)",
"147": "Meal money(2012)",
"148": "Car usage - private car(2013)",
"149": "Car usage - company car(2013)",
"150": "Daily allowance, Germany",
"151": "Daily allowance, Switzerland(2012)",
"152": "Daily allowance, Austria",
"153": "Daily allowance - partial day, Finland(2013)",
"154": "Daily allowance - full day, Finland(2013)",
"155": "Daily allowance, Denmark",
"156": "Daily allowance, Norway(2013)",
"157": "Daily allowance, Sweden (2014)",
"158": "Daily allowance, Switzerland (2015)",
"159": "Daily allowance, UK(2013)",
"160": "Daily allowance, USA(2013)",
"161": "Meal money(2013)",
"162": "Motor bike usage (2015)",
"163": "Car usage - limited car benefit(2014)",
"164": "Daily allowance - partial day, Finland (2014)",
"165": "Daily allowance - full day, Finland (2014)",
"166": "Car usage - private car (2014)",
"167": "Meal money (2014)",
"168": "Daily allowance, Norway (2014)",
"169": "Daily allowance, UK (2014)",
"170": "Daily allowance, UK London (2014)",
"171": "Daily allowance, USA (2014)",
"172": "Car usage - company car",
"173": "Daily allowance, Netherlands",
"174": "Daily allowance, France",
"175": "Night travel allowance",
"179": "Daily allowance - partial day, Finland (2015)",
"180": "Daily allowance - full day, Finland (2015)",
"181": "Car usage - private car (2015)",
"182": "Meal money",
"183": "Daily allowance, Sweden (2015)",
"184": "Daily allowance, Norway",
"185": "Daily allowance, UK (2015)",
"186": "Daily allowance, UK London (2015)",
"192": "Car usage - limited car benefit (2015)",
"193": "Daily allowance, USA (2015)",
"194": "Car usage - company car (2015)",
"195": "Daily allowance, Other",
"199": "Daily allowance - partial day, Finland",
"200": "Daily allowance - full day, Finland",
"201": "Daily allowance, Switzerland",
"202": "Motor bike usage",
"203": "Car usage - private car",
"204": "Daily allowance, Sweden",
"205": "Daily allowance, UK",
"206": "Daily allowance, UK London",
"207": "Car usage - limited car benefit",
"208": "Daily allowance, USA",
"209": "Car usage - company car",
"325": "Foreign daily allowance",
"330": "Other- VAT 14 %",
"340": "Other- VAT 10 %",
"350": "Own transport",
"360": "Public transport",
"370": "Other- VAT 0 %",
"7000": "Domestic - Train VAT 10%",
"7005": "Domestic - Representation VAT 0%",
"7010": "Domestic - Public transport VAT 10%",
"7015": "Domestic - Air fare VAT 10%",
"7020": "Domestic - Accommodation’s breakfast VAT 14%",
"7025": "Domestic - Accommodation VAT 10%",
"7030": "Domestic - Conference costs VAT 14%",
"7035": "Domestic - Conference costs VAT 24%",
"7040": "Domestic - Parking VAT 24%",
"7045": "Domestic - Taxi VAT 10%",
"7047": "Domestic - Other cost VAT 0%",
"7050": "Domestic - Other cost VAT 10%",
"7055": "Domestic - Other cost VAT 14%",
"7060": "Domestic - Other cost VAT 24%",
"7065": "Foreign - Representation VAT 0%",
"7070": "Foreign - Air fare VAT 0%",
"7075": "Foreign - Accommodation VAT 0%",
"7080": "Foreign - Conference costs (no representation) VAT 0%",
"7085": "Foreign - Taxi VAT 0%",
"7090": "Foreign - Public transport VAT 0%",
"7095": "Foreign - Other cost VAT 0%",
"7100": "Foreign - Train VAT 0%",
"7105": "Foreign - Books VAT 0%",
"7110": "Domestic - Books VAT 10%",
"7115": "Domestic - Postage VAT 24%",
"7120": "Domestic - Telecommunications VAT 24%",
"7125": "Domestic - Office supplies VAT 24%",
"7130": "Domestic - Foodstuffs VAT 14%",
"7135": "Domestic - Staff costs VAT 24%",
"7140": "Domestic - Telecommunications VAT 0%"
},
"format": "int"
},
"expense": {
"values": null
},
"typeCode": {
"caption": "TypeCode",
"format": "string",
"maxlength": "80",
"values": null
},
"unit": {
"caption": "Unit",
"maxlength": "80",
"values": null
},
"exchangeRate": {
"caption": "Exchange rate",
"format": "double",
"description": "",
"values": null
},
"generated": {
"format": "string",
"values": null
},
"advancePayment": {
"values": null
},
"paymentMethod": {
"caption": "Payment",
"enumeration": "Enumeration values.Expense.Expense item payment",
"values": {
"Invoice (non-debt)": "4",
"Own credit card": "3",
"Advance payment": "5",
"Company credit card (non-debt)": "2",
"Company expense (non-debt)": "7",
"Cash": "1",
"-": "0"
}
},
"finish": {
"calendar": "yyyy-MM-dd'T'HH:mm:ss.SSSZ",
"caption": "Finish",
"format": "string",
"maxlength": "10",
"values": null
},
"currency": {
"caption": "",
"format": "int",
"description": "",
"values": null
},
"id": {
"values": null
},
"debt": {
"values": null
},
"currencyCode": {
"caption": "To",
"format": "string",
"description": "",
"values": null
},
"foreignCountryCode": {
"caption": "ForeignCountryCode",
"format": "string",
"maxlength": "2",
"values": null
}
}
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
Increment the status of expenses
Inspected = 3, Accepted = 4, Paid = 6, Rejected = 7
post /expenses/{expense_id}/status
Inspected = 3, Accepted = 4, Paid = 6, Rejected = 7
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- expense_id: required(string)
Headers
- Content-Type: required(string - default: application/json;charset=UTF-8 )
Example:
application/json;charset=UTF-8
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
Body
Media type: application/json
Type: status
Example:
{
"status": 7
}
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"status": 7
}
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
Get meta information for the updatable fields of the expense
View details of a single meta.
get /expenses/{expense_id}/meta
View details of a single meta.
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- expense_id: required(string)
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
HTTP status code 200
Body
Media type: application/json
Type: object
Example:
{
"task": {
"caption": "Task",
"values": {
"": "-"
}
},
"journey": {
"values": null
},
"acceptor": {
"caption": "Acceptor",
"format": "int",
"values": null
},
"name": {
"caption": "Purpose",
"maxlength": "255",
"values": null
},
"project": {
"caption": "Project",
"values": {
"2820": "Test project (13004)",
"2969": "test project - expense (13005)",
"": "-",
"test project - expense (13005)": 2969,
"Test project (13004)": 2820
}
},
"description": {
"caption": "Description",
"values": null
},
"currency": {
"caption": "currencyid",
"format": "string",
"description": "",
"values": null
},
"id": {
"values": null
},
"type": {
"caption": "Type",
"enumeration": "Enumeration values.Expense.Type",
"values": {
"Travel": "0",
"Advance payment": "10",
"Other": "7"
}
},
"billableStatus": {
"caption": "Billable status",
"values": {
"1": "1",
"3": "3"
}
},
"currencyCode": {
"format": "string",
"description": "",
"values": null
},
"expenseOwner": {
"format": "integer",
"description": "id of the person the that owns the expense",
}
}
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
Collection of available attachments in PlanMill. This is a read-only collection.
Get a list of attachments
get /expenses/{expense_id}/attachments
Get a list of attachments
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- expense_id: required(string)
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
Query Parameters
- rowcount?: (integer - minimum: 1)
It limits the result set amount to the specified limit to avoid API call to return too many records. Default row count is 100
- nextrows?: (integer)
The number of the next starting row. It is dependent on rowcount. For example, for total 250 items, if rowcount is 100 and nextrows is 101, it return items 101-201
- order?: (integer)
Orders the results in ascending or descending order. 0=Ascending and 1=Descending. It is used in combination with sort
- sort?: (integer)
Sorts the results using number that is associated with each column
HTTP status code 200
Body
Media type: application/json
Type: object
Example:
[
{
"size": 8497,
"createdBy": 50,
"created": "2022-01-13T13:05:10.837+0200",
"name": "attached_file_test.txt",
"modified": "2022-01-13T13:18:25.353+0200",
"id": 1543
},
{
"size": 146169,
"createdBy": 50,
"created": "2022-01-13T13:18:25.353+0200",
"name": "attached_file.txt",
"modified": "2022-01-13T13:18:25.353+0200",
"id": 1545
}
]
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
attachment_id is returned by /tempfiles endpoint on file upload.
View details of single attachment.
put /expenses/{expense_id}/attachments/{attachment_id}
attachment_id is returned by /tempfiles endpoint on file upload.
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- expense_id: required(string)
- attachment_id: required(string)
Headers
- Content-Type: required(string - default: application/json;charset=UTF-8 )
Example:
application/json;charset=UTF-8
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
HTTP status code 204
No HTTP body returned
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
get /expenses/{expense_id}/attachments/{attachment_id}
View details of single attachment.
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- expense_id: required(string)
- attachment_id: required(string)
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
HTTP status code 200
Body
Media type: application/json
Type: object
Example:
Contents of file
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
/hooks
The currently available subscribable events are listed here along with usage guidelines
Get a list of hooks. See hooks/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
Add a new hook to PlanMill or update existing (if id is given). See hooks/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
get /hooks
Get a list of hooks. See hooks/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
Query Parameters
- hook: required(string)
Event that is being triggered
- eventUser: required(integer)
User identifier that is triggering the event
- eventProject: required(integer)
Project identifier for which the event has been triggered
- rowcount?: (integer - minimum: 1)
It limits the result set amount to the specified limit to avoid API call to return too many records. Default row count is 100
- nextrows?: (integer)
The number of the next starting row. It is dependent on rowcount. For example, for total 250 items, if rowcount is 100 and nextrows is 101, it return items 101-201
- order?: (integer)
Orders the results in ascending or descending order. 0=Ascending and 1=Descending. It is used in combination with sort
- sort?: (string)
Sorts the results using string that is a JSON attribute
- interval?: (string)
Interval type, e.g. start, finish, created, or modified. It is used in combination with intervalstart or intervalfinish
- intervalstart?: (string)
Start date of the interval in UTC format, intervalfinish required
Example:
2021-08-05T00:00:00.000+0200
- intervalfinish?: (string)
Finish date of the interval in UTC format, intervalstart required
Example:
2021-08-05T00:00:00.000+0200
HTTP status code 200
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "base schema for all hook subscriptions",
"items": { "$ref": "#/definitions/hooks" },
"definitions": {
"hook": {
"type": "object",
"required": [ "hook", "url" ],
"additionalProperties": false,
"properties": {
"id": {
"type": "number",
"description": "Unique subscription identifier"
},
"hook": {
"type": "string",
"description": "Event identifier"
},
"url": {
"type": "string",
"description": "Subscription URL that will be posted with data when event is triggered"
},
"eventUser": {
"type": ["number", "null"]
},
"eventProject": {
"type": ["number", "null"]
}
}
}
}
}
Example:
[
{
"id": 2851,
"hook": "timereport.delete",
"subject": "Timereport Delete",
"eventUser": 356,
"eventProject": 213
},
{
"id": 2836,
"hook": "timereport.delete",
"subject": "Timereport Delete",
"eventUser": 356,
"eventProject": 213
}
]
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
post /hooks
Add a new hook to PlanMill or update existing (if id is given). See hooks/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
Headers
- Content-Type: required(string - default: application/json;charset=UTF-8 )
Example:
application/json;charset=UTF-8
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "base schema for all hook subscriptions",
"items": { "$ref": "#/definitions/hooks" },
"definitions": {
"hook": {
"type": "object",
"required": [ "hook", "url" ],
"additionalProperties": false,
"properties": {
"id": {
"type": "number",
"description": "Unique subscription identifier"
},
"hook": {
"type": "string",
"description": "Event identifier"
},
"url": {
"type": "string",
"description": "Subscription URL that will be posted with data when event is triggered"
},
"eventUser": {
"type": ["number", "null"]
},
"eventProject": {
"type": ["number", "null"]
}
}
}
}
}
Example:
{
"hook": "account.update",
"eventUser": -1,
"id": 1409,
"eventProject": -1,
"type": 1,
"url": "https://endurable-hound.glitch.me/hook"
}
Triggered hook would look as below
{
"hook": "account.update",
"resource": {
"lineOfBusiness": null,
"shippingCity": "",
"businessId": "",
"vatId": "",
"invoiceEmail": "",
"shippingPostalCode": "",
"type": 8,
"blog": "",
"twitter": "",
"shippingCountry": 0,
"rfReferenceNumber": 0,
"invoiceChannel": -1,
"billingCountry": 0,
"id": 1320,
"invoiceAppendix": 0,
"supplierAccount": null,
"billingState": "",
"serviceLevel": 0,
"customerSatisfaction": null,
"autoReplyRequestMails": 0,
"combineInvoices": 0,
"reverseCharge": null,
"phone": "",
"name": "Your first prospect name (update)",
"billingReference": "",
"invoiceTemplate": "",
"shippingState": "",
"termsOfPayment": 14,
"eInvoicingAddress": null,
"handlingFee": null,
"invoiceVat": 24,
"description": "",
"industry": -1,
"parentAccount": null,
"ceo": null,
"parentAccountName": null,
"shippingReference": "",
"turnover": null,
"email": "",
"owner": 50,
"website": "",
"facebook": "",
"staff": null,
"passive": 0,
"invoiceNetOperator": null,
"billingPostalCode": "",
"firstInvoiceNumber": null,
"shippingAddress": "",
"billingAddress": "",
"billingCity": ""
},
"subject": "Your first prospect name (update)",
"eventUser": 50,
"Id": 1320
}
HTTP status code 201
Body
Media type: application/json
Type: object
Example:
{ "id" : 123456 }
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
A single hook in PlanMill.
View details of a single hook. See hooks/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
Update an existing resource hook to PlanMill. See hooks/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
Remove a hook from PlanMill.
get /hooks/{hook_id}
View details of a single hook. See hooks/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- hook_id: required(string)
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
HTTP status code 200
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "base schema for all hook subscriptions",
"items": { "$ref": "#/definitions/hooks" },
"definitions": {
"hook": {
"type": "object",
"required": [ "hook", "url" ],
"additionalProperties": false,
"properties": {
"id": {
"type": "number",
"description": "Unique subscription identifier"
},
"hook": {
"type": "string",
"description": "Event identifier"
},
"url": {
"type": "string",
"description": "Subscription URL that will be posted with data when event is triggered"
},
"eventUser": {
"type": ["number", "null"]
},
"eventProject": {
"type": ["number", "null"]
}
}
}
}
}
Example:
{
"hook": "account.update",
"eventUser": -1,
"id": 1409,
"eventProject": -1,
"type": 1,
"url": "https://endurable-hound.glitch.me/hook"
}
Triggered hook would look as below
{
"hook": "account.update",
"resource": {
"lineOfBusiness": null,
"shippingCity": "",
"businessId": "",
"vatId": "",
"invoiceEmail": "",
"shippingPostalCode": "",
"type": 8,
"blog": "",
"twitter": "",
"shippingCountry": 0,
"rfReferenceNumber": 0,
"invoiceChannel": -1,
"billingCountry": 0,
"id": 1320,
"invoiceAppendix": 0,
"supplierAccount": null,
"billingState": "",
"serviceLevel": 0,
"customerSatisfaction": null,
"autoReplyRequestMails": 0,
"combineInvoices": 0,
"reverseCharge": null,
"phone": "",
"name": "Your first prospect name (update)",
"billingReference": "",
"invoiceTemplate": "",
"shippingState": "",
"termsOfPayment": 14,
"eInvoicingAddress": null,
"handlingFee": null,
"invoiceVat": 24,
"description": "",
"industry": -1,
"parentAccount": null,
"ceo": null,
"parentAccountName": null,
"shippingReference": "",
"turnover": null,
"email": "",
"owner": 50,
"website": "",
"facebook": "",
"staff": null,
"passive": 0,
"invoiceNetOperator": null,
"billingPostalCode": "",
"firstInvoiceNumber": null,
"shippingAddress": "",
"billingAddress": "",
"billingCity": ""
},
"subject": "Your first prospect name (update)",
"eventUser": 50,
"Id": 1320
}
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
post /hooks/{hook_id}
Update an existing resource hook to PlanMill. See hooks/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- hook_id: required(string)
Headers
- Content-Type: required(string - default: application/json;charset=UTF-8 )
Example:
application/json;charset=UTF-8
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "base schema for all hook subscriptions",
"items": { "$ref": "#/definitions/hooks" },
"definitions": {
"hook": {
"type": "object",
"required": [ "hook", "url" ],
"additionalProperties": false,
"properties": {
"id": {
"type": "number",
"description": "Unique subscription identifier"
},
"hook": {
"type": "string",
"description": "Event identifier"
},
"url": {
"type": "string",
"description": "Subscription URL that will be posted with data when event is triggered"
},
"eventUser": {
"type": ["number", "null"]
},
"eventProject": {
"type": ["number", "null"]
}
}
}
}
}
Example:
{
"hook": "account.update",
"eventUser": -1,
"id": 1409,
"eventProject": -1,
"type": 1,
"url": "https://endurable-hound.glitch.me/hook"
}
Triggered hook would look as below
{
"hook": "account.update",
"resource": {
"lineOfBusiness": null,
"shippingCity": "",
"businessId": "",
"vatId": "",
"invoiceEmail": "",
"shippingPostalCode": "",
"type": 8,
"blog": "",
"twitter": "",
"shippingCountry": 0,
"rfReferenceNumber": 0,
"invoiceChannel": -1,
"billingCountry": 0,
"id": 1320,
"invoiceAppendix": 0,
"supplierAccount": null,
"billingState": "",
"serviceLevel": 0,
"customerSatisfaction": null,
"autoReplyRequestMails": 0,
"combineInvoices": 0,
"reverseCharge": null,
"phone": "",
"name": "Your first prospect name (update)",
"billingReference": "",
"invoiceTemplate": "",
"shippingState": "",
"termsOfPayment": 14,
"eInvoicingAddress": null,
"handlingFee": null,
"invoiceVat": 24,
"description": "",
"industry": -1,
"parentAccount": null,
"ceo": null,
"parentAccountName": null,
"shippingReference": "",
"turnover": null,
"email": "",
"owner": 50,
"website": "",
"facebook": "",
"staff": null,
"passive": 0,
"invoiceNetOperator": null,
"billingPostalCode": "",
"firstInvoiceNumber": null,
"shippingAddress": "",
"billingAddress": "",
"billingCity": ""
},
"subject": "Your first prospect name (update)",
"eventUser": 50,
"Id": 1320
}
HTTP status code 204
No HTTP body returned
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
delete /hooks/{hook_id}
Remove a hook from PlanMill.
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- hook_id: required(string)
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
HTTP status code 204
No HTTP body returned
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
/integrations
Get a list of available integration templates and statuses.
get /integrations
Get a list of available integration templates and statuses.
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
Body
Media type: application/json
Type: any
Example:
{
"Asiakastieto.DecisionMaker": {
"sourceFields": [
"[ignore]",
"account.businessId",
"account.name",
"contact.title",
"[ignore]",
"contact.firstName",
"[ignore]",
"contact.lastName",
"contact.workPhone",
"[ignore]",
"contact.department",
"contact.email"
],
"name": "Asiakastieto Decisionmaker",
"active": true,
"step": 30
},
"Default.SalesOrderItem": {
"sourceFields": [
"salesorder.operationalId",
"salesorderitem.id",
"[ignore]",
"[ignore]",
"[ignore]",
"[ignore]",
"salesorderitem.sellingPrice",
"[ignore]",
"[ignore]",
"[ignore]",
"[ignore]",
"[ignore]",
"[ignore]",
"[ignore]"
],
"name": "Salesorder item",
"active": false
},
"Asiakastieto.Prospect": {
"sourceFields": [
"[ignore]",
"account.id",
"[ignore]",
"[ignore]",
"[ignore]",
"[ignore]",
"[ignore]",
"[ignore]",
"[ignore]",
"account.businessId",
"account.name",
"account.shippingAddress",
"account.shippingPostalCode",
"account.shippingCity",
"account.billingAddress",
"account.billingPostalCode",
"account.billingCity",
"account.phone",
"[ignore]",
"[ignore]",
"account.lineOfBusiness",
"[ignore]",
"account.staff",
"account.turnover",
"[ignore]",
"account.email",
"account.website",
"[passive]"
],
"name": "Asiakastieto Prospect",
"active": false
},
"Default.PricebookItem": {
"sourceFields": [
"priceBook.name",
"priceBook.currency",
"priceBook.languageCode",
"priceBook.supplier",
"priceBook.owner",
"priceBook.passive",
"priceBook.searchKeywords",
"priceBook.validFrom",
"pricebookitem.name",
"[productname]",
"masterProduct.operationalId",
"[type]",
"pricebookitem.sellingPrice",
"pricebookitem.unit",
"pricebookitem.billingType",
"pricebookitem.targetEffort",
"pricebookitem.searchKeywords",
"[description]",
"pricebookitem.invoicingPeriod",
"pricebookitem.vat",
"[costcenter]",
"pricebookitem.revenueType",
"pricebookitem.salesAccount",
"pricebookitem.discount",
"pricebookitem.invoiceProcess"
],
"name": "Price book item",
"active": true,
"step": 20
},
"Default.Purchases": {
"sourceFields": [
"[ignore]",
"[ignore]",
"purchase.project",
"task.project",
"task.name",
"purchase.id",
"purchase.name",
"purchase.date",
"purchase.billableStatus",
"purchase.status",
"purchase.plannedAmount",
"purchase.actualAmount",
"purchase.type",
"purchase.accountName",
"purchase.description"
],
"name": "Purchases",
"active": false
},
"Default.Task": {
"sourceFields": [
"project.operationalId",
"project.name",
"task.name",
"task.start",
"task.finish",
"task.type",
"task.billableStatus",
"task.status",
"task.targetEffort",
"task.unitPrice",
"task.description",
"[taskEstimated]"
],
"name": "Task",
"active": false
},
"Lead.Action": {
"sourceFields": [
"[ignore]",
"[ignore]",
"action.contact",
"[ignore]",
"[ignore]",
"[ignore]",
"action.priority",
"action.private",
"action.reminder",
"action.status",
"action.type",
"action.project",
"[ignore]",
"action.opportunity",
"action.request",
"[ignore]",
"action.responsible",
"action.dueDate",
"action.subject",
"action.description",
"action.start",
"action.location",
"action.salesOrder",
"[ignore]"
],
"name": "Lead Action",
"active": false
}
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
Using specific saved integration settings for importing or exporting a set of data to like file containing information of different companies to PlanMill as accounts.
Begins a new integration process for this template with a given file.
Cancels the current integration process for this template.
Previews data transformation with a given amount of rows.
post /integrations/{template}
Begins a new integration process for this template with a given file.
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- template: required(string)
source.template
Example:
Asiakastieto.DecisionMaker
Query Parameters
- file: (integer)
Id of the file to be used in the integration.
- delim: (string)
Delimiter character used in the source CSV file. Optional but might be needed to be supplied if the delimiter cannot be detected.
- quote: (string - default: (double quote))
Quote character used in the source CSV file
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
delete /integrations/{template}
Cancels the current integration process for this template.
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- template: required(string)
source.template
Example:
Asiakastieto.DecisionMaker
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
get /integrations/{template}
Previews data transformation with a given amount of rows.
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- template: required(string)
source.template
Example:
Asiakastieto.DecisionMaker
Query Parameters
- ignoreFirstRow: required(string - default: false)
Ignore the first row of a file. Useful with CSV files with header rows.
- rows: required(integer - default: 10)
Number of rows to preview
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"sourceFields": [
"contact.lastName",
"contact.firstName",
"contact.account",
"contact.title",
"contact.mobilePhone",
"contact.email"
],
"targetRows": [
[
"ROW1COL1",
"ROW1COL2",
"9999999",
"ROW1COL4",
"123456",
"regressionb@accountb.com"
],
[
"ROW2COL1",
"ROW2COL2",
"123456",
"ROW2COL4",
"123456",
"a@b.com"
],
[
"ROW3COL1",
"ROW3COL2",
"123456",
"ROW3COL4",
"123456",
"a@b.com"
],
[
"ROW4COL1",
"ROW4COL2",
"123456",
"ROW4COL4",
"123456",
"a@b.com"
],
[
"ROW5COL1",
"ROW5COL2",
"123456",
"ROW5COL4",
"123456",
"a@b.com"
],
[
"ROW6COL1",
"ROW6COL2",
"123456",
"ROW6COL4",
"123456",
"a@b.com"
],
[
"ROW7COL1",
"ROW7COL2",
"123456",
"ROW7COL4",
"123456",
"a@b.com"
],
[
"ROW8COL1",
"ROW8COL2",
"123456",
"ROW8COL4",
"123456",
"a@b.com"
],
[
"ROW9COL1",
"ROW9COL2",
"123456",
"ROW9COL4",
"123456",
"a@b.com"
],
[
"ROW10COL1",
"ROW10COL2",
"123456",
"ROW10COL4",
"123456",
"a@b.com"
]
],
"sourceRows": [
[
"ROW1COL1",
"ROW1COL2",
"9999999",
"ROW1COL4",
"123456",
"regressionb@accountb.com"
],
[
"ROW2COL1",
"ROW2COL2",
"123456",
"ROW2COL4",
"123456",
"a@b.com"
],
[
"ROW3COL1",
"ROW3COL2",
"123456",
"ROW3COL4",
"123456",
"a@b.com"
],
[
"ROW4COL1",
"ROW4COL2",
"123456",
"ROW4COL4",
"123456",
"a@b.com"
],
[
"ROW5COL1",
"ROW5COL2",
"123456",
"ROW5COL4",
"123456",
"a@b.com"
],
[
"ROW6COL1",
"ROW6COL2",
"123456",
"ROW6COL4",
"123456",
"a@b.com"
],
[
"ROW7COL1",
"ROW7COL2",
"123456",
"ROW7COL4",
"123456",
"a@b.com"
],
[
"ROW8COL1",
"ROW8COL2",
"123456",
"ROW8COL4",
"123456",
"a@b.com"
],
[
"ROW9COL1",
"ROW9COL2",
"123456",
"ROW9COL4",
"123456",
"a@b.com"
],
[
"ROW10COL1",
"ROW10COL2",
"123456",
"ROW10COL4",
"123456",
"a@b.com"
]
],
"targetFields": [
"contact.lastName",
"contact.firstName",
"contact.account",
"contact.title",
"contact.mobilePhone",
"contact.email"
]
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
Transforms source file to insertable data. Returns a list of any omitted rows due to invalid field data.
put /integrations/{template}/transform
Transforms source file to insertable data. Returns a list of any omitted rows due to invalid field data.
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- template: required(string)
source.template
Example:
Asiakastieto.DecisionMaker
Query Parameters
- ignoreFirstRow: required(string - default: false)
Ignore the first row of a file. Useful with CSV files with header rows.
HTTP status code 202
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
Returns errors occurred during transformation. Uses pagination.
get /integrations/{template}/transform/errors
Returns errors occurred during transformation. Uses pagination.
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- template: required(string)
source.template
Example:
Asiakastieto.DecisionMaker
Query Parameters
- from: required(integer - default: 1)
The row number of the first error row to return.
- rows: required(integer - default: 100)
The amount of rows to return.
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
[{
"row" : "1",
"message" : "Transformation failed",
"fields" : {
"pricebookitem.vat" : "Could not parse value to a double.",
"pricebookitem.sellingPrice" : "Could not parse value to an integer.",
"pricebook.owner" : "Please enter a valid number.",
"pricebookitem.targetEffort" : "Could not parse value to an integer.",
"priceBook.validFrom" : "Failed to parse date with format dd.MM.yyyy",
"pricebook.validFrom" : "Please enter a valid date.",
"pricebook.passive" : "Please enter a valid number.",
"pricebookitem.invoicingPeriod" : "Enumeration value for key 'PBI Invoicing period' not found.",
"priceBook.passive" : "Could not parse value to an integer.",
"priceBook.supplier" : "Could not parse value to an integer.",
"pricebookitem.discount" : "Could not parse value to a double.",
"pricebookitem.salesAccount" : "Could not parse value to an integer.",
"pricebook.supplier" : "Please enter a valid number.",
"pricebookitem.revenueType" : "Could not parse value to an integer.",
"priceBook.currency" : "Enumeration value for key 'PB Currency' not found.",
"pricebookitem.unit" : "Enumeration value for key 'PBI Unit' not found.",
"pricebook.currency" : "Please enter a valid number."
}
}]
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
Compares candidate data with existing objects in PlanMill and returns an appropriate update or insert dataset.
put /integrations/{template}/comparison
Compares candidate data with existing objects in PlanMill and returns an appropriate update or insert dataset.
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- template: required(string)
source.template
Example:
Asiakastieto.DecisionMaker
HTTP status code 202
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
Lists all conflicts by their given import row. In the case that a given import row matches multiple existing objects in the system they are collected as conflicts to be resolved.
Resolve matches to multiple existing objects by specifying the preferred object id for each conflict
get /integrations/{template}/comparison/conflicts
Lists all conflicts by their given import row. In the case that a given import row matches multiple existing objects in the system they are collected as conflicts to be resolved.
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- template: required(string)
source.template
Example:
Asiakastieto.DecisionMaker
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"conflicts": [
{
"matchedFields": ["businessId"],
"matchedValues": ["7777777"],
"conflictId": 1,
"matchedObjects": [
{
"businessId": "7777777",
"revenueLastYear": "0",
"ownerName": "Owner, Thomas",
"rfReferenceNumber": "0",
"billingCountry": "73",
"modified": "2015-07-07T10:43:22.643+0300",
"activeContacts": "0",
"id": "2293",
"owner": "2252",
"created": "2015-07-06T10:43:22.480+0300",
"revenueThisYear": "0",
"passive": "0",
"combineInvoices": "0",
"createdBy": "User, First",
"billingPostalCode": "500",
"name": "Test Account 1",
"billingAddress": "Hämeentie 19",
"billingCity": "Helsinki"
},
{
"shippingCity": "Helsinki",
"businessId": "7777777",
"invoiceVat": "24",
"revenueLastYear": "0",
"industry": "-1",
"shippingPostalCode": "12323",
"type": "8",
"ownerName": "Owner, Thomas",
"shippingCountry": "0",
"rfReferenceNumber": "0",
"billingCountry": "73",
"modified": "2015-07-07T10:43:29.853+0300",
"activeContacts": "0",
"id": "2305",
"owner": "2252",
"created": "2015-07-07T10:43:29.853+0300",
"revenueThisYear": "0",
"serviceLevel": "0",
"passive": "0",
"combineInvoices": "0",
"phone": "12323",
"createdBy": "User, First",
"billingPostalCode": "1343",
"name": "Test Account 2",
"shippingAddress": "TEST",
"billingAddress": "Hämeentie 19",
"termsOfPayment": "14",
"billingCity": "Helsinki"
},
{
"shippingCity": "Helsinki",
"businessId": "7777777",
"invoiceVat": "24",
"revenueLastYear": "0",
"industry": "-1",
"shippingPostalCode": "12323",
"type": "8",
"ownerName": "938",
"shippingCountry": "73",
"rfReferenceNumber": "0",
"billingCountry": "73",
"modified": "2015-07-06T17:44:54.717+0300",
"activeContacts": "0",
"id": "1021",
"owner": "938",
"created": "2015-07-06T17:44:54.717+0300",
"revenueThisYear": "0",
"serviceLevel": "0",
"passive": "0",
"combineInvoices": "0",
"phone": "12323",
"createdBy": "938",
"billingPostalCode": "1343",
"name": "Test Account 3",
"shippingAddress": "Kuitinkatu 2",
"billingAddress": "Hämeentie 19",
"termsOfPayment": "14",
"billingCity": "Helsinki"
}
],
"objectType": "account",
"object": {
"shippingCity": "Espoo",
"phone": "12323",
"billingPostalCode": "1343",
"businessId": "7777777",
"name": "Test Account 4",
"shippingAddress": "Kuitinkatu 2",
"shippingPostalCode": "12323",
"billingAddress": "Hämeentie 19",
"billingCity": "Helsinki"
}
}
]
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
put /integrations/{template}/comparison/conflicts
Resolve matches to multiple existing objects by specifying the preferred object id for each conflict
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- template: required(string)
source.template
Example:
Asiakastieto.DecisionMaker
Body
Media type: application/json
Type: any
Example:
{
"1" : "2839618",
"2" : "-1"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
Imports prepared comparison dataset into PlanMill.
post /integrations/{template}/import
Imports prepared comparison dataset into PlanMill.
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- template: required(string)
source.template
Example:
Asiakastieto.DecisionMaker
Query Parameters
- mode: required(one of insert, update, merge)
Importing mode. Insert will only import new objects, update will only update existing objects and merge will do both
- noComparison: required(boolean - default: false)
Perform import without comparison by directly using the transformation result
HTTP status code 202
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
Returns errors occurred during transformation. Uses pagination.
get /integrations/{template}/import/errors
Returns errors occurred during transformation. Uses pagination.
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- template: required(string)
source.template
Example:
Asiakastieto.DecisionMaker
Query Parameters
- from: required(integer - default: 1)
The row number of the first error row to return.
- rows: required(integer - default: 100)
The amount of rows to return.
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
/invoices
Collection of available invoices in PlanMill. This is a read-only collection.
Get a list of invoices
get /invoices
Get a list of invoices
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
Query Parameters
- cyear?: (string)
Get invoices for specified month. If parameter is missing, always return invoices for current month. Filter is using invoiceDate field.
Example:
07/2021
- rowcount?: (integer - minimum: 1)
It limits the result set amount to the specified limit to avoid API call to return too many records. Default row count is 100
- nextrows?: (integer)
The number of the next starting row. It is dependent on rowcount. For example, for total 250 items, if rowcount is 100 and nextrows is 101, it return items 101-201
- order?: (integer)
Orders the results in ascending or descending order. 0=Ascending and 1=Descending. It is used in combination with sort
- sort?: (integer)
Sorts the results using number that is associated with each column
HTTP status code 200
Body
Media type: application/json
Type: array of invoice
Items: invoice
- id: (integer)
Id of an invoice
- dueDate: (datetime)
duedate of an invoice
- yourReference: (union of string or nil)
- ourReference: (string)
- customerName: (union of string or nil)
- customer: (union of integer or nil)
- invoiceDate: (string)
Date and time of an invoice
- reference: (union of integer or nil)
- billingAddress: (string)
- delayInterest: (integer)
- invoiceCurrency: (integer)
Currency rate of invoice. Multiply Invoiced amount with this rate for amounts in actual invoiced currency
- comment: (union of string or nil)
- invoiceAppendix: (union of integer or nil)
- description: (union of string or nil)
- showSubTotals: (integer)
- invoiceXSL: (string)
Xsl file of an invoice
- noticeTime: (integer)
length of notice time
- shippingAddress: (union of string or nil)
- supplier: (integer)
- invoiceNumber: (union of integer or nil)
- termsOfPayment: (integer)
- sentToAccounting: (union of integer or string or nil)
- paymentStatus: (integer)
Status of payment
- invoicedAmount: (union of number or nil)
Total invoiced amount including VAT in base currency.
- InvoicedAmountVAT: (number)
Total VAT amount in base currency
- invoiceVAT: (integer)
VAT of an invoice
- delivered: (union of string or nil)
- invoiceNetAddress: (union of integer or nil)
- invoiceNetOperator: (union of string or nil)
- invoiceChannel: (union of integer or nil)
- created: (datetime)
Created date of an invoice
- invoiceEmail: (union of email or emptystring or nil)
Invoice delivery email
- paidAmount: (integer)
- supplierName: (string)
- VATid: (union of string or nil)
- currencyCode: (string)
ISO 4217 currency code
- creditedInvoice: (number)
Only present if invoice is a credit note. Id of the original invoice for which this is crediting.
Example:
[
{
"VATid": "SE556018557001",
"billingAddress": "BOX 689\r\n136 26 HANINGE\r\nSweden",
"comment": "Thomas, Hood /11.11.2020 10:08\r\n\r\n\r\nMuutettu alv 0% , Laskutus Ruotsiin \r\nSopimus Valtti-MEGroup - signed (Desktop, Web, Mobile)\r\n\r\n\r\nThomas, Hood / 8/2020\r\n\r\n\r\nLuotu ja muokattu",
"created": "2021-06-03T15:22:10.983+0300",
"customer": 2229443,
"customerName": "DLP Drinks Logistics Partner Ab",
"delayInterest": 8,
"delivered": "2021-06-03 15:22:42.777",
"description": null,
"dueDate": "2021-06-15T00:00:00.000+0300",
"id": 62902,
"invoiceAppendix": 0,
"invoiceChannel": 4,
"invoiceCurrency": 1,
"invoiceDate": "2021-06-01 00:00:00.0",
"invoiceEmail": "ekonomi@dlp.se",
"invoiceNetAddress": null,
"invoiceNetOperator": null,
"invoiceNumber": 120503,
"invoiceVAT": 0,
"invoiceXSL": "planmill_sv_eur.xsl",
"invoicedAmount": 2129.19,
"noticeTime": 8,
"ourReference": "Thomas Hood, +358 50 482 3128",
"paidAmount": 0,
"paymentStatus": 5,
"reference": 11305030,
"sentToAccounting": "03.06.2021",
"shippingAddress": "DLP Drinks Logistics Partner Ab\r\nDåntorpsvägen 32\r\nSE-136 50 Jordbro\r\nSweden",
"showSubTotals": 0,
"supplier": 353,
"supplierName": "PlanMill Oy",
"termsOfPayment": 14,
"yourReference": "DLP"
},
{
"VATid": null,
"billingAddress": "Jaakonkatu 3\r\n01620 Vantaa",
"comment": null,
"created": "2021-06-04T13:10:54.647+0300",
"customer": 1980425,
"customerName": "Med Group Oy",
"delayInterest": 8,
"delivered": "2021-06-04 13:51:31.003",
"description": null,
"dueDate": "2021-06-15T00:00:00.000+0300",
"id": 65785,
"invoiceAppendix": 0,
"invoiceChannel": 2,
"invoiceCurrency": 1,
"invoiceDate": "2021-06-01 00:00:00.0",
"invoiceEmail": "",
"invoiceNetAddress": 3720801200,
"invoiceNetOperator": "BAWCFI22",
"invoiceNumber": 120783,
"invoiceVAT": 24,
"invoiceXSL": "planmill_fi_eur.xsl",
"invoicedAmount": 2351.65,
"noticeTime": 8,
"ourReference": "Timo Niskanen",
"paidAmount": 0,
"paymentStatus": 5,
"reference": 1058100001202335,
"sentToAccounting": "04.06.2021",
"shippingAddress": "",
"showSubTotals": 0,
"supplier": 353,
"supplierName": "Valtti Kumppanit Oy",
"termsOfPayment": 14,
"yourReference": null
}
]
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
A single invoice in PlanMill. This is a read-only item.
View details of a single invoice.
get /invoices/{invoice_id}
View details of a single invoice.
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- invoice_id: required(string)
Headers
- Accept: (one of application/pdf, application/xml)
Get invoice in PDF and XML formats. PDF-format works with Invoice + appendix and XML-format works with Finvoice
Example:
Accept: application/pdf
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- id: (integer)
Id of an invoice
- dueDate: (datetime)
duedate of an invoice
- yourReference: (union of string or nil)
- ourReference: (string)
- customerName: (union of string or nil)
- customer: (union of integer or nil)
- invoiceDate: (string)
Date and time of an invoice
- reference: (union of integer or nil)
- billingAddress: (string)
- delayInterest: (integer)
- invoiceCurrency: (integer)
Currency rate of invoice. Multiply Invoiced amount with this rate for amounts in actual invoiced currency
- comment: (union of string or nil)
- invoiceAppendix: (union of integer or nil)
- description: (union of string or nil)
- showSubTotals: (integer)
- invoiceXSL: (string)
Xsl file of an invoice
- noticeTime: (integer)
length of notice time
- shippingAddress: (union of string or nil)
- supplier: (integer)
- invoiceNumber: (union of integer or nil)
- termsOfPayment: (integer)
- sentToAccounting: (union of integer or string or nil)
- paymentStatus: (integer)
Status of payment
- handlingFee: (union of number or nil)
Handling fee of an invoice
- handlingFeeAccount: (integer)
Handling fee of an invoice account
- VAT: (union of integer or nil)
- salesExecutive: (union of integer or nil)
- reverseCharge: (integer)
Status of payment
Example:
{
"handlingFeeAccount": 3700,
"invoiceAppendix": 0,
"invoiceNumber": 120884,
"invoiceXSL": "planmill_fi_eur.xsl",
"paymentStatus": 5,
"salesExecutive": 2534285,
"sentToAccounting": 1
}
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
/languages
Language strings used for localization available in PlanMill
View details of a single language.
get /languages
View details of a single language.
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
Query Parameters
- name: required(string)
Name of language string
Example:
System.Generic.Table.No rows found.Create a new product
- section: required(string)
Category of language
Example:
System
- lang: required(string)
Language code ('en', 'fi') to get language string in desired language
Example:
en
HTTP status code 200
Body
Media type: application/json
Type: object
Example:
[
{
"System.Generic.Table.No rows found.Create a new product": "Create a new product",
"System.Errors.Delete.Cannot delete request": "Cannot delete request",
"System.Generic.Table.No rows found.Create a new contact": "Create a new contact",
"System.Generic.Table.No rows found.Create a new absence": "Create a new absence"
},
{
"System.Generic.Table.No rows found.Create a new product": "Luo uusi tuote",
"System.Errors.Delete.Cannot delete request": "Palvelupyyntö ei voi poistaa",
"System.Generic.Table.No rows found.Create a new contact": "Luo uusi kontakti",
"System.Generic.Table.No rows found.Create a new absence": "Luo uusi poissaolo"
}
]
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
/me
Current user information in PlanMill
View details of a single me.
get /me
View details of a single me.
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
HTTP status code 200
Body
Media type: application/json
Type:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "base schema for current user",
"oneOf": [
{
"$ref": "#/definitions/me"
}
],
"definitions": {
"me": {
"type": "object",
"required": ["firstName", "id", "currency", "language"],
"properties": {
"firstName": {
"type": "string",
"description": "Current user's first name"
},
"lastName": {
"type": "string",
"description": "Current user's last name"
},
"photo":{
"type": ["string", "null"],
"description": "Current user's photo"
},
"currency": {
"type" : "integer",
"description": "Current user's currency type"
},
"language": {
"type": "string",
"description": "Current user's language"
},
"effortUnit": {
"type": "integer",
"description": "Current user's effort unit"
},
"id": {
"type": "integer",
"description": "Current user's id"
}
}
}
}
}
Example:
{
"firstName": "Hannu",
"lastName": "Karpo",
"photo": null,
"currency": 1,
"language": "en",
"effortUnit": 2,
"id": 2843684
}
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
/mails
Mail information in PlanMill
Get a list of mails
get /mails
Get a list of mails
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
Query Parameters
- rowcount?: (integer - minimum: 1)
It limits the result set amount to the specified limit to avoid API call to return too many records. Default row count is 100
- nextrows?: (integer)
The number of the next starting row. It is dependent on rowcount. For example, for total 250 items, if rowcount is 100 and nextrows is 101, it return items 101-201
- order?: (integer)
Orders the results in ascending or descending order. 0=Ascending and 1=Descending. It is used in combination with sort
- sort?: (integer)
Sorts the results using number that is associated with each column
HTTP status code 200
Body
Media type: application/json
Type: object
Example:
[
{
"senderName": "Tester, First",
"sender": 3081,
"subject": "This is the first request mail",
"created": "2015-08-11T16:39:38.340+0300",
"id": 1991,
"primaryTo": "tester.mikko@planmill.com"
},
{
"senderName": "Tester, Second",
"sender": 1680,
"subject": "This is the first request mail",
"created": "2015-08-11T16:39:37.967+0300",
"id": 1992,
"primaryTo": "test@test.com"
},
{
"senderName": "noreply@planmill.com",
"sender": null,
"subject": "Execution reports for /release1541_temp",
"created": "2015-09-06T08:02:07.187+0300",
"id": 4130,
"primaryTo": null
}
]
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
Collection of available attachments in PlanMill. This is a read-only collection.
Get a list of attachments
get /mails/{mail_id}/attachments
Get a list of attachments
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- mail_id: required(string)
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
Query Parameters
- rowcount?: (integer - minimum: 1)
It limits the result set amount to the specified limit to avoid API call to return too many records. Default row count is 100
- nextrows?: (integer)
The number of the next starting row. It is dependent on rowcount. For example, for total 250 items, if rowcount is 100 and nextrows is 101, it return items 101-201
- order?: (integer)
Orders the results in ascending or descending order. 0=Ascending and 1=Descending. It is used in combination with sort
- sort?: (integer)
Sorts the results using number that is associated with each column
HTTP status code 200
Body
Media type: application/json
Type: object
Example:
[
{
"size": 8497,
"createdBy": 50,
"created": "2022-01-13T13:05:10.837+0200",
"name": "attached_file_test.txt",
"modified": "2022-01-13T13:18:25.353+0200",
"id": 1543
},
{
"size": 146169,
"createdBy": 50,
"created": "2022-01-13T13:18:25.353+0200",
"name": "attached_file.txt",
"modified": "2022-01-13T13:18:25.353+0200",
"id": 1545
}
]
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
A single attachment in PlanMill. This is a read-only item.
View details of a single attachment.
get /mails/{mail_id}/attachments/{attachment_id}
View details of a single attachment.
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- mail_id: required(string)
- attachment_id: required(string)
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
HTTP status code 200
Body
Media type: application/json
Type: object
Example:
Contents of file
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
/opportunities
Collection of available opportunities in PlanMill. See opportunities/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
Get a list of opportunities. See opportunities/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
Add a new opportunity to PlanMill or update existing (if id is given). See opportunities/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
get /opportunities
Get a list of opportunities. See opportunities/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
Query Parameters
- rowcount?: (integer - minimum: 1)
It limits the result set amount to the specified limit to avoid API call to return too many records. Default row count is 100
- nextrows?: (integer)
The number of the next starting row. It is dependent on rowcount. For example, for total 250 items, if rowcount is 100 and nextrows is 101, it return items 101-201
- order?: (integer)
Orders the results in ascending or descending order. 0=Ascending and 1=Descending. It is used in combination with sort
- sort?: (string)
Sorts the results using string that is a JSON attribute
- interval?: (string)
Interval type, e.g. start, finish, created, or modified. It is used in combination with intervalstart or intervalfinish
- intervalstart?: (string)
Start date of the interval in UTC format, intervalfinish required
Example:
2021-08-05T00:00:00.000+0200
- intervalfinish?: (string)
Finish date of the interval in UTC format, intervalstart required
Example:
2021-08-05T00:00:00.000+0200
HTTP status code 200
Body
Media type: application/json
Type: array of opportunity
Items: opportunity
- subject: (string)
Name of an opportunity
- closed: (datetime)
Closed date of an opportunity
- probability: (integer)
Probability to win an opportunity
- status: (union of integer or nil)
Status of an opportunity
- stage: (integer)
Stage of an opportunity
- source: (integer)
Source of an opportunity
- reason: (integer)
Reason of an opportunity
- partnerContact: (union of integer or nil)
Partner contact name / Account
- nextStep: (integer)
Nextstep of an opportunity
- request: (union of integer or nil)
Request of an opportunity
- campaign: (union of integer or nil)
Campaign of an opportunity
- type: (integer)
Business type of an opportunity
- competitor: (union of integer or nil)
competitor of an opportunity
- id: (integer)
Internal ID of opportunity
- keyContact: (union of string or nil)
Person lastName
- account: (union of integer or nil)
Id of account
- accountName: (union of string or nil)
Name of account
- responsibleName: (union of string or integer)
Name of responsible person
- revenue: (union of number or nil)
Revenue of opportunity
- expectedRevenue: (union of number or nil)
Expected revenue of opportunity
- created: (datetime)
Created of opportunity
- country: (union of integer or nil)
Country of opportunity
- person: (union of integer or nil)
Person id
- attachmentCount: (integer)
Count attachement
- itemCount: (integer)
Count item
Example:
[
{
"country": 73,
"reason": 0,
"request": null,
"accountName": "PlanMill Oy",
"subject": "Product A for 1000 users",
"nextStep": 0,
"source": 0,
"type": 0,
"keyContact": "PlanMill, Maintenance-user",
"revenue": 0,
"partnerContact": null,
"competitor": null,
"id": 1530,
"responsibleName": "User (update), First",
"expectedRevenue": 0,
"created": "2022-02-16T15:48:47.207+0200",
"probability": 0,
"itemCount": 0,
"stage": 10,
"person": 50,
"closed": "2022-02-17T00:00:00.000+0200",
"campaign": null,
"attachmentCount": 0,
"account": 51,
"status": 0
},
{
"country": 73,
"reason": 0,
"request": null,
"accountName": "Test Oy",
"subject": "Product B for 100 users",
"nextStep": 0,
"source": 0,
"type": 0,
"keyContact": "Acme, Andy",
"revenue": 0,
"partnerContact": null,
"competitor": null,
"id": 1526,
"responsibleName": "Hood, Thomas",
"expectedRevenue": 0,
"created": "2022-02-15T14:23:52.610+0200",
"probability": 10,
"itemCount": 0,
"stage": 10,
"person": 50,
"closed": "2022-02-17T00:00:00.000+0200",
"campaign": 1529,
"attachmentCount": 1,
"account": 51,
"status": 0
}
]
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
post /opportunities
Add a new opportunity to PlanMill or update existing (if id is given). See opportunities/meta for a full set of query parameters (filters) and enumeration lists for integer key properties (fields).
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
Headers
- Content-Type: required(string - default: application/json;charset=UTF-8)
Example:
application/json;charset=UTF-8
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
Body
Media type: application/json
Type: object
Properties- subject: required(string)
Name of an opportunity
- closed: required(datetime)
Closed date of an opportunity
- contact: required(integer)
Contact person id of an opportunity
- responsible: required(integer)
Responsible person id of an opportunity
- probability: (integer)
Probability to win an opportunity
- status: (union of integer or nil)
Status of an opportunity
- stage: (integer)
Stage of an opportunity
- source: (integer)
Source of an opportunity
- reason: (integer)
Reason of an opportunity
- partnerContact: (union of integer or nil)
Partner contact name / Account
- nextStep: (integer)
Nextstep of an opportunity
- request: (union of integer or nil)
Request of an opportunity
- campaign: (union of integer or nil)
Campaign of an opportunity
- type: (integer)
Business type of an opportunity
- competitor: (union of integer or nil)
competitor of an opportunity
- project: (union of integer or nil)
Project id of an opportunity
- priority: (integer)
Priority level of an opportunity
- description: (union of string or nil)
Description of an opportunity
Example:
{
"reason": 0,
"request": 1078552,
"subject": "Create opportunity",
"probability": 10,
"project": 1046,
"description": "Opportunity",
"source": 0,
"priority": 2,
"type": 0,
"stage": 10,
"competitor": -1,
"partnerContact": null,
"responsible": 356,
"contact": 50,
"closed": "2022-02-17T00:00:00.000+0200",
"nextStep": 0,
"campaign": 1529,
"status": 0
}
HTTP status code 201
Body
Media type: application/json
Type: object
Example:
{ "id" : 123456 }
HTTP status code 400
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "ID in GET request URI was malformed",
"code": "00003"
}
HTTP status code 401
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Nonce too old",
"code": "00401"
}
HTTP status code 403
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Timer is not allowed to go over 24h! Rounding it down.",
"code": "00403"
}
HTTP status code 404
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Item not found",
"code": "00404"
}
HTTP status code 429
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
HTTP status code 500
Headers
- Content-type: required(string - default: application/json;charset=UTF-8 )
Body
Media type: application/json
Type: object
Example:
{
"message": "Invalid date pattern",
"code": "00500"
}
Secured by oauth_2.0
Headers
- Authorization: required(string)
Used to send a valid OAuth 2 access token.
Get meta information for opportunities. Includes resource's fields names and type and related filters
View details of a single meta.
get /opportunities/meta
View details of a single meta.
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
Headers
- x-PlanMill-Currency: (string - minLength: 3 - maxLength: 3)
Recommended to be given. If currency not given in request header, user's current currency set in user settings is used. ISO code of currency in which money values should be shown or saved. Applies to all money attributes of the object, but may be converted by backend to the object specific currency. Some objects and their attributes may not care about the given currency but use the object's own currency
Example:
EUR
HTTP status code 200
Body
Media type: application/json
Type: object
Example:
{
"filters": [
{
"type": "string",
"name": "freetextsearch",
"caption": ""
},
{
"type": "string",
"name": "viewtemplate",
"value": "0",
"caption": "View by",
"values": {
"11": "All suspended opportunities",
"12": "All won opportunities",
"13": "All lost opportunities",
"14": "All closed opportunities",
"15": "All recently created opportunities - last 7 days",
"16": "All recently created opportunities - last 14 days",
"17": "All recently created opportunities - last 30 days",
"18": "All recently modified opportunities - last 7 days",
"19": "My recently closed opportunities - last 90 days",
"0": "My open opportunities",
"1": "My suspended opportunities",
"2": "My won opportunities",
"3": "My lost opportunities",
"4": "My closed opportunities",
"5": "My recently created opportunities - last 7 days",
"6": "My recently created opportunities - last 14 days",
"7": "My recently created opportunities - last 30 days",
"8": "My recently modified opportunities - last 7 days",
"9": "All opportunities",
"20": "All recently closed opportunities - last 90 days",
"10": "All open opportunities"
}
},
{
"type": "multivalue",
"name": "campaignFilter",
"value": "-1",
"caption": "Campaign",
"values": {
"-1": "All",
"1529": "tinbit test"
}
},
{
"type": "multivalue",
"name": "partner",
"value": "-1",
"caption": "Partner",
"values": {
"353": "Your organisation legal trading name (update)",
"-1": "All",
"-2": "All partner related",
"-3": "No partner related"
}
},
{
"type": "multivalue",
"name": "product",
"value": "-1",
"caption": "Product",
"values": {
"1314": "Fixed one-time service",
"-1": "All"
}
},
{
"type": "multivalue",
"name": "source",
"value": "-1",
"caption": "Source",
"values": {
"11": "Web site",
"12": "Newspaper & Magazine",
"13": "Referral - customer",
"-1": "All",
"0": "-",
"1": "Advertisement",
"2": "Direct mail",
"3": "Email",
"4": "Event - seminar",
"5": "Event - trade show",
"6": "Event - other",
"7": "List - purchased",
"8": "List - rented",
"9": "Referral - employee",
"20": "Other",
"10": "Referral - external"
}