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 list of filters, columns and formats.
Get a list of absences. See absences/meta for list of filters, columns and formats.
Add a new absence to PlanMill or update existing (if id is given). See absences/meta for list of columns and formats.
get /absences
Get a list of absences. See absences/meta for list of filters, 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
- 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:
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
- description: required()
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 absence entities",
"oneOf": [
{
"type": "array",
"items": { "$ref": "#/definitions/absence" }
},
{
"$ref": "#/definitions/absence"
}
],
"definitions": {
"absence": {
"type": "object",
"required": [ "finish", "person", "start", "absenceType" ],
"additionalProperties": false,
"properties": {
"id": {
"type": "integer",
"description": "Internal ID of an absence"
},
"vacationYear": {
"type": [ "integer", "null" ],
"description": "Vacation year of the user"
},
"project": {
"type": "integer",
"description": ""
},
"accepterPerson": {
"type": [ "integer", "null" ],
"description": "Superior of user who accepts an absence"
},
"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 an absence"
},
"person": {
"type": "integer",
"description": "Absentee and user of a system"
},
"substitutePerson": {
"type": [ "integer", "null" ],
"description": "Superior of user who accepts an absence when actual superior of user is not available"
},
"status": {
"type": [ "integer", "null" ],
"description": "Status of an absence"
},
"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 an absence"
},
"description": {
"type": [ "string", "null" ],
"description": "Description of an absence"
},
"absenceType": {
"type": "integer",
"description": "Type of an absence"
},
"vacationLength": {
"type": "integer",
"description": "Length of an absence represented in minutes"
},
"interruptionDate": {
"type": [ "string", "null" ],
"description": "Interruption date of an absence"
},
"created": {
"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": "Creation date of an absence"
},
"modified": {
"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": "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 or update existing (if id is given). See absences/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: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "base schema for all absence entities",
"oneOf": [
{
"type": "array",
"items": { "$ref": "#/definitions/absence" }
},
{
"$ref": "#/definitions/absence"
}
],
"definitions": {
"absence": {
"type": "object",
"required": [ "finish", "person", "start", "absenceType" ],
"additionalProperties": false,
"properties": {
"id": {
"type": "integer",
"description": "Internal ID of an absence"
},
"vacationYear": {
"type": [ "integer", "null" ],
"description": "Vacation year of the user"
},
"project": {
"type": "integer",
"description": ""
},
"accepterPerson": {
"type": [ "integer", "null" ],
"description": "Superior of user who accepts an absence"
},
"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 an absence"
},
"person": {
"type": "integer",
"description": "Absentee and user of a system"
},
"substitutePerson": {
"type": [ "integer", "null" ],
"description": "Superior of user who accepts an absence when actual superior of user is not available"
},
"status": {
"type": [ "integer", "null" ],
"description": "Status of an absence"
},
"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 an absence"
},
"description": {
"type": [ "string", "null" ],
"description": "Description of an absence"
},
"absenceType": {
"type": "integer",
"description": "Type of an absence"
},
"vacationLength": {
"type": "integer",
"description": "Length of an absence represented in minutes"
},
"interruptionDate": {
"type": [ "string", "null" ],
"description": "Interruption date of an absence"
},
"created": {
"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": "Creation date of an absence"
},
"modified": {
"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": "Modification date 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,
"substitutePerson": null,
"status": 40
}
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 list of filters, columns and formats.
Update an existing resource absence to PlanMill. See absences/meta for list of filters, columns and formats.
Remove a absence from PlanMill.
get /absences/{absence_id}
View details of a single absence. See absences/meta for list of filters, columns and formats.
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: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "base schema for all absence entities",
"oneOf": [
{
"type": "array",
"items": { "$ref": "#/definitions/absence" }
},
{
"$ref": "#/definitions/absence"
}
],
"definitions": {
"absence": {
"type": "object",
"required": [ "finish", "person", "start", "absenceType" ],
"additionalProperties": false,
"properties": {
"id": {
"type": "integer",
"description": "Internal ID of an absence"
},
"vacationYear": {
"type": [ "integer", "null" ],
"description": "Vacation year of the user"
},
"project": {
"type": "integer",
"description": ""
},
"accepterPerson": {
"type": [ "integer", "null" ],
"description": "Superior of user who accepts an absence"
},
"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 an absence"
},
"person": {
"type": "integer",
"description": "Absentee and user of a system"
},
"substitutePerson": {
"type": [ "integer", "null" ],
"description": "Superior of user who accepts an absence when actual superior of user is not available"
},
"status": {
"type": [ "integer", "null" ],
"description": "Status of an absence"
},
"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 an absence"
},
"description": {
"type": [ "string", "null" ],
"description": "Description of an absence"
},
"absenceType": {
"type": "integer",
"description": "Type of an absence"
},
"vacationLength": {
"type": "integer",
"description": "Length of an absence represented in minutes"
},
"interruptionDate": {
"type": [ "string", "null" ],
"description": "Interruption date of an absence"
},
"created": {
"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": "Creation date of an absence"
},
"modified": {
"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": "Modification date 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,
"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/{absence_id}
Update an existing resource absence to PlanMill. See absences/meta for list of filters, columns and formats.
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: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "base schema for all absence entities",
"oneOf": [
{
"type": "array",
"items": { "$ref": "#/definitions/absence" }
},
{
"$ref": "#/definitions/absence"
}
],
"definitions": {
"absence": {
"type": "object",
"required": [ "finish", "person", "start", "absenceType" ],
"additionalProperties": false,
"properties": {
"id": {
"type": "integer",
"description": "Internal ID of an absence"
},
"vacationYear": {
"type": [ "integer", "null" ],
"description": "Vacation year of the user"
},
"project": {
"type": "integer",
"description": ""
},
"accepterPerson": {
"type": [ "integer", "null" ],
"description": "Superior of user who accepts an absence"
},
"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 an absence"
},
"person": {
"type": "integer",
"description": "Absentee and user of a system"
},
"substitutePerson": {
"type": [ "integer", "null" ],
"description": "Superior of user who accepts an absence when actual superior of user is not available"
},
"status": {
"type": [ "integer", "null" ],
"description": "Status of an absence"
},
"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 an absence"
},
"description": {
"type": [ "string", "null" ],
"description": "Description of an absence"
},
"absenceType": {
"type": "integer",
"description": "Type of an absence"
},
"vacationLength": {
"type": "integer",
"description": "Length of an absence represented in minutes"
},
"interruptionDate": {
"type": [ "string", "null" ],
"description": "Interruption date of an absence"
},
"created": {
"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": "Creation date of an absence"
},
"modified": {
"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": "Modification date 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,
"substitutePerson": null,
"status": 40
}
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 list of filters, columns and formats.
Get a list of accounts. See accounts/meta for list of filters, columns and formats.
Add a new account to PlanMill or update existing (if id is given). See accounts/meta for list of columns and formats.
get /accounts
Get a list of accounts. See accounts/meta for list of filters, 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
- 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:
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
HTTP status code 200
Body
Media type: application/json
Type: array of string
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,
"eInvoiceAddress": "",
"invoiceChannel": 22,
"rfReferenceNumber": 0,
"billingCountry": 73,
"modified": "2012-07-30T17:26:02.207+0300",
"supplierAccountName": null,
"modifiedBy": "LastName, FirstName",
"activeContacts": 5,
"id": 2805224,
"fax": "",
"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,
"eInvoiceAddress": null,
"invoiceChannel": null,
"rfReferenceNumber": -1,
"billingCountry": -1,
"modified": "2015-06-04T17:06:19.947+0300",
"supplierAccountName": null,
"modifiedBy": null,
"activeContacts": 0,
"id": 2841694,
"fax": null,
"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 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: array of string
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,
"fax": "+358-46-333605",
"supplierAccount": 353,
"billingState": "",
"serviceLevel": 0,
"eInvoiceAddress": 123456,
"autoReplyRequestMails": 1,
"combineInvoices": 0,
"reverseCharge": 10,
"phone": "+358-46-334605",
"name": "Test Account",
"billingReference": "Finance Department",
"shippingState": "",
"termsOfPayment": 0,
"billingLocationId": 4632,
"handlingFee": 10,
"invoiceVat": 24,
"description": "<p>test description</p>",
"shippingLocationId": 4633,
"industry": 100000,
"parentAccount": null,
"ceo": "Hannu",
"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",
"firstInvoiceNumber": 3000,
"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 list of filters, columns and formats.
Update an existing resource account to PlanMill. See accounts/meta for list of filters, columns and formats.
Remove a account from PlanMill.
get /accounts/{account_id}
View details of a single account. See accounts/meta for list of filters, columns and formats.
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: string
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,
"fax": "+358-46-333605",
"supplierAccount": 353,
"billingState": "",
"serviceLevel": 0,
"eInvoiceAddress": 123456,
"autoReplyRequestMails": 1,
"combineInvoices": 0,
"reverseCharge": 10,
"phone": "+358-46-334605",
"name": "Test Account",
"billingReference": "Finance Department",
"shippingState": "",
"termsOfPayment": 0,
"billingLocationId": 4632,
"handlingFee": 10,
"invoiceVat": 24,
"description": "<p>test description</p>",
"shippingLocationId": 4633,
"industry": 100000,
"parentAccount": null,
"ceo": "Hannu",
"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",
"firstInvoiceNumber": 3000,
"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 list of filters, columns and formats.
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: string
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,
"fax": "+358-46-333605",
"supplierAccount": 353,
"billingState": "",
"serviceLevel": 0,
"eInvoiceAddress": 123456,
"autoReplyRequestMails": 1,
"combineInvoices": 0,
"reverseCharge": 10,
"phone": "+358-46-334605",
"name": "Test Account",
"billingReference": "Finance Department",
"shippingState": "",
"termsOfPayment": 0,
"billingLocationId": 4632,
"handlingFee": 10,
"invoiceVat": 24,
"description": "<p>test description</p>",
"shippingLocationId": 4633,
"industry": 100000,
"parentAccount": null,
"ceo": "Hannu",
"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",
"firstInvoiceNumber": 3000,
"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": 447,
"createdBy": 50,
"created": "2019-02-21T10:31:19.170+0200",
"name": "attached_file_test.txt",
"modified": "2019-02-21T12:04:05.007+0200",
"id": 1514
},
{
"size": 466,
"createdBy": 50,
"created": "2019-02-21T12:04:05.017+0200",
"name": "attached_file.txt",
"modified": "2019-02-21T12:04:05.017+0200",
"id": 1515
}
]
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.
View details of single attachment.
put /accounts/{account_id}/attachments/{attachment_id}
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 list of filters, columns and formats.
Get a list of actions. See actions/meta for list of filters, columns and formats.
Add a new action to PlanMill or update existing (if id is given). See actions/meta for list of columns and formats.
get /actions
Get a list of actions. See actions/meta for list of filters, 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
- 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:
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
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 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: 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 list of filters, columns and formats.
Update an existing resource action to PlanMill. See actions/meta for list of filters, columns and formats.
Remove a action from PlanMill.
get /actions/{action_id}
View details of a single action. See actions/meta for list of filters, columns and formats.
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 list of filters, columns and formats.
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": 447,
"createdBy": 50,
"created": "2019-02-21T10:31:19.170+0200",
"name": "attached_file_test.txt",
"modified": "2019-02-21T12:04:05.007+0200",
"id": 1514
},
{
"size": 466,
"createdBy": 50,
"created": "2019-02-21T12:04:05.017+0200",
"name": "attached_file.txt",
"modified": "2019-02-21T12:04:05.017+0200",
"id": 1515
}
]
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.
View details of single attachment.
put /actions/{action_id}/attachments/{attachment_id}
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 list of filters, columns and formats.
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 list of filters, columns and formats.
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 list of filters, columns and formats.
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 list of filters, columns and formats.
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 list of columns and formats.
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:
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
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 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: 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 list of filters, columns and formats.
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 list of filters, columns and formats.
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.
/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.
/capacitycalendars/{id}/capacity/{date}
Set a single day's capacity for a capacity calendar
put /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 list of filters, columns and formats.
Get a list of contacts. See contacts/meta for list of filters, columns and formats.
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 list of filters, 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
- 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
- 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:
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
- campaigns: (integer)
Internal id of campaign to search contacts belonging to specific campaign
- 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
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 contacts entities",
"oneOf": [
{
"type": "array",
"items": { "$ref": "#/definitions/contactArray" }
},
{
"$ref": "#/definitions/contactSingle"
}
],
"definitions": {
"contactSingle": {
"type": "object",
"required": [ "lastName", "account", "email" ],
"properties": {
"firstName": {
"type": "string",
"maxLength": 80,
"description": "First name of a contact"
},
"lastName": {
"type": "string",
"maxLength": 80,
"description": "Last name of a contact "
},
"passive": {
"type": "integer",
"description": "Contact status can be active or passive. 0=Active 1=InActive"
},
"account": {
"type": ["integer", "null"],
"description": "Id of contact's account"
},
"languageCode": {
"type": ["string", "null"],
"description": "Language code"
},
"role": {
"type": ["integer", "null"],
"description": "Basic Roles: 1=Administrator, 2=Power, 3=Pro, 4=Team, 5=Sales"
},
"title": {
"type": ["string", "null"],
"description": "Title of contact"
},
"email": {
"type": ["string", "null"],
"description": "Email address of contact"
},
"secondaryAddress": {
"type": ["string", "null"],
"description": "Secondary address of contact"
},
"primaryState": {
"type": ["string", "null"],
"description": "Primary state of contact"
},
"secondaryEmail": {
"type": ["string", "null"],
"description": "Secondary email of contact"
},
"primaryPostalCode": {
"type": ["string", "null"],
"description": "Primary postal code of contact"
},
"accountName": {
"type": ["string", "null"],
"description": "Account name of contact"
},
"secondaryDepartment": {
"type": ["string", "null"],
"description": "Secondary Department name of contact"
},
"blog": {
"type": ["string", "null"],
"description": "Contact's blog"
},
"primaryCity": {
"type": ["string", "null"],
"description": "Contact's city"
},
"secondaryPostalCode": {
"type": ["string", "null"],
"description": "Contact's secondary postal code"
},
"skype": {
"type": ["string", "null"],
"description": "Contact's skype name"
},
"twitter": {
"type": ["string", "null"],
"description": "Contact's twitter account name"
},
"primaryDepartment": {
"type": ["string", "null"],
"description": "Contact's primary department"
},
"secondaryCity": {
"type": ["string", "null"],
"description": "Contact's secondary city"
},
"id": {
"type": "integer",
"description": "Contact's id"
},
"department": {
"type": ["string", "null"],
"description": "Contact's department"
},
"fax": {
"type": ["string", "null"],
"description": "Contact's fax"
},
"primaryCountry": {
"type": ["integer", "null"],
"description": "Contact's primary country"
},
"secondaryCountry": {
"type": ["integer", "null"],
"description": "Contact's secondary country"
},
"facebook": {
"type": ["string", "null"],
"description": "Contact's facebook address"
},
"linkedIn": {
"type": ["string", "null"],
"description": "Contact's linkedIn address"
},
"projectWikiUserGroup": {
"type": ["string", "null"],
"description": "Contact's projectWikiUserGroup"
},
"mobilePhone": {
"type": ["string", "null"],
"description": "Contact's mobile phone number"
},
"workPhone": {
"type": ["string", "null"],
"description": "Contact's work phone number"
},
"googleTalk": {
"type": ["string", "null"],
"description": "Contact's google talk address"
},
"primaryAddress": {
"type": ["string", "null"],
"description": "Contact's primary address"
}
}
},
"contactArray": {
"type": "object",
"required": [
"lastName",
"account",
"passive"
],
"properties": {
"firstName": {
"type": "string",
"maxLength": 80,
"description": "First name of a contact"
},
"lastName": {
"type": "string",
"maxLength": 80,
"description": "Last name of a contact "
},
"passive": {
"type": "integer",
"description": "Contact status can be active or passive. 0=Active 1=InActive"
},
"account": {
"type": ["integer", "null"],
"description": "Id of contact's account"
},
"languageCode": {
"type": ["string", "null"],
"description": "Language code"
},
"role": {
"type": ["integer", "null"],
"description": "Basic Roles: 1=Administrator, 2=Power, 3=Pro, 4=Team, 5=Sales"
},
"title": {
"type": ["string", "null"],
"description": "Title of contact"
},
"email": {
"type": ["string", "null"],
"description": "Email address of contact"
},
"secondaryAddress": {
"type": ["string", "null"],
"description": "Secondary address of contact"
},
"primaryState": {
"type": ["string", "null"],
"description": "Primary state of contact"
},
"secondaryEmail": {
"type": ["string", "null"],
"description": "Secondary email of contact"
},
"primaryPostalCode": {
"type": ["string", "null"],
"description": "Primary postal code of contact"
},
"accountName": {
"type": ["string", "null"],
"description": "Account name of contact"
},
"secondaryDepartment": {
"type": ["string", "null"],
"description": "Secondary Department name of contact"
},
"blog": {
"type": ["string", "null"],
"description": "Contact's blog"
},
"primaryCity": {
"type": ["string", "null"],
"description": "Contact's city"
},
"secondaryPostalCode": {
"type": ["string", "null"],
"description": "Contact's secondary postal code"
},
"skype": {
"type": ["string", "null"],
"description": "Contact's skype name"
},
"twitter": {
"type": ["string", "null"],
"description": "Contact's twitter account name"
},
"primaryDepartment": {
"type": ["string", "null"],
"description": "Contact's primary department"
},
"secondaryCity": {
"type": ["string", "null"],
"description": "Contact's secondary city"
},
"id": {
"type": "integer",
"description": "Contact's id"
},
"department": {
"type": ["string", "null"],
"description": "Contact's department"
},
"fax": {
"type": ["string", "null"],
"description": "Contact's fax"
},
"primaryCountry": {
"type": ["integer", "null"],
"description": "Contact's primary country"
},
"secondaryCountry": {
"type": ["integer", "null"],
"description": "Contact's secondary country"
},
"facebook": {
"type": ["string", "null"],
"description": "Contact's facebook address"
},
"linkedIn": {
"type": ["string", "null"],
"description": "Contact's linkedIn address"
},
"projectWikiUserGroup": {
"type": ["string", "null"],
"description": "Contact's projectWikiUserGroup"
},
"mobilePhone": {
"type": ["string", "null"],
"description": "Contact's mobile phone number"
},
"workPhone": {
"type": ["string", "null"],
"description": "Contact's work phone number"
},
"googleTalk": {
"type": ["string", "null"],
"description": "Contact's google talk address"
},
"primaryAddress": {
"type": ["string", "null"],
"description": "Contact's primary address"
}
}
}
}
}
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",
"fax": "+358-466-5556951",
"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,
"primaryState": "",
"secondaryEmail": null,
"role": null,
"primaryPostalCode": "00020",
"accountName": "Nordea Rahoitus Suomi Oy",
"description": null,
"secondaryDepartment": null,
"title": null,
"blog": null,
"primaryCity": "NORDEA",
"secondaryPostalCode": null,
"skype": null,
"twitter": null,
"campaigns": null,
"primaryDepartment": "",
"secondaryCity": null,
"id": 1534,
"department": null,
"primaryCountry": 73,
"email": "first.tester@planmill.com",
"secondaryCountry": null,
"facebook": null,
"secondaryState": null,
"linkedIn": null,
"projectWikiUserGroup": 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: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "base schema for all contacts entities",
"oneOf": [
{
"type": "array",
"items": { "$ref": "#/definitions/contactArray" }
},
{
"$ref": "#/definitions/contactSingle"
}
],
"definitions": {
"contactSingle": {
"type": "object",
"required": [ "lastName", "account", "email" ],
"properties": {
"firstName": {
"type": "string",
"maxLength": 80,
"description": "First name of a contact"
},
"lastName": {
"type": "string",
"maxLength": 80,
"description": "Last name of a contact "
},
"passive": {
"type": "integer",
"description": "Contact status can be active or passive. 0=Active 1=InActive"
},
"account": {
"type": ["integer", "null"],
"description": "Id of contact's account"
},
"languageCode": {
"type": ["string", "null"],
"description": "Language code"
},
"role": {
"type": ["integer", "null"],
"description": "Basic Roles: 1=Administrator, 2=Power, 3=Pro, 4=Team, 5=Sales"
},
"title": {
"type": ["string", "null"],
"description": "Title of contact"
},
"email": {
"type": ["string", "null"],
"description": "Email address of contact"
},
"secondaryAddress": {
"type": ["string", "null"],
"description": "Secondary address of contact"
},
"primaryState": {
"type": ["string", "null"],
"description": "Primary state of contact"
},
"secondaryEmail": {
"type": ["string", "null"],
"description": "Secondary email of contact"
},
"primaryPostalCode": {
"type": ["string", "null"],
"description": "Primary postal code of contact"
},
"accountName": {
"type": ["string", "null"],
"description": "Account name of contact"
},
"secondaryDepartment": {
"type": ["string", "null"],
"description": "Secondary Department name of contact"
},
"blog": {
"type": ["string", "null"],
"description": "Contact's blog"
},
"primaryCity": {
"type": ["string", "null"],
"description": "Contact's city"
},
"secondaryPostalCode": {
"type": ["string", "null"],
"description": "Contact's secondary postal code"
},
"skype": {
"type": ["string", "null"],
"description": "Contact's skype name"
},
"twitter": {
"type": ["string", "null"],
"description": "Contact's twitter account name"
},
"primaryDepartment": {
"type": ["string", "null"],
"description": "Contact's primary department"
},
"secondaryCity": {
"type": ["string", "null"],
"description": "Contact's secondary city"
},
"id": {
"type": "integer",
"description": "Contact's id"
},
"department": {
"type": ["string", "null"],
"description": "Contact's department"
},
"fax": {
"type": ["string", "null"],
"description": "Contact's fax"
},
"primaryCountry": {
"type": ["integer", "null"],
"description": "Contact's primary country"
},
"secondaryCountry": {
"type": ["integer", "null"],
"description": "Contact's secondary country"
},
"facebook": {
"type": ["string", "null"],
"description": "Contact's facebook address"
},
"linkedIn": {
"type": ["string", "null"],
"description": "Contact's linkedIn address"
},
"projectWikiUserGroup": {
"type": ["string", "null"],
"description": "Contact's projectWikiUserGroup"
},
"mobilePhone": {
"type": ["string", "null"],
"description": "Contact's mobile phone number"
},
"workPhone": {
"type": ["string", "null"],
"description": "Contact's work phone number"
},
"googleTalk": {
"type": ["string", "null"],
"description": "Contact's google talk address"
},
"primaryAddress": {
"type": ["string", "null"],
"description": "Contact's primary address"
}
}
},
"contactArray": {
"type": "object",
"required": [
"lastName",
"account",
"passive"
],
"properties": {
"firstName": {
"type": "string",
"maxLength": 80,
"description": "First name of a contact"
},
"lastName": {
"type": "string",
"maxLength": 80,
"description": "Last name of a contact "
},
"passive": {
"type": "integer",
"description": "Contact status can be active or passive. 0=Active 1=InActive"
},
"account": {
"type": ["integer", "null"],
"description": "Id of contact's account"
},
"languageCode": {
"type": ["string", "null"],
"description": "Language code"
},
"role": {
"type": ["integer", "null"],
"description": "Basic Roles: 1=Administrator, 2=Power, 3=Pro, 4=Team, 5=Sales"
},
"title": {
"type": ["string", "null"],
"description": "Title of contact"
},
"email": {
"type": ["string", "null"],
"description": "Email address of contact"
},
"secondaryAddress": {
"type": ["string", "null"],
"description": "Secondary address of contact"
},
"primaryState": {
"type": ["string", "null"],
"description": "Primary state of contact"
},
"secondaryEmail": {
"type": ["string", "null"],
"description": "Secondary email of contact"
},
"primaryPostalCode": {
"type": ["string", "null"],
"description": "Primary postal code of contact"
},
"accountName": {
"type": ["string", "null"],
"description": "Account name of contact"
},
"secondaryDepartment": {
"type": ["string", "null"],
"description": "Secondary Department name of contact"
},
"blog": {
"type": ["string", "null"],
"description": "Contact's blog"
},
"primaryCity": {
"type": ["string", "null"],
"description": "Contact's city"
},
"secondaryPostalCode": {
"type": ["string", "null"],
"description": "Contact's secondary postal code"
},
"skype": {
"type": ["string", "null"],
"description": "Contact's skype name"
},
"twitter": {
"type": ["string", "null"],
"description": "Contact's twitter account name"
},
"primaryDepartment": {
"type": ["string", "null"],
"description": "Contact's primary department"
},
"secondaryCity": {
"type": ["string", "null"],
"description": "Contact's secondary city"
},
"id": {
"type": "integer",
"description": "Contact's id"
},
"department": {
"type": ["string", "null"],
"description": "Contact's department"
},
"fax": {
"type": ["string", "null"],
"description": "Contact's fax"
},
"primaryCountry": {
"type": ["integer", "null"],
"description": "Contact's primary country"
},
"secondaryCountry": {
"type": ["integer", "null"],
"description": "Contact's secondary country"
},
"facebook": {
"type": ["string", "null"],
"description": "Contact's facebook address"
},
"linkedIn": {
"type": ["string", "null"],
"description": "Contact's linkedIn address"
},
"projectWikiUserGroup": {
"type": ["string", "null"],
"description": "Contact's projectWikiUserGroup"
},
"mobilePhone": {
"type": ["string", "null"],
"description": "Contact's mobile phone number"
},
"workPhone": {
"type": ["string", "null"],
"description": "Contact's work phone number"
},
"googleTalk": {
"type": ["string", "null"],
"description": "Contact's google talk address"
},
"primaryAddress": {
"type": ["string", "null"],
"description": "Contact's primary address"
}
}
}
}
}
Example:
{
"lastName": "Tester",
"secondaryAddress": null,
"primaryState": "",
"secondaryEmail": "",
"role": null,
"primaryPostalCode": "00020",
"accountName": "PlanMill Oy",
"description": null,
"secondaryDepartment": null,
"title": "Software Engineer",
"blog": "http://www.blog.com",
"primaryCity": "NORDEA",
"secondaryPostalCode": null,
"skype": "skpe_id",
"twitter": "http://www.twitter.com",
"campaigns": null,
"primaryDepartment": "",
"secondaryCity": null,
"id": 1634,
"department": "Software Development",
"primaryCountry": 73,
"email": "mikko.tester@planmill.com",
"secondaryCountry": null,
"facebook": "http://www.facebook.com",
"secondaryState": null,
"linkedIn": "http://www.linkedin.com",
"projectWikiUserGroup": null,
"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 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 list of filters, columns and formats.
Update an existing resource contact to PlanMill. See contacts/meta for list of filters, columns and formats.
Remove a contact from PlanMill.
get /contacts/{contact_id}
View details of a single contact. See contacts/meta for list of filters, columns and formats.
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: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "base schema for all contacts entities",
"oneOf": [
{
"type": "array",
"items": { "$ref": "#/definitions/contactArray" }
},
{
"$ref": "#/definitions/contactSingle"
}
],
"definitions": {
"contactSingle": {
"type": "object",
"required": [ "lastName", "account", "email" ],
"properties": {
"firstName": {
"type": "string",
"maxLength": 80,
"description": "First name of a contact"
},
"lastName": {
"type": "string",
"maxLength": 80,
"description": "Last name of a contact "
},
"passive": {
"type": "integer",
"description": "Contact status can be active or passive. 0=Active 1=InActive"
},
"account": {
"type": ["integer", "null"],
"description": "Id of contact's account"
},
"languageCode": {
"type": ["string", "null"],
"description": "Language code"
},
"role": {
"type": ["integer", "null"],
"description": "Basic Roles: 1=Administrator, 2=Power, 3=Pro, 4=Team, 5=Sales"
},
"title": {
"type": ["string", "null"],
"description": "Title of contact"
},
"email": {
"type": ["string", "null"],
"description": "Email address of contact"
},
"secondaryAddress": {
"type": ["string", "null"],
"description": "Secondary address of contact"
},
"primaryState": {
"type": ["string", "null"],
"description": "Primary state of contact"
},
"secondaryEmail": {
"type": ["string", "null"],
"description": "Secondary email of contact"
},
"primaryPostalCode": {
"type": ["string", "null"],
"description": "Primary postal code of contact"
},
"accountName": {
"type": ["string", "null"],
"description": "Account name of contact"
},
"secondaryDepartment": {
"type": ["string", "null"],
"description": "Secondary Department name of contact"
},
"blog": {
"type": ["string", "null"],
"description": "Contact's blog"
},
"primaryCity": {
"type": ["string", "null"],
"description": "Contact's city"
},
"secondaryPostalCode": {
"type": ["string", "null"],
"description": "Contact's secondary postal code"
},
"skype": {
"type": ["string", "null"],
"description": "Contact's skype name"
},
"twitter": {
"type": ["string", "null"],
"description": "Contact's twitter account name"
},
"primaryDepartment": {
"type": ["string", "null"],
"description": "Contact's primary department"
},
"secondaryCity": {
"type": ["string", "null"],
"description": "Contact's secondary city"
},
"id": {
"type": "integer",
"description": "Contact's id"
},
"department": {
"type": ["string", "null"],
"description": "Contact's department"
},
"fax": {
"type": ["string", "null"],
"description": "Contact's fax"
},
"primaryCountry": {
"type": ["integer", "null"],
"description": "Contact's primary country"
},
"secondaryCountry": {
"type": ["integer", "null"],
"description": "Contact's secondary country"
},
"facebook": {
"type": ["string", "null"],
"description": "Contact's facebook address"
},
"linkedIn": {
"type": ["string", "null"],
"description": "Contact's linkedIn address"
},
"projectWikiUserGroup": {
"type": ["string", "null"],
"description": "Contact's projectWikiUserGroup"
},
"mobilePhone": {
"type": ["string", "null"],
"description": "Contact's mobile phone number"
},
"workPhone": {
"type": ["string", "null"],
"description": "Contact's work phone number"
},
"googleTalk": {
"type": ["string", "null"],
"description": "Contact's google talk address"
},
"primaryAddress": {
"type": ["string", "null"],
"description": "Contact's primary address"
}
}
},
"contactArray": {
"type": "object",
"required": [
"lastName",
"account",
"passive"
],
"properties": {
"firstName": {
"type": "string",
"maxLength": 80,
"description": "First name of a contact"
},
"lastName": {
"type": "string",
"maxLength": 80,
"description": "Last name of a contact "
},
"passive": {
"type": "integer",
"description": "Contact status can be active or passive. 0=Active 1=InActive"
},
"account": {
"type": ["integer", "null"],
"description": "Id of contact's account"
},
"languageCode": {
"type": ["string", "null"],
"description": "Language code"
},
"role": {
"type": ["integer", "null"],
"description": "Basic Roles: 1=Administrator, 2=Power, 3=Pro, 4=Team, 5=Sales"
},
"title": {
"type": ["string", "null"],
"description": "Title of contact"
},
"email": {
"type": ["string", "null"],
"description": "Email address of contact"
},
"secondaryAddress": {
"type": ["string", "null"],
"description": "Secondary address of contact"
},
"primaryState": {
"type": ["string", "null"],
"description": "Primary state of contact"
},
"secondaryEmail": {
"type": ["string", "null"],
"description": "Secondary email of contact"
},
"primaryPostalCode": {
"type": ["string", "null"],
"description": "Primary postal code of contact"
},
"accountName": {
"type": ["string", "null"],
"description": "Account name of contact"
},
"secondaryDepartment": {
"type": ["string", "null"],
"description": "Secondary Department name of contact"
},
"blog": {
"type": ["string", "null"],
"description": "Contact's blog"
},
"primaryCity": {
"type": ["string", "null"],
"description": "Contact's city"
},
"secondaryPostalCode": {
"type": ["string", "null"],
"description": "Contact's secondary postal code"
},
"skype": {
"type": ["string", "null"],
"description": "Contact's skype name"
},
"twitter": {
"type": ["string", "null"],
"description": "Contact's twitter account name"
},
"primaryDepartment": {
"type": ["string", "null"],
"description": "Contact's primary department"
},
"secondaryCity": {
"type": ["string", "null"],
"description": "Contact's secondary city"
},
"id": {
"type": "integer",
"description": "Contact's id"
},
"department": {
"type": ["string", "null"],
"description": "Contact's department"
},
"fax": {
"type": ["string", "null"],
"description": "Contact's fax"
},
"primaryCountry": {
"type": ["integer", "null"],
"description": "Contact's primary country"
},
"secondaryCountry": {
"type": ["integer", "null"],
"description": "Contact's secondary country"
},
"facebook": {
"type": ["string", "null"],
"description": "Contact's facebook address"
},
"linkedIn": {
"type": ["string", "null"],
"description": "Contact's linkedIn address"
},
"projectWikiUserGroup": {
"type": ["string", "null"],
"description": "Contact's projectWikiUserGroup"
},
"mobilePhone": {
"type": ["string", "null"],
"description": "Contact's mobile phone number"
},
"workPhone": {
"type": ["string", "null"],
"description": "Contact's work phone number"
},
"googleTalk": {
"type": ["string", "null"],
"description": "Contact's google talk address"
},
"primaryAddress": {
"type": ["string", "null"],
"description": "Contact's primary address"
}
}
}
}
}
Example:
{
"lastName": "Tester",
"secondaryAddress": null,
"primaryState": "",
"secondaryEmail": "",
"role": null,
"primaryPostalCode": "00020",
"accountName": "PlanMill Oy",
"description": null,
"secondaryDepartment": null,
"title": "Software Engineer",
"blog": "http://www.blog.com",
"primaryCity": "NORDEA",
"secondaryPostalCode": null,
"skype": "skpe_id",
"twitter": "http://www.twitter.com",
"campaigns": null,
"primaryDepartment": "",
"secondaryCity": null,
"id": 1634,
"department": "Software Development",
"primaryCountry": 73,
"email": "mikko.tester@planmill.com",
"secondaryCountry": null,
"facebook": "http://www.facebook.com",
"secondaryState": null,
"linkedIn": "http://www.linkedin.com",
"projectWikiUserGroup": null,
"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 list of filters, columns and formats.
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: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "base schema for all contacts entities",
"oneOf": [
{
"type": "array",
"items": { "$ref": "#/definitions/contactArray" }
},
{
"$ref": "#/definitions/contactSingle"
}
],
"definitions": {
"contactSingle": {
"type": "object",
"required": [ "lastName", "account", "email" ],
"properties": {
"firstName": {
"type": "string",
"maxLength": 80,
"description": "First name of a contact"
},
"lastName": {
"type": "string",
"maxLength": 80,
"description": "Last name of a contact "
},
"passive": {
"type": "integer",
"description": "Contact status can be active or passive. 0=Active 1=InActive"
},
"account": {
"type": ["integer", "null"],
"description": "Id of contact's account"
},
"languageCode": {
"type": ["string", "null"],
"description": "Language code"
},
"role": {
"type": ["integer", "null"],
"description": "Basic Roles: 1=Administrator, 2=Power, 3=Pro, 4=Team, 5=Sales"
},
"title": {
"type": ["string", "null"],
"description": "Title of contact"
},
"email": {
"type": ["string", "null"],
"description": "Email address of contact"
},
"secondaryAddress": {
"type": ["string", "null"],
"description": "Secondary address of contact"
},
"primaryState": {
"type": ["string", "null"],
"description": "Primary state of contact"
},
"secondaryEmail": {
"type": ["string", "null"],
"description": "Secondary email of contact"
},
"primaryPostalCode": {
"type": ["string", "null"],
"description": "Primary postal code of contact"
},
"accountName": {
"type": ["string", "null"],
"description": "Account name of contact"
},
"secondaryDepartment": {
"type": ["string", "null"],
"description": "Secondary Department name of contact"
},
"blog": {
"type": ["string", "null"],
"description": "Contact's blog"
},
"primaryCity": {
"type": ["string", "null"],
"description": "Contact's city"
},
"secondaryPostalCode": {
"type": ["string", "null"],
"description": "Contact's secondary postal code"
},
"skype": {
"type": ["string", "null"],
"description": "Contact's skype name"
},
"twitter": {
"type": ["string", "null"],
"description": "Contact's twitter account name"
},
"primaryDepartment": {
"type": ["string", "null"],
"description": "Contact's primary department"
},
"secondaryCity": {
"type": ["string", "null"],
"description": "Contact's secondary city"
},
"id": {
"type": "integer",
"description": "Contact's id"
},
"department": {
"type": ["string", "null"],
"description": "Contact's department"
},
"fax": {
"type": ["string", "null"],
"description": "Contact's fax"
},
"primaryCountry": {
"type": ["integer", "null"],
"description": "Contact's primary country"
},
"secondaryCountry": {
"type": ["integer", "null"],
"description": "Contact's secondary country"
},
"facebook": {
"type": ["string", "null"],
"description": "Contact's facebook address"
},
"linkedIn": {
"type": ["string", "null"],
"description": "Contact's linkedIn address"
},
"projectWikiUserGroup": {
"type": ["string", "null"],
"description": "Contact's projectWikiUserGroup"
},
"mobilePhone": {
"type": ["string", "null"],
"description": "Contact's mobile phone number"
},
"workPhone": {
"type": ["string", "null"],
"description": "Contact's work phone number"
},
"googleTalk": {
"type": ["string", "null"],
"description": "Contact's google talk address"
},
"primaryAddress": {
"type": ["string", "null"],
"description": "Contact's primary address"
}
}
},
"contactArray": {
"type": "object",
"required": [
"lastName",
"account",
"passive"
],
"properties": {
"firstName": {
"type": "string",
"maxLength": 80,
"description": "First name of a contact"
},
"lastName": {
"type": "string",
"maxLength": 80,
"description": "Last name of a contact "
},
"passive": {
"type": "integer",
"description": "Contact status can be active or passive. 0=Active 1=InActive"
},
"account": {
"type": ["integer", "null"],
"description": "Id of contact's account"
},
"languageCode": {
"type": ["string", "null"],
"description": "Language code"
},
"role": {
"type": ["integer", "null"],
"description": "Basic Roles: 1=Administrator, 2=Power, 3=Pro, 4=Team, 5=Sales"
},
"title": {
"type": ["string", "null"],
"description": "Title of contact"
},
"email": {
"type": ["string", "null"],
"description": "Email address of contact"
},
"secondaryAddress": {
"type": ["string", "null"],
"description": "Secondary address of contact"
},
"primaryState": {
"type": ["string", "null"],
"description": "Primary state of contact"
},
"secondaryEmail": {
"type": ["string", "null"],
"description": "Secondary email of contact"
},
"primaryPostalCode": {
"type": ["string", "null"],
"description": "Primary postal code of contact"
},
"accountName": {
"type": ["string", "null"],
"description": "Account name of contact"
},
"secondaryDepartment": {
"type": ["string", "null"],
"description": "Secondary Department name of contact"
},
"blog": {
"type": ["string", "null"],
"description": "Contact's blog"
},
"primaryCity": {
"type": ["string", "null"],
"description": "Contact's city"
},
"secondaryPostalCode": {
"type": ["string", "null"],
"description": "Contact's secondary postal code"
},
"skype": {
"type": ["string", "null"],
"description": "Contact's skype name"
},
"twitter": {
"type": ["string", "null"],
"description": "Contact's twitter account name"
},
"primaryDepartment": {
"type": ["string", "null"],
"description": "Contact's primary department"
},
"secondaryCity": {
"type": ["string", "null"],
"description": "Contact's secondary city"
},
"id": {
"type": "integer",
"description": "Contact's id"
},
"department": {
"type": ["string", "null"],
"description": "Contact's department"
},
"fax": {
"type": ["string", "null"],
"description": "Contact's fax"
},
"primaryCountry": {
"type": ["integer", "null"],
"description": "Contact's primary country"
},
"secondaryCountry": {
"type": ["integer", "null"],
"description": "Contact's secondary country"
},
"facebook": {
"type": ["string", "null"],
"description": "Contact's facebook address"
},
"linkedIn": {
"type": ["string", "null"],
"description": "Contact's linkedIn address"
},
"projectWikiUserGroup": {
"type": ["string", "null"],
"description": "Contact's projectWikiUserGroup"
},
"mobilePhone": {
"type": ["string", "null"],
"description": "Contact's mobile phone number"
},
"workPhone": {
"type": ["string", "null"],
"description": "Contact's work phone number"
},
"googleTalk": {
"type": ["string", "null"],
"description": "Contact's google talk address"
},
"primaryAddress": {
"type": ["string", "null"],
"description": "Contact's primary address"
}
}
}
}
}
Example:
{
"lastName": "Tester",
"secondaryAddress": null,
"primaryState": "",
"secondaryEmail": "",
"role": null,
"primaryPostalCode": "00020",
"accountName": "PlanMill Oy",
"description": null,
"secondaryDepartment": null,
"title": "Software Engineer",
"blog": "http://www.blog.com",
"primaryCity": "NORDEA",
"secondaryPostalCode": null,
"skype": "skpe_id",
"twitter": "http://www.twitter.com",
"campaigns": null,
"primaryDepartment": "",
"secondaryCity": null,
"id": 1634,
"department": "Software Development",
"primaryCountry": 73,
"email": "mikko.tester@planmill.com",
"secondaryCountry": null,
"facebook": "http://www.facebook.com",
"secondaryState": null,
"linkedIn": "http://www.linkedin.com",
"projectWikiUserGroup": null,
"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 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": 447,
"createdBy": 50,
"created": "2019-02-21T10:31:19.170+0200",
"name": "attached_file_test.txt",
"modified": "2019-02-21T12:04:05.007+0200",
"id": 1514
},
{
"size": 466,
"createdBy": 50,
"created": "2019-02-21T12:04:05.017+0200",
"name": "attached_file.txt",
"modified": "2019-02-21T12:04:05.017+0200",
"id": 1515
}
]
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 list of filters, columns and formats.
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 list of filters, columns and formats.
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 list of filters, columns and formats.
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 list of filters, columns and formats.
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 list of filters, columns and formats.
Get a list of expenses. See expenses/meta for list of filters, columns and formats.
Add a new expense to PlanMill or update existing (if id is given). See expenses/meta for list of columns and formats.
get /expenses
Get a list of expenses. See expenses/meta for list of filters, 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
- 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:
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
HTTP status code 200
Body
Media type: application/json
Type: 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 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: 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 list of filters, columns and formats.
Update an existing resource expense to PlanMill. See expenses/meta for list of filters, columns and formats.
Remove a expense from PlanMill.
get /expenses/{expense_id}
View details of a single expense. See expenses/meta for list of filters, columns and formats.
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: 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 list of filters, columns and formats.
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: 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 list of filters, columns and formats.
Get a list of items. See items/meta for list of filters, columns and formats.
Add a new item to PlanMill or update existing (if id is given). See items/meta for list of columns and formats.
get /expenses/{expense_id}/items
Get a list of items. See items/meta for list of filters, columns and formats.
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:
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
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 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.
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 list of filters, columns and formats.
Update an existing resource item to PlanMill. See items/meta for list of filters, columns and formats.
Remove a item from PlanMill.
get /expenses/{expense_id}/items/{expense_item_id}
View details of a single item. See items/meta for list of filters, columns and formats.
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 list of filters, columns and formats.
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": 447,
"createdBy": 50,
"created": "2019-02-21T10:31:19.170+0200",
"name": "attached_file_test.txt",
"modified": "2019-02-21T12:04:05.007+0200",
"id": 1514
},
{
"size": 466,
"createdBy": 50,
"created": "2019-02-21T12:04:05.017+0200",
"name": "attached_file.txt",
"modified": "2019-02-21T12:04:05.017+0200",
"id": 1515
}
]
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.
View details of single attachment.
put /expenses/{expense_id}/attachments/{attachment_id}
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 list of filters, columns and formats.
Add a new hook to PlanMill or update existing (if id is given). See hooks/meta for list of columns and formats.
get /hooks
Get a list of hooks. See hooks/meta for list of filters, 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
- 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:
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
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 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: 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 list of filters, columns and formats.
Update an existing resource hook to PlanMill. See hooks/meta for list of filters, columns and formats.
Remove a hook from PlanMill.
get /hooks/{hook_id}
View details of a single hook. See hooks/meta for list of filters, columns and formats.
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 list of filters, columns and formats.
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
- rowcount: (number - minimum: 1)
Number of rows to be returned. Default is 100.
Example:
250
- cyear: (string)
Get invoices for specified month. If parameter is missing, always return invoices for current month. Filter is using invoiceDate field.
Example:
12/2018
- 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:
[
{
"invoicedAmount": 659.7,
"dueDate": "2016-05-14T00:00:00.000+0300",
"invoiceVAT": 18,
"description": null,
"invoiceEmail": null,
"delivered": null,
"delayInterest": 8.5,
"invoiceCurrency": 1,
"sentToAccounting": null,
"reference": 6200026,
"invoiceXSL": "planmill_fi_eur.xsl",
"ourReference": "User_Account_Responsible",
"supplier": 1355,
"invoiceChannel": 2,
"invoiceNumber": 20002,
"id": 1011,
"noticeTime": 8,
"paymentStatus": 0,
"supplierName": "Finances_Supplier_Account",
"yourReference": "Finance department",
"invoiceAppendix": null,
"created": "2016-04-21T12:29:52.983+0300",
"showSubTotals": 0,
"invoiceDate": "2016-04-30 00:00:00.0",
"invoiceNetOperator": 70,
"invoiceNetAddress": "FI8712283100033557",
"shippingAddress": "Finances_Customer_Account\r\nVästra Trädgårdsgatan 11\r\nSE-111 53 Stockholm",
"comment": null,
"billingAddress": "Finance department\r\nVästra Trädgårdsgatan 11\r\nSE-111 53 Stockholm",
"paidAmount": 0,
"termsOfPayment": 14,
"VATid": null
},
{
"invoicedAmount": 4046.67,
"dueDate": "2016-05-14T00:00:00.000+0300",
"invoiceVAT": 24,
"description": null,
"invoiceEmail": "invoice@planmill.com",
"delivered": null,
"delayInterest": 8.5,
"invoiceCurrency": 1,
"sentToAccounting": null,
"reference": 6200000,
"invoiceXSL": "planmill_fi_eur.xsl",
"ourReference": "User_Responsible",
"supplier": 1355,
"invoiceChannel": 1,
"invoiceNumber": 20000,
"id": 1007,
"noticeTime": 8,
"paymentStatus": 0,
"supplierName": "Finances_Supplier_Account",
"yourReference": "Finance department",
"invoiceAppendix": null,
"created": "2016-04-21T12:20:47.717+0300",
"showSubTotals": 0,
"invoiceDate": "2016-04-30 00:00:00.0",
"invoiceNetOperator": null,
"invoiceNetAddress": null,
"shippingAddress": "Finances_Customer_Account\r\nVästra Trädgårdsgatan 11\r\nSE-111 53 Stockholm\r\nSweden",
"comment": null,
"billingAddress": "Finance department\r\nVästra Trädgårdsgatan 11\r\nSE-111 53 Stockholm\r\nSweden",
"paidAmount": 0,
"termsOfPayment": 14,
"VATid": 789123
}
]
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
Example:
{
"salesExecutive": 2960,
"invoiceXSL": "planmill_en_eur.xsl",
"invoiceAppendix": 0,
"invoiceNumber": 14,
"paymentStatus": 0,
"handlingFeeAccount": 7,
"sentToAccounting": 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.
/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.
View details of single mail.
Remove a mail from PlanMill.
get /mails/{mail_id}
View details of single mail.
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
HTTP status code 200
Body
Media type: application/json
Type: any
Example:
{
"sender": "noreply@planmill.com",
"subject": "This is the first mail",
"carbonCopy": "tester.carbon@planmill.com",
"blindCarbonCopy": null,
"nonDraft": 0,
"id": 7415,
"primaryTo": "tester.primary@planmill.com",
"body": "This is the first mail main from planmill api regression test"
}
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 /mails/{mail_id}
Remove a mail 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
- 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
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 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": 447,
"createdBy": 50,
"created": "2019-02-21T10:31:19.170+0200",
"name": "attached_file_test.txt",
"modified": "2019-02-21T12:04:05.007+0200",
"id": 1514
},
{
"size": 466,
"createdBy": 50,
"created": "2019-02-21T12:04:05.017+0200",
"name": "attached_file.txt",
"modified": "2019-02-21T12:04:05.017+0200",
"id": 1515
}
]
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 list of filters, columns and formats.
Get a list of opportunities. See opportunities/meta for list of filters, columns and formats.
Add a new opportunity to PlanMill or update existing (if id is given). See opportunities/meta for list of columns and formats.
get /opportunities
Get a list of opportunities. See opportunities/meta for list of filters, 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
- 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:
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
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 opportunities entities",
"oneOf": [
{
"type": "array",
"items": {
"$ref": "#/definitions/opportunityArray"
}
},
{
"$ref": "#/definitions/opportunitySingle"
}
],
"definitions": {
"opportunitySingle": {
"type": "object",
"required": [ "subject", "contact", "responsible", "closed" ],
"properties": {
"subject": {
"type": "string",
"description": "Name of an opportunity"
},
"probability": {
"type": "integer",
"description": "Probability to win an opportunity"
},
"priority": {
"type": "integer",
"description": "Priority of an opportunity"
},
"stage": {
"type": "integer",
"description": "Stage of an opportunity"
},
"contact": {
"type": "integer",
"description": "Contact person id of an opportunity"
},
"responsible": {
"type": "integer",
"description": "Responsible person id of an opportunity"
},
"closed": {
"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": "Closed date of an opportunity"
},
"status": {
"type": [ "integer", "null" ],
"description": "Status of an opportunity"
}
}
},
"opportunityArray": {
"type": "object",
"required": [ "subject", "responsible", "closed" ],
"properties": {
"subject": {
"type": "string",
"description": "Name of an opportunity"
},
"probability": {
"type": "integer",
"description": "Probability to win an opportunity"
},
"priority": {
"type": "integer",
"description": "Priority of an opportunity"
},
"stage": {
"type": "integer",
"description": "Stage of an opportunity"
},
"contact": {
"type": "integer",
"description": "Contact id of an opportunity"
},
"closed": {
"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 an opportunity"
},
"status": {
"type": [ "integer", "null" ],
"description": "Status of an opportunity"
}
}
}
}
}
Example:
[
{
"country": 73,
"expectedRevenue": 0,
"reason": 0,
"request": null,
"accountName": "Test Group Ltd.",
"subject": "Product A for 1000 users",
"created": "2014-05-05T10:39:21.300+0300",
"project": null,
"nextstep": 0,
"source": 0,
"type": 0,
"keyContact": "Andersson, Andy",
"revenue": 0,
"stage": 10,
"partner": null,
"person": 24715,
"competitor": null,
"responsible": "Weather, May",
"campaign": null,
"finish": "2013-08-31T00:00:00.000+0300",
"id": 2834680,
"account": 441328,
"status": 0
},
{
"country": 73,
"expectedRevenue": 958.0381394903238,
"reason": 0,
"request": null,
"accountName": "Test Oy",
"subject": "Product B for 100 users",
"created": "2014-01-24T08:23:14.580+0200",
"project": null,
"nextstep": 0,
"source": 0,
"type": 0,
"keyContact": "Acme, Andy",
"revenue": 9580.381394903237,
"stage": 10,
"partner": null,
"person": 598406,
"competitor": null,
"responsible": "Bruse, Wayne",
"campaign": null,
"finish": "2014-12-31T00:00:00.000+0200",
"id": 2832894,
"account": 509013,
"status": 0
},
{
"country": 73,
"expectedRevenue": 7513.049239128979,
"reason": 0,
"request": null,
"accountName": "Test Oy",
"subject": "Product C for 100 users",
"created": "2013-07-03T17:59:35.437+0300",
"project": null,
"nextstep": 0,
"source": 0,
"type": 0,
"keyContact": "Baine, Michael",
"revenue": 10017.398985505306,
"stage": 75,
"partner": null,
"person": 2827004,
"competitor": null,
"responsible": "Bonn, Andreas",
"campaign": null,
"finish": "2013-09-19T00:00:00.000+0300",
"id": 2827006,
"account": 2827002,
"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 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: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "base schema for all opportunities entities",
"oneOf": [
{
"type": "array",
"items": {
"$ref": "#/definitions/opportunityArray"
}
},
{
"$ref": "#/definitions/opportunitySingle"
}
],
"definitions": {
"opportunitySingle": {
"type": "object",
"required": [ "subject", "contact", "responsible", "closed" ],
"properties": {
"subject": {
"type": "string",
"description": "Name of an opportunity"
},
"probability": {
"type": "integer",
"description": "Probability to win an opportunity"
},
"priority": {
"type": "integer",
"description": "Priority of an opportunity"
},
"stage": {
"type": "integer",
"description": "Stage of an opportunity"
},
"contact": {
"type": "integer",
"description": "Contact person id of an opportunity"
},
"responsible": {
"type": "integer",
"description": "Responsible person id of an opportunity"
},
"closed": {
"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": "Closed date of an opportunity"
},
"status": {
"type": [ "integer", "null" ],
"description": "Status of an opportunity"
}
}
},
"opportunityArray": {
"type": "object",
"required": [ "subject", "responsible", "closed" ],
"properties": {
"subject": {
"type": "string",
"description": "Name of an opportunity"
},
"probability": {
"type": "integer",
"description": "Probability to win an opportunity"
},
"priority": {
"type": "integer",
"description": "Priority of an opportunity"
},
"stage": {
"type": "integer",
"description": "Stage of an opportunity"
},
"contact": {
"type": "integer",
"description": "Contact id of an opportunity"
},
"closed": {
"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 an opportunity"
},
"status": {
"type": [ "integer", "null" ],
"description": "Status of an opportunity"
}
}
}
}
}
Example:
{
"id": 12345,
"reason": 0,
"request": 1234,
"subject": "Opportunity test",
"probability": 10,
"project": 123123,
"description": "",
"source": 0,
"priority": 2,
"type": 0,
"stage": 10,
"competitor": -1,
"partnerContact": null,
"responsible": 2834513,
"contact": 2834513,
"nextStep": 0,
"campaign": 12345,
"finish": "2015-04-30T00:00:00.000+0300",
"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": [
{
"name": "freetextsearch",
"caption": ""
},
{
"name": "viewtemplate",
"caption": "View by",
"values": {
"All opportunities": "9",
"All won opportunities": "12",
"All closed opportunities": "14",
"My recently created opportunities - last 14 days": "6",
"My open opportunities": "0",
"My recently created opportunities - last 30 days": "7",
"All recently created opportunities - last 14 days": "16",
"My closed opportunities": "4",
"My lost opportunities": "3",
"My recently created opportunities - last 7 days": "5",
"All recently created opportunities - last 30 days": "17",
"My suspended opportunities": "1",
"All open opportunities": "10",
"My won opportunities": "2",
"All suspended opportunities": "11",
"All recently created opportunities - last 7 days": "15",
"My recently modified opportunities - last 7 days": "8",
"All lost opportunities": "13",
"All recently modified opportunities - last 7 days": "18"
}
},
{
"name": "responsible",
"caption": "Owner",
"values": {
"All": "-1",
"Mill, Will": "2801981",
"Selleri, Seppo": "2795446",
"Lowe, Jared": "580283"
}
},
{
"name": "stage",
"caption": "Stage",
"values": {
"All": "-1",
"5. Closed": "100",
"3. Qualified": "50",
"1. Identified": "10",
"2. Validated": "25",
"4. Quoted": "75"
}
},
{
"name": "country",
"caption": "Country",
"values": {
"All": "-1",
"Austria": "15",
"United States": "220",
"Finland": "73",
"France": "74",
"Switzerland": "200",
"Germany": "80"
}
},
{
"name": "campaign",
"caption": "Campaign",
"values": {
"All": "-1"
}
},
{
"name": "account",
"caption": "Account",
"values": {
"All": "-1",
"BillionMill Inc.": "558783",
"Testi Oy": "2803729"
}
},
{
"name": "type",
"caption": "Business type",
"values": {
"All": "-1",
"New": "0",
"Existing": "1"
}
},
{
"name": "competitor",
"caption": "Competitor",
"values": {
"All": "-1",
"TsillionMill Inc.": "501997"
}
},
{
"name": "partner",
"caption": "Partner",
"values": {
"All": "-1",
"All partner related": "-2",
"No partner related": "-3",
"Test Group Ltd.": "441328",
"Good Hood Oy": "504828"
}
},
{
"name": "product",
"caption": "Product",
"values": {
"All": "-1",
"Fixed project": "2704411",
"Support": "2781425",
"Flower 3": "2827880",
"PlanMill PROJECT Cloud": "594836",
"Professional Services": "2818483"
}
},
{
"name": "source",
"caption": "Source",
"values": {
"All": "-1",
"Event - seminar": "4",
"Email": "3",
"Event - trade show": "5",
"-": "0",
"Direct mail": "2",
"Referral - customer": "13",
"Newspaper & Magazine": "12",
"Referral - external": "10",
"List - purchased": "7",
"List - rented": "8",
"Advertisement": "1",
"Referral - employee": "9",
"Web site": "11",
"Event - other": "6",
"Other": "20"
}
},
{
"name": "interval",
"calendar": "yyyy-MM-dd'T'HH:mm:ss.SSSZ",
"values": {
"Modified": "modified",
"Close date": "finish",
"Created": "created"
}
},
{
"name": "rowcount",
"caption": "Rows",
"values": {
"25": "25",
"50": "50",
"75": "75",
"100": "100",
"150": "150",
"250": "250"
}
},
{
"name": "portfolio",
"caption": "Salkku",
"values": {
"All": "-1",
"E. New customer portfolio \\ New Customers (Finland)": "464595",
"E. New customer portfolio": "464559",
"D. Administrative portfolio": "464557",
"G. DefaultFolder": "464561",
"Test portfolio": "2705592"
}
}
],
"fields": {
"country": {
"format": "Enumeration values.Location.CountryId",
"caption": "Country"
},
"expectedRevenue": {
"format": "currency",
"caption": "Expected"
},
"reason": {
"format": "Enumeration values.Sales management.Opportunities.Reason lost",
"caption": "Reason won/lost"
},
"request": {
"format": "text",
"caption": "Request.Id"
},
"accountName": {
"format": "text",
"caption": "Account"
},
"subject": {
"format": "text",
"caption": "_Name"
},
"created": {
"format": "mediumdate",
"caption": "Created"
},
"project": {
"format": "text",
"caption": "PMVProject.Id"
},
"nextstep": {
"format": "Enumeration values.Sales management.Opportunities.Next step",
"caption": "Next step"
},
"source": {
"format": "Enumeration values.Sales management.Opportunities.Source",
"caption": "Source"
},
"type": {
"format": "Enumeration values.Sales management.Opportunities.Business type",
"caption": "Business type"
},
"keyContact": {
"format": "text",
"caption": "Key contact"
},
"revenue": {
"format": "currency",
"caption": "Total sales (VAT 0%)"
},
"stage": {
"format": "Enumeration values.Sales management.Opportunities.Sales stage",
"caption": "Stage"
},
"partner": {
"format": "text",
"caption": "Partner.Id"
},
"person": {
"format": "text",
"caption": "Person.Id"
},
"competitor": {
"format": "text",
"caption": "CompetitorAccount.Id"
},
"responsible": {
"format": "text",
"caption": "Owner"
},
"campaign": {
"format": "text",
"caption": "Opportunity.CampaignId"
},
"finish": {
"format": "shortdate",
"caption": "Close date"
},
"id": {
"format": "checkbox",
"caption": "_"
},
"account": {
"format": "text",
"caption": "Account.Id"
},
"status": {
"format": "Enumeration values.Sales management.Opportunities.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 opportunity in PlanMill.
View details of a single opportunity. See opportunities/meta for list of filters, columns and formats.
Update an existing resource opportunity to PlanMill. See opportunities/meta for list of filters, columns and formats.
Remove a opportunity from PlanMill.
get /opportunities/{opportunity_id}
View details of a single opportunity. See opportunities/meta for list of filters, columns and formats.
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- opportunity_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 opportunities entities",
"oneOf": [
{
"type": "array",
"items": {
"$ref": "#/definitions/opportunityArray"
}
},
{
"$ref": "#/definitions/opportunitySingle"
}
],
"definitions": {
"opportunitySingle": {
"type": "object",
"required": [ "subject", "contact", "responsible", "closed" ],
"properties": {
"subject": {
"type": "string",
"description": "Name of an opportunity"
},
"probability": {
"type": "integer",
"description": "Probability to win an opportunity"
},
"priority": {
"type": "integer",
"description": "Priority of an opportunity"
},
"stage": {
"type": "integer",
"description": "Stage of an opportunity"
},
"contact": {
"type": "integer",
"description": "Contact person id of an opportunity"
},
"responsible": {
"type": "integer",
"description": "Responsible person id of an opportunity"
},
"closed": {
"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": "Closed date of an opportunity"
},
"status": {
"type": [ "integer", "null" ],
"description": "Status of an opportunity"
}
}
},
"opportunityArray": {
"type": "object",
"required": [ "subject", "responsible", "closed" ],
"properties": {
"subject": {
"type": "string",
"description": "Name of an opportunity"
},
"probability": {
"type": "integer",
"description": "Probability to win an opportunity"
},
"priority": {
"type": "integer",
"description": "Priority of an opportunity"
},
"stage": {
"type": "integer",
"description": "Stage of an opportunity"
},
"contact": {
"type": "integer",
"description": "Contact id of an opportunity"
},
"closed": {
"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 an opportunity"
},
"status": {
"type": [ "integer", "null" ],
"description": "Status of an opportunity"
}
}
}
}
}
Example:
{
"id": 12345,
"reason": 0,
"request": 1234,
"subject": "Opportunity test",
"probability": 10,
"project": 123123,
"description": "",
"source": 0,
"priority": 2,
"type": 0,
"stage": 10,
"competitor": -1,
"partnerContact": null,
"responsible": 2834513,
"contact": 2834513,
"nextStep": 0,
"campaign": 12345,
"finish": "2015-04-30T00:00:00.000+0300",
"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/{opportunity_id}
Update an existing resource opportunity to PlanMill. See opportunities/meta for list of filters, columns and formats.
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- opportunity_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 opportunities entities",
"oneOf": [
{
"type": "array",
"items": {
"$ref": "#/definitions/opportunityArray"
}
},
{
"$ref": "#/definitions/opportunitySingle"
}
],
"definitions": {
"opportunitySingle": {
"type": "object",
"required": [ "subject", "contact", "responsible", "closed" ],
"properties": {
"subject": {
"type": "string",
"description": "Name of an opportunity"
},
"probability": {
"type": "integer",
"description": "Probability to win an opportunity"
},
"priority": {
"type": "integer",
"description": "Priority of an opportunity"
},
"stage": {
"type": "integer",
"description": "Stage of an opportunity"
},
"contact": {
"type": "integer",
"description": "Contact person id of an opportunity"
},
"responsible": {
"type": "integer",
"description": "Responsible person id of an opportunity"
},
"closed": {
"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": "Closed date of an opportunity"
},
"status": {
"type": [ "integer", "null" ],
"description": "Status of an opportunity"
}
}
},
"opportunityArray": {
"type": "object",
"required": [ "subject", "responsible", "closed" ],
"properties": {
"subject": {
"type": "string",
"description": "Name of an opportunity"
},
"probability": {
"type": "integer",
"description": "Probability to win an opportunity"
},
"priority": {
"type": "integer",
"description": "Priority of an opportunity"
},
"stage": {
"type": "integer",
"description": "Stage of an opportunity"
},
"contact": {
"type": "integer",
"description": "Contact id of an opportunity"
},
"closed": {
"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 an opportunity"
},
"status": {
"type": [ "integer", "null" ],
"description": "Status of an opportunity"
}
}
}
}
}
Example:
{
"id": 12345,
"reason": 0,
"request": 1234,
"subject": "Opportunity test",
"probability": 10,
"project": 123123,
"description": "",
"source": 0,
"priority": 2,
"type": 0,
"stage": 10,
"competitor": -1,
"partnerContact": null,
"responsible": 2834513,
"contact": 2834513,
"nextStep": 0,
"campaign": 12345,
"finish": "2015-04-30T00:00:00.000+0300",
"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 /opportunities/{opportunity_id}
Remove a opportunity 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
- opportunity_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 attachments in PlanMill. This is a read-only collection.
Get a list of attachments
get /opportunities/{opportunity_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
- opportunity_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": 447,
"createdBy": 50,
"created": "2019-02-21T10:31:19.170+0200",
"name": "attached_file_test.txt",
"modified": "2019-02-21T12:04:05.007+0200",
"id": 1514
},
{
"size": 466,
"createdBy": 50,
"created": "2019-02-21T12:04:05.017+0200",
"name": "attached_file.txt",
"modified": "2019-02-21T12:04:05.017+0200",
"id": 1515
}
]
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.
View details of single attachment.
put /opportunities/{opportunity_id}/attachments/{attachment_id}
PlanMill supports OAuth 2.0 for authenticating all API requests. More information about it in the security part of the documentation.
URI Parameters
- opportunity_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 /opportunities/{opportunity_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
- opportunity_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.
Get meta information for the updatable fields of the sales orders
View details of a single meta.
get /opportunities/{opportunity_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
- opportunity_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:
{
"reason": {
"caption": "Reason won/lost",
"format": "int",
"enumeration": "Enumeration values.Sales management.Opportunities.Reason lost",
"values": {
"Not qualified": "7",
"Installed base": "1",
"No current project": "5",
"Lost to competition": "8",
"Lost to no decision": "9",
"Price": "2",
"Relationship": "3",
"No budget": "6",
"-": "0",
"Track record": "4",
"Other": "10"
}
},
"request": {
"caption": "",
"format": "int",
"description": "",
"values": null
},
"subject": {
"caption": "Name",
"format": "string",
"maxlength": "255",
"values": null
},
"probability": {
"caption": "Probability",
"format": "int",
"enumeration": "Enumeration values.Sales management.Opportunities.Probability",
"values": {
"25%": "25",
"100%": "100",
"0%": "0",
"10%": "10",
"75%": "75",
"50%": "50"
}
},
"project": {
"caption": "",
"format": "int",
"description": "",
"values": null
},
"description": {
"caption": "",
"format": "string",
"description": "",
"values": null
},
"source": {
"caption": "Source",
"format": "int",
"enumeration": "Enumeration values.Sales management.Opportunities.Source",
"values": {
"Event - seminar": "4",
"Email": "3",
"Event - trade show": "5",
"-": "0",
"Direct mail": "2",
"Referral - customer": "13",
"Newspaper & Magazine": "12",
"Referral - external": "10",
"List - purchased": "7",
"List - rented": "8",
"Advertisement": "1",
"Referral - employee": "9",
"Web site": "11",
"Event - other": "6",
"Other": "20"
}
},
"priority": {
"caption": "Priority",
"format": "int",
"enumeration": "Enumeration values.Sales management.Opportunities.Priority",
"values": {
"High": "3",
"Low": "1",
"Medium": "2"
}
},
"type": {
"caption": "Business type",
"format": "int",
"enumeration": "Enumeration values.Sales management.Opportunities.Business type",
"values": {
"New": "0",
"Existing": "1"
}
},
"stage": {
"description": "The sales stage describes in which stage the opportunity is, e.g. 2. Validated or 5. Closed. When changing the sales stage the Probability-field is automatically changed to reflect the sales stage.",
"caption": "Sales stage",
"format": "string",
"maxlength": "80",
"enumeration": "Enumeration values.Sales management.Opportunities.Sales stage probability mapping",
"values": {
"10": "10",
"25": "25",
"50": "50",
"75": "75",
"100": "100",
"5. Closed": "100",
"3. Qualified": "50",
"2. Validated": "25",
"1. Identified": "10",
"4. Quoted": "75"
}
},
"competitor": {
"caption": "Competitor",
"values": {
"Test Comp Ltd": 501997
},
"format": "int"
},
"partnerContact": {
"caption": "",
"format": "int",
"description": "",
"values": null
},
"responsible": {
"caption": "Owner",
"values": {
"Mill, Will": "2801981",
"Selleri, Seppo": "2795446",
"Lowe, Jared": "580283"
},
"format": "