vPlan is the easiest way to plan and track your work. Get insight and results. This API is available on: https://api.vplan.com/v1
Additional resources:
Look at the playlist below for technical videos about our API.
This API reference contains the documentation for all supported third-party vPlan objects. There are also undocumented endpoints, that are accessible with the API token, these endpoints are used by the application itself. Undocumented endpoints are unsupported for third-party use. These endpoints are subject to change without prior warning.
For every object a data structure table is given, the field description can end with:
The examples below show default requirements and options. This information applies to all endpoints unless explicitly stated otherwise.
The vPlan API supports pagination via the query parameters limit
and offset
.
Example: ?limit=50&offset=150
Limit is the maximum number of records given in a resulting dataset.
Default: 100
Maximum: 1.000
Offset is the number of records to be skipped for the resulting dataset
Default: 0
If an offset is larger than the possible items that can be returned for the request, an empty data array will be returned.
The count
property of a resultset can be used to determine how many calls must be made to retrieve all objects.
For sorting the resulting dataset use the query parameter sort
with the format:
field
:direction
,field
:direction
Example: ?sort=updated_at:desc,name
Colon :
is the separator between the field and the optional sorting order.
Default sorting order is ascending.
Comma ,
can be used to add multiple fields for sorting the dataset
warning
Will only work on main fields of the object and not on fields from included objects
On the list endpoints it is possible to filter the result set given.
To apply a filter use the filter
query parameter with the format:
field
:operator
:value
Example: ?filter=created_at:gt:2020-09-26,and,(id:not:starts_with:0000,or,id:contains:FFFF)
Colon :
is the separator between the field, operator(s) and value.
Comma ,
can be used to combine filter statements by using ,and,
or ,or,
.
Braces (
...)
can be used to group filter statements.
The following operators are supported
operator | description |
---|---|
eq | equal to the given value |
gt | greater than the given value |
gte | greater than or equal to the given value |
lt | lesser than the given value |
lte | lesser than or equal to the given value |
not | negation of the operator that follows it |
contains | has occurrence of the given value |
starts_with | starts with the given value |
end_with | ends with the given value |
warning
Currently the comma , and colon : are not supported within the filter value
The query parameters show
and hide
allow clients to requests a limited set of properties.
In addition to reducing the amount of data transferred, this can be helpful in reducing errors caused by additional features added in a release update.
show
specifies which properties the client will receive.hide
specifies which properties will be removed from the reponse.
Both must contain a comma separated list of properties.
For the properties of the main object this is pretty straigth forward. Subobjects added via eager loading come in 2 flavors:
related object
.property
related objects
.*.property
or related objects
.item #
.property
Please note that * can be used to show or hide all properties of a subobject.
Examples:
As shown in the last example show and hide can be combined this is primarily usefull if you want specific properties from the main object and hide properties from related objects.
When retrieving a List or Single object, the with
query parameter allows to eager load
and retrieve related objects with one call.
It consists of a comma separated list of objects, using the dot . as separator for subobjects.
Example: ?with=attachments,cards.resources
If this example with was performed on the Collection List, It would retrieve every collection, and with every collection its attachments, it would also retrieve all the cards of every collection, and finally it would return every resource from every card of every collection.
The first layer of possible with options are stated with every object in this documentation.
The vPlan API is constantly improving, which means that today's endpoints and features could be replaced or removed in the future.
Within this documentation endpoints, parameters or fields can be flagged as Deprecated.
Newly created integrations should not use anything marked as deprecated.
Existing integrations that use anything marked as deprecated, should alter that part of the integration in the near future, in order to prevent possible future errors.
For deprecated endpoints the API will send a Deprecated
header with a description.
Example: GET v1/collection/detail is deprecated and will be removed in future versions
Integrations are expected to look out for this header, and act accordingly.
Another option is retrieving the API messages.
Almost every object relevant for integrations has a property named external_ref
.
In principal this is not a field vPlan uses it self. However if it has a value the vPlan frontend will block certain manually changes for a user.
The main goal for this property is to provide integrations with a location to store the unique identifier of the source object.
The external_ref has the requirement that it must be unique, within that object. If you try to create an object with an already existing external_ref the vPlan API give an error "HTTP 422 Unprocessable entity", with a description stating "Duplicate entry".
For Orders the unique key is external_ref combined with type and sub_type.
note
Objects that have the archive feature will per default not return archived objects.
Archived objects are not separate from unarchived objects, as such unique constraints still apply, i.e. an "active" or unarchived object cannot have the same value for a unique constraint as an archived object
warning
If in an order type or sub_type is given the value
null
the unique constraint will not be triggered. Use the valuenone
instead.
The RateLimit headers are sent in responses to all the Api-Key or OAuth requests, they contain information about the amount of requests that can be made within the specified time window.
Header | Description |
---|---|
RateLimit-Limit | Maximum number of requests you're permitted to make per time window |
RateLimit-Remaining | Number of requests remaining in the current rate limit window. |
RateLimit-Reset | Time at which the current rate limit window resets in seconds. |
Tips for optimizing an integration:
In the event the request results in an error of any kind, the API will respond with an json error. If you receive any other kind of error there must be a connection issue somewhere down the line.
An error will always be in the following format:
reference | string <uuid> Error reference, used for support requests |
Array of objects (Error) |
{- "reference": "6ad5af82-69bb-4e90-892e-45ec76d34954",
- "errors": [
- {
- "code": 10001,
- "message": "string",
- "reference": "6ad5af82-69bb-4e90-892e-45ec76d34954",
- "timestamp": "2020-01-02T11:24:35Z",
- "description": "A description of the error can be found here"
}
]
}
The API will use different HTTP status codes if suitable. The status codes commonly seen within this API, are in the table down below. Please note that this is not a complete list.
HTTP Code | Description | Example occurrences |
---|---|---|
400 | BAD REQUEST | Invalid request given, e.g. limit=-15 as query parameter given |
401 | UNAUTHORIZED | Accesstoken is expired |
403 | FORBIDDEN | Endpoint or action is not permitted |
404 | NOT FOUND | Invalid endpoint, or an object id in request does not exist |
405 | METHOD NOT ALLOWED | Requested method (GET, POST, PUT or DELETE) is not allowed for the endpoint This error can also occur when parts of the endpoint are incorrect e.g. updating an order without the required order_id PUT v1/order |
422 | UNPROCESSABLE ENTITY | Validation on the request has failed |
429 | TOO MANY REQUESTS | For more info look at Rate Limits |
500 | INTERNAL SERVER ERROR | An internal error occurred |
Look at Service Unavailable for responses given during maintenance.
The HTTP Status code gives an indication of the kind of error. More detailed information is available in the error message. The error message should be enough to correct the request accordingly.
An error message stating Unknown, indicates an error that is currently not forseen within our API.
Scenario: you try to create an object and receive a 200 Ok response, but the object values are empty or using the default values.
Solution: your request is probably missing or having an invalid Content-Type
header, make sure you provide it accordingly to your request e.g. application/json
A request can result in a 10005 Memory exhausted error.
It is likely that this request has worked in the past, but due to a growing amount of data now results in this error. Our API is unable to handle the large dataset resulting from your request.
The best way to prevent this error is ensure you use a combination of paging, filtering or reducing the amount of included data.
Most of our errors should be self explanatory, in the event of an Unknown error you can send a support request.
On creating an support request please provide the following information:
errors[].reference
from the error responseWhile most of our maintenance is being performed without any downtime. An integration should take in account the following 2 responses:
Code | Description | Note |
---|---|---|
303 | See Other | vPlan Services are not available |
503 | Service Unavailable | A release or maintenance is being performed |
warning
The 303 See Other is a last resort redirect to give a proper unavailable notice page
The location that is given will end up in a HTTP 200 response with normal webpage content instead of json.
An integration should:
- not follow the redirect
- view the request as failed
- and try again later.
{- "reference": "97e3616c-e75c-46cc-a0fe-ac22f477864c",
- "errors": [
- {
- "code": 503,
- "message": "Service unavailable",
- "description": "Database is under maintenance",
- "reference": "97e3616c-e75c-46cc-a0fe-ac22f477864c",
- "timestamp": "2020-01-02T11:24:35.000Z"
}
]
}
The vPlan API is constantly improving, which means that today's endpoints and features could be replaced or removed in the future.
Where possible and appropriate, the API adds a deprecated header to the response. The API also offers this endpoint to retrieve any messages or warnings recorded during third party requests.
Integrators are expected to review these messages regularly and act accordingly.
sort | |
limit | integer >= 1 Default: 100 Example: limit=50 maximum number of records given, see pagination for more info |
offset | integer >= 0 Default: 0 Example: offset=0 the number of records to be skipped, see pagination for more info |
filter | string Example: filter=created_at:gt:2020-09-26,and,(id:not:starts_with:0000,or,id:contains:FFFF) used to filter the dataset, see filtering for more info |
show | string Example: show=id,updated_at limit the response to show only specific properties, see slimmed down result for more info |
hide | string Example: hide=created_at,updated_at hide properties from the response, see slimmed down result for more info |
ETag | string <md5> Example: "62a232916ac3a2f395791c108c295e8d" Entity Tag, used for caching |
X-REFERENCE | string <uuid> Example: "05cad843-4214-4537-9010-90a7c3ba91f1" Reference Tag, used for internal tracing and debugging of the request |
id | string <uuid> /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Unique identifier |
log_level | string Enum: "info" "warning" "error" |
method | string Enum: "GET" "POST" "PUT" "DELETE" used method that caused the message |
endpoint | string used endpoint that caused the message |
query_params | string used query parameters that caused the message |
message_code | string code to categorize the message |
message | string full message with details |
created_at | string <date-time> Creation date / time |
updated_at | string <date-time> Update date / time |
{- "id": "68e5bf7b-c525-4865-a50b-ad7654b8fd12",
- "log_level": "warning",
- "method": "GET",
- "endpoint": "v1/order",
- "query_params": {
- "limit": 2000,
- "with": "item,order_rows"
}, - "message_code": "RESULT_GT_100",
- "message": "limit=2000, greater than max (1000), count 610",
- "created_at": "2020-01-02T11:24:35Z",
- "updated_at": "2020-01-02T11:24:35Z"
}
Within vPlan we divide our objects in basically 3 sections:
The configuration section are objects that are generaly setup at the start and should not change that often. Integrations will probably create a lot of these objects, or otherwise retrieve these objects to use the id's later on.
The third party data section are objects that are pure informational for the front end users. It exists primarily to facilitate integrations to update their data, and give the front end users the option to change values like the title, without losing the original information on screen. Most integrations use these objects to push there plannable objects to vPlan.
The base data section consists of object used in the normal day to day usage of vPlan: Most integrations use these objects to retreive information about the planning and send it back to the original system.
The best way to synchronize changes in vPlan to another system is using webhooks.
An alternative would be using a GET list request and filter on the
updated_at
property.
Pro's and cons:
Subject | Webhooks | Filter on updated_at |
---|---|---|
Timeliness | ✅ are sent out almost instantly | ❌ has a delay since data is retrieved e.g. every hour or daily |
Deletions | ✅ have events to notify on deletions | ❌ only shows the current objects |
Related objects e.g. a label added to a Card |
✅ are available to reflect changes on related objects | ❌ the updated_at on base objects is not changed if something is attached |
Rate Limit | 🟠 Rate Limit is calculated over incoming requests, Webhooks are outgoing requests and thus do not count towards this limit. | 🟠 if there are no changes, the requests would be superfluous multiple changes could be aggregated between runs |
Dependencies | ❌ need a webservice to listen to events sent from vPlan | ✅ Retrieving data can be done by a simple client with internet |
For on premise applications it can be difficult to expose a webservice to receive webhooks.
A possible solution could be to receive webhooks on services like Make.com or Zapier, store the events onto a OneDrive, Dropbox or Google Drive, and process these files on the on premise machine.
The vPlan API allows for three means of authentication, JWT Token, oAuth 2 or API Key.
API Keys are great for rapid prototyping and easy access.
For increased security, integrations should strive to use OAuth 2, especially if designed for multiple customers.
warning
An API Key is static and gives unsupervised access to an account, to improve security we recommend to replace API Keys at least every 6 months.
Customers will receive reminders advising to replace their API Key.
As stated OAuth does not have this security risk.
In this document the headers are included in the examples, the credentials that need to be filled in this header are replaced with a placeholder {token}
.
A JWT token consists of three parts, a header, a payload and a signature. The signature is created on the server with a specific secret, a user cannot construct a token on its own.
The header contains information about the token (type, signature algorithm). The payload contains information about the user and the validity of the token (username, expiration date, issuer). The signature is a hash created with the defined algorithm in the header, signing the information in the token.
bearer
JWT
The Api-Key is to be used in combination with Api-Env.
The two headers combined can be used as authentication.
Perform the following steps:
X-Api-Key
Api-Env is to be used in combination with Api-Key
X-Api-Env
Resources on oAuth:
OAuth 2 Role | Application |
---|---|
Client | Application using this API |
Resource Server | The vPlan API service |
Authorization Server | Most Wanted OAuth 2 Authorization Server |
Resource Owner | The user of the vPlan environment |
To create an app, that users can connect to their vPlan environment, go to https://developer.vplan.com/
Registration of the app provides a client id
and client secret
. This information is specific to the app.
The client secret should never be shared publicly.
Registration requires a redirect URI, this should be the base URI to which all callbacks will be performed, this URI should be publicly accessible.
authorizationCode
https://developer.mostwanted.io/api/v1/oauth/authorize
https://developer.mostwanted.io/api/v1/oauth/token
After obtaining an authorization code, an access token can be requested on https://developer.mostwanted.io/api/v1/oauth/token
This request will result in an access token and a refresh token.
The refresh token can also be used on this endpoint to create a new access token and refresh token.
warning
The refresh token cannot be used more than once.
User information to update
client_id required | string Client ID of the app |
client_secret required | string Client Secret of the the ap |
redirect_uri required | string A valid, TLS secured, redirect URI |
grant_type required | string Enum: "authorization_code" "refresh_token" Grant Type for the token request |
code required | string Authorization code for the token request |
state | string Unique state, to prevent man-in-the-middle attacks |
X-NONCE | string <md5> Example: "0cc830838614922c52cfff6e3931d4d8" A nonce that can be used to prevent resubmission |
ETag | string <md5> Example: "62a232916ac3a2f395791c108c295e8d" Entity Tag, used for caching |
access_token required | string <jwt> Access token to authenticate with the external application An access token is typically valid for a short period of time. The token is a JWT token,
they payload contains the |
refresh_token required | string Refresh token that can be used to obtain a new access_token. Be sure to store this token securely, a refresh token ensures renewal of an expired access token. The refresh token is valid for 1 year, and only has a single use. Every request to the token endpoint ensures the creation of a new access token and a new refresh token. |
token_type required | string Type of the returned token |
expires_in required | integer Validity in seconds of the returned access token |
{- "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
- "refresh_token": "c3f42a9a1e78b8959882840aab940356",
- "token_type": "access_token",
- "expires_in": 3600
}
The Me endpoint is a static endpoint that can be used to test if the authentication is valid. And also shows more details about what authentication is used.
Show information about user, authentication details and customer environment for the authentication that is used.
ETag | string <md5> Example: "62a232916ac3a2f395791c108c295e8d" Entity Tag, used for caching |
X-REFERENCE | string <uuid> Example: "05cad843-4214-4537-9010-90a7c3ba91f1" Reference Tag, used for internal tracing and debugging of the request |
type | string Enum: "api-key" "user" "support_token" "thirdparty" |
object (Environment) Customer Environment details, please note that several system properties are not documented here. | |
object (User) | |
object (ApiKey) Details for a Api Key connection | |
object (ThirdParty) Details for a Third Party oAuth connection |
{- "type": "api-key",
- "environment": {
- "id": "3544e40a-1f46-49e5-806b-6bfd7ba29712",
- "customer": "Foo Bar Inc",
- "status": "sign_up",
- "last_login": "2021-06-09T15:37:47Z",
- "created_at": "2020-01-02T11:24:35Z",
- "updated_at": "2020-01-02T11:24:35Z"
}, - "user": {
- "id": "f69c8c01-4594-4c66-9440-f37c6b131b44",
- "resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
- "external_ref": "fb1033a2ed70",
- "firstname": "string",
- "lastname": "string",
- "infix": "string",
- "fullname": "string",
- "gender": "M",
- "email": "foo@example.com",
- "mobile": "string",
- "avatar": "string",
- "about": "string",
- "date_of_birth": "2019-08-24T14:15:22Z",
- "role": "administrator",
- "card_visibility": "all",
- "language": "nl",
- "timezone": "Europe/Amsterdam",
- "notify_own_changes": true,
- "created_at": "2020-01-02T11:24:35Z",
- "updated_at": "2020-01-02T11:24:35Z",
- "archived_at": "2021-07-06T11:24:35Z"
}, - "api-key": {
- "id": "58a869d3-5740-479b-9a44-5400f80489fa",
- "name": "Example Key for Foo Barring",
- "last8": "qxhT5HzC",
- "log_level": null,
- "log_until": null,
- "last_used": "2021-06-09T17:55:48Z",
- "last_replace_reminder": null,
- "disabled_until": null,
- "created_at": "2020-01-02T11:24:35Z",
- "updated_at": "2020-01-02T11:24:35Z"
}, - "thirdparty": {
- "id": "561a0ec5-78ba-4837-9369-3c9fbb4f6975",
- "integration_id": "55d7337e-1d0a-49fc-9826-925ba40df035",
- "user_id": "f69c8c01-4594-4c66-9440-f37c6b131b44",
- "client_id": "5b3fa7ba-57d3-4017-a65b-d57dcd2db643",
- "created_at": "2020-01-02T11:24:35Z",
- "updated_at": "2020-01-02T11:24:35Z"
}
}
An activity is a service that your company performs or an operation that is needed to produce an item.
vPlan has three types of activities:
An activity can only be performed by resources of the same type.
Activities are used in:
To be able to plan an order you will need to set up a board within vPlan, with stages connected to specific activities. See Create planboard in our support documentation.
Retrieve the Activity List
sort | |
limit | integer >= 1 Default: 100 Example: limit=50 maximum number of records given, see pagination for more info |
offset | integer >= 0 Default: 0 Example: offset=0 the number of records to be skipped, see pagination for more info |
filter | string Example: filter=created_at:gt:2020-09-26,and,(id:not:starts_with:0000,or,id:contains:FFFF) used to filter the dataset, see filtering for more info |
show | string Example: show=id,updated_at limit the response to show only specific properties, see slimmed down result for more info |
hide | string Example: hide=created_at,updated_at hide properties from the response, see slimmed down result for more info |
archived | boolean Default: false per default archived objects are not returned, use this parameter to include archived objects. combine with filter parameter to return only archived results |
with | Array of strings Items Enum: "resources" "time_tracking" object(s) included in the dataset, see eager loading for more info. Possible options are:
|
ETag | string <md5> Example: "62a232916ac3a2f395791c108c295e8d" Entity Tag, used for caching |
X-REFERENCE | string <uuid> Example: "05cad843-4214-4537-9010-90a7c3ba91f1" Reference Tag, used for internal tracing and debugging of the request |
count | integer Total number of items that can be retrieved with respect of given filters |
offset | integer Offset of the result |
limit | integer Limit the number of results |
Array of objects (Activity) |
{- "count": 1,
- "offset": 0,
- "limit": 100,
- "data": [
- {
- "id": "cc6fa5e0-0fd1-11e7-8911-02420a0a000f",
- "resource_type": "employee",
- "code": "PNT",
- "description": "Paint it black",
- "default_duration": 120,
- "external_ref": "fb1033a2ed70",
- "created_at": "2020-01-02T11:24:35Z",
- "updated_at": "2020-01-02T11:24:35Z",
- "archived_at": "2021-07-06T11:24:35Z"
}
]
}
Create a new Activity and store it
show | string Example: show=id,updated_at limit the response to show only specific properties, see slimmed down result for more info |
hide | string Example: hide=created_at,updated_at hide properties from the response, see slimmed down result for more info |
Activity to create
code required | string |
description required | string |
resource_type | string (ResourceType) Enum: "employee" "machine" "cell" |
default_duration | integer default duration in minutes,
used if an Activity is added to a Collection without |
external_ref | string (ExternalRef) Third-party reference of the object, for informational purposes only |
archive | boolean true will archive an object, false will unarchive an object, regardless of current state |
{- "resource_type": "employee",
- "code": "PNT",
- "description": "Paint it black",
- "default_duration": 120,
- "external_ref": "fb1033a2ed70",
- "archive": false
}
{- "id": "cc6fa5e0-0fd1-11e7-8911-02420a0a000f",
- "resource_type": "employee",
- "code": "PNT",
- "description": "Paint it black",
- "default_duration": 120,
- "external_ref": "fb1033a2ed70",
- "created_at": "2020-01-02T11:24:35Z",
- "updated_at": "2020-01-02T11:24:35Z",
- "archived_at": "2021-07-06T11:24:35Z"
}
Retrieve a single Activity
activity_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: cc6fa5e0-0fd1-11e7-8911-02420a0a000f The Activity ID |
show | string Example: show=id,updated_at limit the response to show only specific properties, see slimmed down result for more info |
hide | string Example: hide=created_at,updated_at hide properties from the response, see slimmed down result for more info |
with | Array of strings Items Enum: "resources" "time_tracking" object(s) included in the dataset, see eager loading for more info. Possible options are:
|
ETag | string <md5> Example: "62a232916ac3a2f395791c108c295e8d" Entity Tag, used for caching |
id | string <uuid> /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Unique identifier |
resource_type | string (ResourceType) Enum: "employee" "machine" "cell" |
code | string |
description | string |
default_duration | integer default duration in minutes,
used if an Activity is added to a Collection without |
external_ref | string (ExternalRef) Third-party reference of the object, for informational purposes only |
created_at | string <date-time> Creation date / time |
updated_at | string <date-time> Update date / time |
archived_at | string <date-time> date / time that the object is archived |
{- "id": "cc6fa5e0-0fd1-11e7-8911-02420a0a000f",
- "resource_type": "employee",
- "code": "PNT",
- "description": "Paint it black",
- "default_duration": 120,
- "external_ref": "fb1033a2ed70",
- "created_at": "2020-01-02T11:24:35Z",
- "updated_at": "2020-01-02T11:24:35Z",
- "archived_at": "2021-07-06T11:24:35Z"
}
Update a single Activity
activity_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: cc6fa5e0-0fd1-11e7-8911-02420a0a000f The Activity ID |
code required | string |
description required | string |
resource_type | string (ResourceType) Enum: "employee" "machine" "cell" |
default_duration | integer default duration in minutes,
used if an Activity is added to a Collection without |
external_ref | string (ExternalRef) Third-party reference of the object, for informational purposes only |
archive | boolean true will archive an object, false will unarchive an object, regardless of current state |
{- "resource_type": "employee",
- "code": "PNT",
- "description": "Paint it black",
- "default_duration": 120,
- "external_ref": "fb1033a2ed70",
- "archive": false
}
{- "reference": "689fba08-56b0-468c-ad97-809e7dab8a45",
- "errors": [
- {
- "code": 401,
- "message": "Unauthorized",
- "reference": "689fba08-56b0-468c-ad97-809e7dab8a45",
- "timestamp": "2020-01-02T11:24:35.000Z"
}
]
}
Remove a single Activity
activity_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: cc6fa5e0-0fd1-11e7-8911-02420a0a000f The Activity ID |
{- "reference": "689fba08-56b0-468c-ad97-809e7dab8a45",
- "errors": [
- {
- "code": 401,
- "message": "Unauthorized",
- "reference": "689fba08-56b0-468c-ad97-809e7dab8a45",
- "timestamp": "2020-01-02T11:24:35.000Z"
}
]
}
A Board is the place where activities are organized and where a team works together.
A Board with it's Stages represents the process steps a Collection will go through.
Within vPlan Collections are planned on a Board. That will result into one or more Cards with the details of the activities that need to be performed.
Retrieve the Board List
sort | |
limit | integer >= 1 Default: 100 Example: limit=50 maximum number of records given, see pagination for more info |
offset | integer >= 0 Default: 0 Example: offset=0 the number of records to be skipped, see pagination for more info |
filter | string Example: filter=created_at:gt:2020-09-26,and,(id:not:starts_with:0000,or,id:contains:FFFF) used to filter the dataset, see filtering for more info |
show | string Example: show=id,updated_at limit the response to show only specific properties, see slimmed down result for more info |
hide | string Example: hide=created_at,updated_at hide properties from the response, see slimmed down result for more info |
archived | boolean Default: false per default archived objects are not returned, use this parameter to include archived objects. combine with filter parameter to return only archived results |
include | Array of strings Items Enum: "automations" "entry_status" object(s) included in the dataset, see eager loading for more info. Possible options are:
|
with | Array of strings Items Enum: "checklists" "collections" "labels" "resources" "restricted_users" "stages" "statuses" object(s) included in the dataset, see eager loading for more info. Possible options are:
|
ETag | string <md5> Example: "62a232916ac3a2f395791c108c295e8d" Entity Tag, used for caching |
X-REFERENCE | string <uuid> Example: "05cad843-4214-4537-9010-90a7c3ba91f1" Reference Tag, used for internal tracing and debugging of the request |
count | integer Total number of items that can be retrieved with respect of given filters |
offset | integer Offset of the result |
limit | integer Limit the number of results |
Array of objects (Board) |
{- "count": 1,
- "offset": 0,
- "limit": 100,
- "data": [
- {
- "id": "4566d4f4-c0fa-4c72-a0ec-4e208affaaf5",
- "name": "Production Process",
- "method": "activity",
- "workdays": {
- "1": true,
- "2": true,
- "3": true,
- "4": true,
- "5": true,
- "6": false,
- "7": false
}, - "custom_fields": [
- {
- "name": "weight",
- "type": "number",
- "priority": 0,
- "options": {
- "unit": "kg",
- "align": "right",
- "decimals": 2
}
}
], - "color": "transparent",
- "created_at": "2020-01-02T11:24:35Z",
- "updated_at": "2020-01-02T11:24:35Z",
- "archived_at": "2021-07-06T11:24:35Z"
}
]
}
Create a new Board and store it
show | string Example: show=id,updated_at limit the response to show only specific properties, see slimmed down result for more info |
hide | string Example: hide=created_at,updated_at hide properties from the response, see slimmed down result for more info |
Board to create
name required | string |
method | string Default: "activity" Enum: "activity" "percentage" Defines how planning a collection interacts with the Stages of a Board.
|
object Default: "[object Object]" Days of the week that are considered workdays | |
Array of objects Predefined custom fields useable for Collections in that Board
| |
color | string (ColorType) Enum: "transparent" "red" "pink" "purple" "blue" "green" "yellow" "orange" "brown" "grey" |
archive | boolean true will archive an object, false will unarchive an object, regardless of current state |
Array of objects (StatusCreate) >= 2 items Default: "[object Object],[object Object],[object Object]" Statusses available for the collections planned on this board | |
Array of objects (LabelCreate) labels that can be used with the Board |
{- "name": "Production Process",
- "method": "activity",
- "workdays": {
- "1": true,
- "2": true,
- "3": true,
- "4": true,
- "5": true,
- "6": false,
- "7": false
}, - "custom_fields": [
- {
- "name": "weight",
- "type": "number",
- "priority": 0,
- "options": {
- "unit": "kg",
- "align": "right",
- "decimals": 2
}
}
], - "color": "transparent",
- "archive": false,
- "statuses": [
- {
- "name": "Open",
- "color": "transparent",
- "priority": 0
}, - {
- "name": "In progress",
- "color": "blue",
- "priority": 1
}, - {
- "name": "Done",
- "color": "green",
- "priority": 2
}
], - "labels": [
- {
- "id": "f60e9146-7755-42dc-a13b-6f9a79f12907",
- "name": "string",
- "color": "transparent"
}
]
}
{- "id": "4566d4f4-c0fa-4c72-a0ec-4e208affaaf5",
- "name": "Production Process",
- "method": "activity",
- "workdays": {
- "1": true,
- "2": true,
- "3": true,
- "4": true,
- "5": true,
- "6": false,
- "7": false
}, - "custom_fields": [
- {
- "name": "weight",
- "type": "number",
- "priority": 0,
- "options": {
- "unit": "kg",
- "align": "right",
- "decimals": 2
}
}
], - "color": "transparent",
- "created_at": "2020-01-02T11:24:35Z",
- "updated_at": "2020-01-02T11:24:35Z",
- "archived_at": "2021-07-06T11:24:35Z"
}
Retrieve a single Board
board_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: 4566d4f4-c0fa-4c72-a0ec-4e208affaaf5 The Board ID |
show | string Example: show=id,updated_at limit the response to show only specific properties, see slimmed down result for more info |
hide | string Example: hide=created_at,updated_at hide properties from the response, see slimmed down result for more info |
include | Array of strings Items Enum: "automations" "entry_status" object(s) included in the dataset, see eager loading for more info. Possible options are:
|
with | Array of strings Items Enum: "checklists" "collections" "labels" "resources" "restricted_users" "stages" "statuses" object(s) included in the dataset, see eager loading for more info. Possible options are:
|
ETag | string <md5> Example: "62a232916ac3a2f395791c108c295e8d" Entity Tag, used for caching |
id | string <uuid> /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Unique identifier |
name | string |
method | string Default: "activity" Enum: "activity" "percentage" Defines how planning a collection interacts with the Stages of a Board.
|
object Days of the week that are considered workdays | |
Array of objects Predefined custom fields useable for Collections in that Board
| |
color | string (ColorType) Enum: "transparent" "red" "pink" "purple" "blue" "green" "yellow" "orange" "brown" "grey" |
created_at | string <date-time> Creation date / time |
updated_at | string <date-time> Update date / time |
archived_at | string <date-time> date / time that the object is archived |
{- "id": "4566d4f4-c0fa-4c72-a0ec-4e208affaaf5",
- "name": "Production Process",
- "method": "activity",
- "workdays": {
- "1": true,
- "2": true,
- "3": true,
- "4": true,
- "5": true,
- "6": false,
- "7": false
}, - "custom_fields": [
- {
- "name": "weight",
- "type": "number",
- "priority": 0,
- "options": {
- "unit": "kg",
- "align": "right",
- "decimals": 2
}
}
], - "color": "transparent",
- "created_at": "2020-01-02T11:24:35Z",
- "updated_at": "2020-01-02T11:24:35Z",
- "archived_at": "2021-07-06T11:24:35Z"
}
Update a single Board
board_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: 4566d4f4-c0fa-4c72-a0ec-4e208affaaf5 The Board ID |
name | string |
method | string Default: "activity" Enum: "activity" "percentage" Defines how planning a collection interacts with the Stages of a Board.
|
object Days of the week that are considered workdays | |
Array of objects Predefined custom fields useable for Collections in that Board
| |
color | string (ColorType) Enum: "transparent" "red" "pink" "purple" "blue" "green" "yellow" "orange" "brown" "grey" |
archive | boolean true will archive an object, false will unarchive an object, regardless of current state |
Array of StatusCreate (object) or StatusUpdate (object) >= 2 items Statusses available for the collections planned on this board
| |
Array of objects Change the order of the stages | |
Array of LabelCreate (object) or LabelUpdate (object) labels that can be used with the Board | |
Array of objects (BoardResource) the capacity for the resources per stage |
{- "name": "Production Process",
- "method": "activity",
- "workdays": {
- "1": true,
- "2": true,
- "3": true,
- "4": true,
- "5": true,
- "6": false,
- "7": false
}, - "custom_fields": [
- {
- "name": "weight",
- "type": "number",
- "priority": 0,
- "options": {
- "unit": "kg",
- "align": "right",
- "decimals": 2
}
}
], - "color": "transparent",
- "archive": false,
- "statuses": [
- {
- "id": "be885fcf-8714-497e-9fbb-37a4b68f091d",
- "color": "transparent",
- "priority": 0
}, - {
- "id": "5baa72cf-1c13-4391-af7e-cfd2b5e144d6",
- "name": "Assembled",
- "priority": 1
}, - {
- "name": "Quality",
- "color": "red",
- "priority": 2
}
], - "stages": [
- {
- "id": "1ce1e25a-b64d-46d1-b38a-e05fd5717ac0"
}
], - "labels": [
- {
- "id": "f60e9146-7755-42dc-a13b-6f9a79f12907",
- "name": "string",
- "color": "transparent"
}
], - "resources": [
- {
- "id": "a225c108-a6ca-4343-8e10-fe10c841a688",
- "stages": [
- {
- "id": "1ce1e25a-b64d-46d1-b38a-e05fd5717ac0",
- "percentage": 75,
- "active": true
}
]
}
]
}
{- "reference": "689fba08-56b0-468c-ad97-809e7dab8a45",
- "errors": [
- {
- "code": 401,
- "message": "Unauthorized",
- "reference": "689fba08-56b0-468c-ad97-809e7dab8a45",
- "timestamp": "2020-01-02T11:24:35.000Z"
}
]
}
Remove a single Board
board_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: 4566d4f4-c0fa-4c72-a0ec-4e208affaaf5 The Board ID |
{- "reference": "689fba08-56b0-468c-ad97-809e7dab8a45",
- "errors": [
- {
- "code": 401,
- "message": "Unauthorized",
- "reference": "689fba08-56b0-468c-ad97-809e7dab8a45",
- "timestamp": "2020-01-02T11:24:35.000Z"
}
]
}
There is no direct endpoint for interacting with a Label.
Labels can added or changed via the Board object.
id | string <uuid> Unique identifier of Label |
board_id | string <uuid> Unique identifier of the Board |
name | string |
color | string (ColorType) Enum: "transparent" "red" "pink" "purple" "blue" "green" "yellow" "orange" "brown" "grey" |
created_at | string <date-time> Creation date / time |
updated_at | string <date-time> Update date / time |
{- "id": "f60e9146-7755-42dc-a13b-6f9a79f12907",
- "board_id": "4566d4f4-c0fa-4c72-a0ec-4e208affaaf5",
- "name": "string",
- "color": "transparent",
- "created_at": "2020-01-02T11:24:35Z",
- "updated_at": "2020-01-02T11:24:35Z"
}
There is no direct endpoint for interacting with a Status.
Statusses can added or changed via the Board object.
id | string <uuid> Unique identifier of Status |
board_id | string <uuid> Unique identifier of the Board |
name | string |
color | string (ColorType) Enum: "transparent" "red" "pink" "purple" "blue" "green" "yellow" "orange" "brown" "grey" |
priority | integer Priority used for sorting this object |
entry | boolean switch to show if this is the first status in a board |
exit | boolean switch to show if this is the last status in a board |
created_at | string <date-time> Creation date / time |
updated_at | string <date-time> Update date / time |
{- "id": "be885fcf-8714-497e-9fbb-37a4b68f091d",
- "board_id": "4566d4f4-c0fa-4c72-a0ec-4e208affaaf5",
- "name": "Open",
- "color": "transparent",
- "priority": 0,
- "entry": true,
- "exit": false,
- "created_at": "2020-01-02T11:24:35Z",
- "updated_at": "2020-01-02T11:24:35Z"
}
A collection represents a task, order, project, etc to be performed.
It can be created on it self, or by creating an Order.
A collection in the backlog or archive will have no Cards. A collection that is planned on a board must have cards.
When planning a collection to a board, vPlan will create one or more cards, depending on the collection details and board settings.
Retrieve the Collection List
sort | |
limit | integer >= 1 Default: 100 Example: limit=50 maximum number of records given, see pagination for more info |
offset | integer >= 0 Default: 0 Example: offset=0 the number of records to be skipped, see pagination for more info |
filter | string Example: filter=created_at:gt:2020-09-26,and,(id:not:starts_with:0000,or,id:contains:FFFF) used to filter the dataset, see filtering for more info |
show | string Example: show=id,updated_at limit the response to show only specific properties, see slimmed down result for more info |
hide | string Example: hide=created_at,updated_at hide properties from the response, see slimmed down result for more info |
include | Array of strings Items Value: "source" object(s) included in the dataset, see eager loading for more info. Possible options are:
|
with | Array of strings Items Enum: "activities" "attachments" "cards" "comments" "labels" "order" "followers" "checklists" object(s) included in the dataset, see eager loading for more info. Possible options are:
|
ETag | string <md5> Example: "62a232916ac3a2f395791c108c295e8d" Entity Tag, used for caching |
X-REFERENCE | string <uuid> Example: "05cad843-4214-4537-9010-90a7c3ba91f1" Reference Tag, used for internal tracing and debugging of the request |
count | integer Total number of items that can be retrieved with respect of given filters |
offset | integer Offset of the result |
limit | integer Limit the number of results |
Array of objects (Collection) |
{- "count": 1,
- "offset": 0,
- "limit": 100,
- "data": [
- {
- "id": "4197da95-9298-41bc-9292-1215211619c2",
- "board_id": "2661543f-47b3-4eaf-9728-723049764015",
- "custom_fields": [
- {
- "name": "Carrier",
- "type": "text",
- "priority": 0,
- "value": "DHL"
}, - {
- "name": "Amount",
- "type": "number",
- "priority": 1,
- "value": 3
}, - {
- "name": "Delivery date",
- "type": "date",
- "priority": 2,
- "value": "2019-01-01"
}, - {
- "name": "Deliverd",
- "type": "checkbox",
- "priority": 3,
- "value": true
}, - {
- "name": "Customer email",
- "type": "email",
- "priority": 4,
- "value": "info@customer.com"
}, - {
- "name": "Tracking url",
- "type": "link",
- "priority": 5,
}, - {
- "name": "Customer phone",
- "type": "phone",
- "priority": 6,
- "value": "+31 612345678"
}
], - "description": "3x Chair Lissabon",
- "due_date": "2020-01-02",
- "end": "2020-08-13",
- "external_ref": "fb1033a2ed70",
- "name": "Order 10199",
- "meta": {
- "bar": "foo",
- "baz": "quux"
}, - "position": 13,
- "source_type": "custom",
- "start": "2020-01-02",
- "status": "not_planned",
- "progress": "open",
- "created_at": "2020-01-02T11:24:35Z",
- "updated_at": "2020-01-02T11:24:35Z"
}
]
}
Create a new Collection and store it
show | string Example: show=id,updated_at limit the response to show only specific properties, see slimmed down result for more info |
hide | string Example: hide=created_at,updated_at hide properties from the response, see slimmed down result for more info |
Collection to create
name required | string |
board_id | string <uuid> Can be use to directly plan a collection an a Board, an array of cards is required next to this. With |
Array of objects (Card) array of Cards
| |
Array of text (object) or numbers (object) or date (object) or checkbox (object) or email (object) or link (object) or phone (object) Custom field objects | |
description | string |
due_date | string <date> |
external_ref | string (ExternalRef) Third-party reference of the object, for informational purposes only |
position | integer Position in the backlog |
status | string Enum: "planned" "not_planned" "ignored" status of the collection
|
Array of objects activities that need to be performed for this collection
| |
Array of objects labels for this collection When a Collection is planned these labels are added on every Card created. |
{- "board_id": "2661543f-47b3-4eaf-9728-723049764015",
- "custom_fields": [
- {
- "name": "Carrier",
- "type": "text",
- "priority": 0,
- "value": "DHL"
}, - {
- "name": "Amount",
- "type": "number",
- "priority": 1,
- "value": 3
}, - {
- "name": "Delivery date",
- "type": "date",
- "priority": 2,
- "value": "2019-01-01"
}, - {
- "name": "Deliverd",
- "type": "checkbox",
- "priority": 3,
- "value": true
}, - {
- "name": "Customer email",
- "type": "email",
- "priority": 4,
- "value": "info@customer.com"
}, - {
- "name": "Tracking url",
- "type": "link",
- "priority": 5,
}, - {
- "name": "Customer phone",
- "type": "phone",
- "priority": 6,
- "value": "+31 612345678"
}
], - "description": "3x Chair Lissabon",
- "due_date": "2020-01-02",
- "external_ref": "fb1033a2ed70",
- "name": "Order 10199",
- "position": 13,
- "status": "not_planned",
- "activities": [
- {
- "id": "cc6fa5e0-0fd1-11e7-8911-02420a0a000f",
- "time": 300,
- "time_remaining": 180
}
], - "labels": [
- {
- "id": "1411b6d2-e93d-4034-bfe8-c484fc9e9676"
}
]
}
{- "id": "4197da95-9298-41bc-9292-1215211619c2",
- "board_id": "2661543f-47b3-4eaf-9728-723049764015",
- "custom_fields": [
- {
- "name": "Carrier",
- "type": "text",
- "priority": 0,
- "value": "DHL"
}, - {
- "name": "Amount",
- "type": "number",
- "priority": 1,
- "value": 3
}, - {
- "name": "Delivery date",
- "type": "date",
- "priority": 2,
- "value": "2019-01-01"
}, - {
- "name": "Deliverd",
- "type": "checkbox",
- "priority": 3,
- "value": true
}, - {
- "name": "Customer email",
- "type": "email",
- "priority": 4,
- "value": "info@customer.com"
}, - {
- "name": "Tracking url",
- "type": "link",
- "priority": 5,
}, - {
- "name": "Customer phone",
- "type": "phone",
- "priority": 6,
- "value": "+31 612345678"
}
], - "description": "3x Chair Lissabon",
- "due_date": "2020-01-02",
- "end": "2020-08-13",
- "external_ref": "fb1033a2ed70",
- "name": "Order 10199",
- "meta": {
- "bar": "foo",
- "baz": "quux"
}, - "position": 13,
- "source_type": "custom",
- "start": "2020-01-02",
- "status": "not_planned",
- "progress": "open",
- "created_at": "2020-01-02T11:24:35Z",
- "updated_at": "2020-01-02T11:24:35Z"
}
Retrieve a single Collection
collection_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: 4197da95-9298-41bc-9292-1215211619c2 The collection ID |
show | string Example: show=id,updated_at limit the response to show only specific properties, see slimmed down result for more info |
hide | string Example: hide=created_at,updated_at hide properties from the response, see slimmed down result for more info |
include | Array of strings Items Value: "source" object(s) included in the dataset, see eager loading for more info. Possible options are:
|
with | Array of strings Items Enum: "activities" "attachments" "cards" "comments" "labels" "order" "followers" "checklists" object(s) included in the dataset, see eager loading for more info. Possible options are:
|
ETag | string <md5> Example: "62a232916ac3a2f395791c108c295e8d" Entity Tag, used for caching |
id required | string <uuid> /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Unique identifier |
board_id | string <uuid> The Board the Collection is planned on |
Array of text (object) or numbers (object) or date (object) or checkbox (object) or email (object) or link (object) or phone (object) Custom field objects | |
description | string |
due_date | string <date> |
end | string <date> latest date from its Cards |
external_ref | string (ExternalRef) Third-party reference of the object, for informational purposes only |
name | string |
object hashmap with additional information for the collection, received via Order | |
position | integer Position in the backlog |
source_type | string Enum: "custom" "order" "clone" states if the collection is created directly (custom), by cloning a collection or via an Order |
start | string <date> earliest date from its Cards |
status | string Enum: "planned" "not_planned" "ignored" status of the collection
|
progress | string Enum: "open" "partial" "done" progress of the cards within the collection
|
created_at | string <date-time> Creation date / time |
updated_at | string <date-time> Update date / time |
{- "id": "4197da95-9298-41bc-9292-1215211619c2",
- "board_id": "2661543f-47b3-4eaf-9728-723049764015",
- "custom_fields": [
- {
- "name": "Carrier",
- "type": "text",
- "priority": 0,
- "value": "DHL"
}, - {
- "name": "Amount",
- "type": "number",
- "priority": 1,
- "value": 3
}, - {
- "name": "Delivery date",
- "type": "date",
- "priority": 2,
- "value": "2019-01-01"
}, - {
- "name": "Deliverd",
- "type": "checkbox",
- "priority": 3,
- "value": true
}, - {
- "name": "Customer email",
- "type": "email",
- "priority": 4,
- "value": "info@customer.com"
}, - {
- "name": "Tracking url",
- "type": "link",
- "priority": 5,
}, - {
- "name": "Customer phone",
- "type": "phone",
- "priority": 6,
- "value": "+31 612345678"
}
], - "description": "3x Chair Lissabon",
- "due_date": "2020-01-02",
- "end": "2020-08-13",
- "external_ref": "fb1033a2ed70",
- "name": "Order 10199",
- "meta": {
- "bar": "foo",
- "baz": "quux"
}, - "position": 13,
- "source_type": "custom",
- "start": "2020-01-02",
- "status": "not_planned",
- "progress": "open",
- "created_at": "2020-01-02T11:24:35Z",
- "updated_at": "2020-01-02T11:24:35Z"
}
Update a single Collection
collection_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: 4197da95-9298-41bc-9292-1215211619c2 The collection ID |
board_id | string <uuid> The Board the Collection is planned on |
Array of text (object) or numbers (object) or date (object) or checkbox (object) or email (object) or link (object) or phone (object) Custom field objects | |
description | string
|
due_date | string <date> |
external_ref | string (ExternalRef) Third-party reference of the object, for informational purposes only |
name | string
|
position | integer Position in the backlog |
status | string Enum: "planned" "not_planned" "ignored" status of the collection
|
Array of objects activities that need to be performed for this collection
| |
Array of objects labels for this collection When a Collection is planned these labels are added on every Card created. |
{- "board_id": "2661543f-47b3-4eaf-9728-723049764015",
- "custom_fields": [
- {
- "name": "Carrier",
- "type": "text",
- "priority": 0,
- "value": "DHL"
}, - {
- "name": "Amount",
- "type": "number",
- "priority": 1,
- "value": 3
}, - {
- "name": "Delivery date",
- "type": "date",
- "priority": 2,
- "value": "2019-01-01"
}, - {
- "name": "Deliverd",
- "type": "checkbox",
- "priority": 3,
- "value": true
}, - {
- "name": "Customer email",
- "type": "email",
- "priority": 4,
- "value": "info@customer.com"
}, - {
- "name": "Tracking url",
- "type": "link",
- "priority": 5,
}, - {
- "name": "Customer phone",
- "type": "phone",
- "priority": 6,
- "value": "+31 612345678"
}
], - "description": null,
- "due_date": "2020-01-02",
- "external_ref": "fb1033a2ed70",
- "name": null,
- "position": 13,
- "status": "not_planned",
- "activities": [
- {
- "id": "cc6fa5e0-0fd1-11e7-8911-02420a0a000f",
- "time": 300,
- "time_remaining": 180
}
], - "labels": [
- {
- "id": "1411b6d2-e93d-4034-bfe8-c484fc9e9676"
}
]
}
{- "reference": "689fba08-56b0-468c-ad97-809e7dab8a45",
- "errors": [
- {
- "code": 401,
- "message": "Unauthorized",
- "reference": "689fba08-56b0-468c-ad97-809e7dab8a45",
- "timestamp": "2020-01-02T11:24:35.000Z"
}
]
}
Remove a single Collection
note
If the source_type of a Collection is
order
, this will change the status toignored
and remove the Collection from a board or backlog, but the Collection will still exist.For complete removal remove the single order connected to the Collection.
collection_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: 4197da95-9298-41bc-9292-1215211619c2 The collection ID |
{- "reference": "689fba08-56b0-468c-ad97-809e7dab8a45",
- "errors": [
- {
- "code": 401,
- "message": "Unauthorized",
- "reference": "689fba08-56b0-468c-ad97-809e7dab8a45",
- "timestamp": "2020-01-02T11:24:35.000Z"
}
]
}
Move planned Collection to Backlog
collection_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: 4197da95-9298-41bc-9292-1215211619c2 The collection ID |
position | integer Position in the backlog |
related_collections | Array of strings <uuid> |
{- "position": 13,
- "related_collections": [
- "6c266875-53a4-4e13-8351-91eb87e0a0c6",
- "a49d3a2f-e463-4f09-a178-2139a06d461f"
]
}
{- "reference": "689fba08-56b0-468c-ad97-809e7dab8a45",
- "errors": [
- {
- "code": 401,
- "message": "Unauthorized",
- "reference": "689fba08-56b0-468c-ad97-809e7dab8a45",
- "timestamp": "2020-01-02T11:24:35.000Z"
}
]
}
Move a not planned collection to Board and create Cards accordingly
note
creating cards is an asynchronous process, new cards are almost but not instantly created
collection_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: 4197da95-9298-41bc-9292-1215211619c2 The collection ID |
board_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: 2661543f-47b3-4eaf-9728-723049764015 The board ID |
show | string Example: show=id,updated_at limit the response to show only specific properties, see slimmed down result for more info |
hide | string Example: hide=created_at,updated_at hide properties from the response, see slimmed down result for more info |
Details used for planning the Collection
date | string <date> Date for the first created card |
force_stages | Array of strings <uuid> |
position | integer Position for the first created card |
resources | Array of strings <uuid> Resources added to the first created card |
reverse | boolean |
stage_id | string <uuid> Stage for the first created card |
status_id | string <uuid> Status of the first card to be created |
{- "date": "2019-08-24",
- "force_stages": [
- "1ce1e25a-b64d-46d1-b38a-e05fd5717ac0",
- "86bd3ad5-4d76-4aa3-a15a-b0bf0c62d87d",
- "c8d4b144-a29f-480e-a28d-251f5cd8a477"
], - "position": 13,
- "resources": [
- "a225c108-a6ca-4343-8e10-fe10c841a688",
- "d55ca612-5eab-4153-990a-7f7e059b184e",
- "90a8e6da-6bc6-4ff8-95d7-ee73b0908928"
], - "reverse": true,
- "stage_id": "1ce1e25a-b64d-46d1-b38a-e05fd5717ac0",
- "status_id": "3c9fceef-c7ae-4bff-8450-f1a7b4dd47d8"
}
{- "id": "4197da95-9298-41bc-9292-1215211619c2",
- "board_id": "2661543f-47b3-4eaf-9728-723049764015",
- "custom_fields": [
- {
- "name": "Carrier",
- "type": "text",
- "priority": 0,
- "value": "DHL"
}, - {
- "name": "Amount",
- "type": "number",
- "priority": 1,
- "value": 3
}, - {
- "name": "Delivery date",
- "type": "date",
- "priority": 2,
- "value": "2019-01-01"
}, - {
- "name": "Deliverd",
- "type": "checkbox",
- "priority": 3,
- "value": true
}, - {
- "name": "Customer email",
- "type": "email",
- "priority": 4,
- "value": "info@customer.com"
}, - {
- "name": "Tracking url",
- "type": "link",
- "priority": 5,
}, - {
- "name": "Customer phone",
- "type": "phone",
- "priority": 6,
- "value": "+31 612345678"
}
], - "description": "3x Chair Lissabon",
- "due_date": "2020-01-02",
- "end": "2020-08-13",
- "external_ref": "fb1033a2ed70",
- "name": "Order 10199",
- "meta": {
- "bar": "foo",
- "baz": "quux"
}, - "position": 13,
- "source_type": "custom",
- "start": "2020-01-02",
- "status": "planned",
- "progress": "open",
- "created_at": "2020-01-02T11:24:35Z",
- "updated_at": "2020-01-02T11:24:35Z"
}
An attachment can be one of the following:
The files uploaded are stored at our FS service. For the best experience, it is expected that links to an external system are accessable from any device or location.
In order to update an attachment it is currently required to first remove the old Attachment, and then add the new one.
Retrieve the Attachment List for this collection
collection_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: 4197da95-9298-41bc-9292-1215211619c2 The collection ID |
sort | |
limit | integer >= 1 Default: 100 Example: limit=50 maximum number of records given, see pagination for more info |
offset | integer >= 0 Default: 0 Example: offset=0 the number of records to be skipped, see pagination for more info |
filter | string Example: filter=created_at:gt:2020-09-26,and,(id:not:starts_with:0000,or,id:contains:FFFF) used to filter the dataset, see filtering for more info |
show | string Example: show=id,updated_at limit the response to show only specific properties, see slimmed down result for more info |
hide | string Example: hide=created_at,updated_at hide properties from the response, see slimmed down result for more info |
with | Array of strings Items Value: "collection" object(s) included in the dataset, see eager loading for more info. Possible options are: |
ETag | string <md5> Example: "62a232916ac3a2f395791c108c295e8d" Entity Tag, used for caching |
id | string <uuid> /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Unique identifier |
filename | string Filename of the attachment |
file | string <uri> URI the file can be accessed on
|
type | string (AttachmentType) Enum: "other" "fs.mostwanted.io" Signifies wether the url given is from our FS service or has another source. |
checksum | string <sha256> Checksum of the file. This checksum is a SHA-256 hash of the contents of the file. |
signature | string Signature of the file, required for FS related url's, otherwise for informational purposes |
bytes | integer >= 0 Size of the attachment in bytes |
thumbnail | string <uri> URL the thumbnail can be accessed on.
|
thumbnail_type | string (AttachmentType) Enum: "other" "fs.mostwanted.io" Signifies wether the url given is from our FS service or has another source. |
thumbnail_checksum | string <sha256> Checksum of the thumbnail. This checksum is a SHA-256 hash of the contents of the thumbnail. |
thumbnail_signature | string Signature of the thumbnail, required for FS related url's, otherwise for informational purposes |
thumbnail_bytes | integer >= 0 Size of the attachment in bytes |
{- "id": "30317abe-987d-4f78-a427-93d129741c13",
- "filename": "lipsum.txt",
- "type": "fs.mostwanted.io",
- "checksum": "3630ccb1379f1c410387dfd29a3ba6d11ae83ce38af3487d2989383bf7cfbcb0",
- "signature": "uBMsNEx4",
- "bytes": 29,
- "thumbnail_type": "fs.mostwanted.io",
- "thumbnail_checksum": "5279359415ec6f2750f46d76d55c901b2f49ade2a6c7747f92cece3dca39ef22",
- "thumbnail_signature": "hmf6UqKj",
- "thumbnail_bytes": 2879
}
Upload a file as a new Attachment and store it for this collection
The files are stored at our FS service.
note
With large files or files stored at a document management system like SharePoint, we highly recommend using Add New Attachment Link
warning
This endpoint does not support a base64 encoded upload.
For file upload we only support multipart/form-data.
Because oAuth is authenticated by a user, this is the user creating this attachment. For integrations that are not user specific, customers are advised to create a separate user specifically for this integration.
collection_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: 4197da95-9298-41bc-9292-1215211619c2 The collection ID |
show | string Example: show=id,updated_at limit the response to show only specific properties, see slimmed down result for more info |
hide | string Example: hide=created_at,updated_at hide properties from the response, see slimmed down result for more info |
Attachment to create
file required | string <binary> File to be added as attachment.
|
checksum | string Checksum of the file. This checksum is a SHA-256 hash of the contents of the file. If supplied the checksum must correspond with the uploaded file. |
thumbnail | string <binary> Thumbnail of the file. If supplied it must be an image smaller than 1MB. If not supplied and the uploaded file is smaller than 30MB, it will be generated in an asynchronous process. |
thumbnail_checksum | string Checksum of the thumbnail. This checksum is a SHA-256 hash of the contents of the file. If supplied the checksum must correspond with the uploaded thumbnail. |
--__X_SAMPLE_BOUNDARY__ Content-Disposition: form-data; name="file"; filename="some_example.txt" Content-Type: text/plain Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas ornare lacinia lobortis. Praesent laoreet nunc a neque efficitur, dictum semper nibh congue. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aliquam condimentum consequat varius. Vivamus eget odio aliquam, pulvinar quam at, pellentesque risus. Proin ullamcorper, sapien a fringilla lacinia, ligula libero molestie mauris, vitae finibus enim libero non diam. Aliquam erat volutpat. Donec ex lorem, lobortis tempus venenatis sed, laoreet eu augue. Quisque accumsan mi quis ligula faucibus fringilla. Vivamus ut ex a dolor tincidunt tempor. Aenean eu consectetur nisi. Nunc iaculis at nibh quis mollis. Vestibulum placerat magna sed nisl malesuada euismod. In risus nisl, posuere ac mollis at, gravida quis diam. Integer id risus mattis, facilisis purus in, pharetra lectus. Sed tempus mi in gravida molestie. --__X_SAMPLE_BOUNDARY__ Content-Disposition: form-data; name="checksum" 7709576d6e62147707ab36388c23ed96dc8721e503246c6d54fb3556185910c4 --__X_SAMPLE_BOUNDARY__ Content-Disposition: form-data; name="thumbnail"; filename="single_dot.jpg" Content-Type: image/jpeg ÿØÿà JFIF H H ÿÛ C (1#%(:3=<9387@H\N@DWE78PmQW_bghg>Mqypdx\egcÿÛ C//cB8BccccccccccccccccccccccccccccccccccccccccccccccccccÿÂ ÿÄ ÿÄ ÿÚ @ÿÄ ÿÚ ÿÄ ÿÚ ?ÿÄ ÿÚ ?ÿÄ ÿÚ ?ÿÄ ÿÚ ?!ÿÚ ÿÄ ÿÚ ?ÿÄ ÿÚ ?ÿÄ ÿÚ ?ÿÙ --__X_SAMPLE_BOUNDARY__ Content-Disposition: form-data; name="thumbnail_checksum" 639a79f429e70ef2761e19a5ba21c6059b8bd65b182a06d76df454ea6957025d --__X_SAMPLE_BOUNDARY__--
{- "id": "30317abe-987d-4f78-a427-93d129741c13",
- "filename": "lipsum.txt",
- "type": "fs.mostwanted.io",
- "checksum": "3630ccb1379f1c410387dfd29a3ba6d11ae83ce38af3487d2989383bf7cfbcb0",
- "signature": "uBMsNEx4",
- "bytes": 29,
- "thumbnail_type": "fs.mostwanted.io",
- "thumbnail_checksum": "5279359415ec6f2750f46d76d55c901b2f49ade2a6c7747f92cece3dca39ef22",
- "thumbnail_signature": "hmf6UqKj",
- "thumbnail_bytes": 2879
}
Add a link as new Attachment and store it for this collection
Possible usages are:
note
It is expected that links to an external system are accessable from any device or location, especially the mobile apps.
Because oAuth is authenticated by a user, this is the user creating this attachment. For integrations that are not user specific, customers are advised to create a separate user specifically for this integration.
collection_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: 4197da95-9298-41bc-9292-1215211619c2 The collection ID |
show | string Example: show=id,updated_at limit the response to show only specific properties, see slimmed down result for more info |
hide | string Example: hide=created_at,updated_at hide properties from the response, see slimmed down result for more info |
Attachment to create
file required | string <uri> URI the file can be accessed on
|
filename required | string Filename of the attachment |
checksum | string <sha256> Checksum of the file. This checksum is a SHA-256 hash of the contents of the file. |
signature | string Signature of the file, required for FS related url's, otherwise for informational purposes |
bytes | integer >= 0 Size of the attachment in bytes |
thumbnail | string <uri> URL the thumbnail can be accessed on.
|
thumbnail_checksum | string <sha256> Checksum of the thumbnail. This checksum is a SHA-256 hash of the contents of the thumbnail. |
thumbnail_signature | string Signature of the thumbnail, required for FS related url's, otherwise for informational purposes |
thumbnail_bytes | integer >= 0 Size of the attachment in bytes |
{- "filename": "lipsum.txt",
- "checksum": "3630ccb1379f1c410387dfd29a3ba6d11ae83ce38af3487d2989383bf7cfbcb0",
- "signature": "uBMsNEx4",
- "bytes": 29,
- "thumbnail_checksum": "5279359415ec6f2750f46d76d55c901b2f49ade2a6c7747f92cece3dca39ef22",
- "thumbnail_signature": "hmf6UqKj",
- "thumbnail_bytes": 2879
}
{- "id": "30317abe-987d-4f78-a427-93d129741c13",
- "filename": "lipsum.txt",
- "type": "fs.mostwanted.io",
- "checksum": "3630ccb1379f1c410387dfd29a3ba6d11ae83ce38af3487d2989383bf7cfbcb0",
- "signature": "uBMsNEx4",
- "bytes": 29,
- "thumbnail_type": "fs.mostwanted.io",
- "thumbnail_checksum": "5279359415ec6f2750f46d76d55c901b2f49ade2a6c7747f92cece3dca39ef22",
- "thumbnail_signature": "hmf6UqKj",
- "thumbnail_bytes": 2879
}
Retrieve a single Attachment from this collection
collection_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: 4197da95-9298-41bc-9292-1215211619c2 The collection ID |
attachment_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: 30317abe-987d-4f78-a427-93d129741c13 The Attachment ID |
show | string Example: show=id,updated_at limit the response to show only specific properties, see slimmed down result for more info |
hide | string Example: hide=created_at,updated_at hide properties from the response, see slimmed down result for more info |
with | Array of strings Items Value: "collection" object(s) included in the dataset, see eager loading for more info. Possible options are: |
ETag | string <md5> Example: "62a232916ac3a2f395791c108c295e8d" Entity Tag, used for caching |
id | string <uuid> /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Unique identifier |
filename | string Filename of the attachment |
file | string <uri> URI the file can be accessed on
|
type | string (AttachmentType) Enum: "other" "fs.mostwanted.io" Signifies wether the url given is from our FS service or has another source. |
checksum | string <sha256> Checksum of the file. This checksum is a SHA-256 hash of the contents of the file. |
signature | string Signature of the file, required for FS related url's, otherwise for informational purposes |
bytes | integer >= 0 Size of the attachment in bytes |
thumbnail | string <uri> URL the thumbnail can be accessed on.
|
thumbnail_type | string (AttachmentType) Enum: "other" "fs.mostwanted.io" Signifies wether the url given is from our FS service or has another source. |
thumbnail_checksum | string <sha256> Checksum of the thumbnail. This checksum is a SHA-256 hash of the contents of the thumbnail. |
thumbnail_signature | string Signature of the thumbnail, required for FS related url's, otherwise for informational purposes |
thumbnail_bytes | integer >= 0 Size of the attachment in bytes |
{- "id": "30317abe-987d-4f78-a427-93d129741c13",
- "filename": "lipsum.txt",
- "type": "fs.mostwanted.io",
- "checksum": "3630ccb1379f1c410387dfd29a3ba6d11ae83ce38af3487d2989383bf7cfbcb0",
- "signature": "uBMsNEx4",
- "bytes": 29,
- "thumbnail_type": "fs.mostwanted.io",
- "thumbnail_checksum": "5279359415ec6f2750f46d76d55c901b2f49ade2a6c7747f92cece3dca39ef22",
- "thumbnail_signature": "hmf6UqKj",
- "thumbnail_bytes": 2879
}
Remove a single Attachment
note
a attachment can only be removed by the user that added it, or a user with the role administrator
collection_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: 4197da95-9298-41bc-9292-1215211619c2 The collection ID |
attachment_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: 30317abe-987d-4f78-a427-93d129741c13 The Attachment ID |
{- "reference": "689fba08-56b0-468c-ad97-809e7dab8a45",
- "errors": [
- {
- "code": 401,
- "message": "Unauthorized",
- "reference": "689fba08-56b0-468c-ad97-809e7dab8a45",
- "timestamp": "2020-01-02T11:24:35.000Z"
}
]
}
A card is the basic object around which many operations in vPlan are centered. In vPlan the first view of a card shows basic information, when opening the card in vPlan more information and details are shown. A card always belongs to exactly one board.
Retrieve the Card List for this collection
collection_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: 4197da95-9298-41bc-9292-1215211619c2 The collection ID |
sort | |
limit | integer >= 1 Default: 100 Example: limit=50 maximum number of records given, see pagination for more info |
offset | integer >= 0 Default: 0 Example: offset=0 the number of records to be skipped, see pagination for more info |
filter | string Example: filter=created_at:gt:2020-09-26,and,(id:not:starts_with:0000,or,id:contains:FFFF) used to filter the dataset, see filtering for more info |
show | string Example: show=id,updated_at limit the response to show only specific properties, see slimmed down result for more info |
hide | string Example: hide=created_at,updated_at hide properties from the response, see slimmed down result for more info |
include | Array of strings Items Enum: "time_tracking_total" "resource_type_count" "resource_type_time" object(s) included in the dataset, see eager loading for more info. Possible options are:
|
with | Array of strings Items Enum: "activities" "collection" "labels" "resources" "stage" "status" "time" "time_tracking" object(s) included in the dataset, see eager loading for more info. Possible options are:
|
ETag | string <md5> Example: "62a232916ac3a2f395791c108c295e8d" Entity Tag, used for caching |
count | integer Total number of items that can be retrieved with respect of given filters |
offset | integer Offset of the result |
limit | integer Limit the number of results |
Array of objects (Card) |
{- "count": 1,
- "offset": 0,
- "limit": 100,
- "data": [
- {
- "id": "92f8fd27-2ddb-4ca4-b42a-610b9d0349c9",
- "collection_id": "4197da95-9298-41bc-9292-1215211619c2",
- "status_id": "f189bd17-445d-4d78-84ba-b8d845305121",
- "stage_id": "f189bd17-445d-4d78-84ba-b8d845305121",
- "start": "2020-01-02",
- "end": "2020-01-05",
- "position": 13,
- "name": "Painting Order 10199",
- "description": "Painting 3x Chair Lissabon Red",
- "time": 120,
- "created_at": "2020-01-02T11:24:35Z",
- "updated_at": "2020-01-02T11:24:35Z"
}
]
}
Create a new Card and store it for this collection
collection_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: 4197da95-9298-41bc-9292-1215211619c2 The collection ID |
show | string Example: show=id,updated_at limit the response to show only specific properties, see slimmed down result for more info |
hide | string Example: hide=created_at,updated_at hide properties from the response, see slimmed down result for more info |
Card to create
stage_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... |
status_id | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... |
start | string <date> |
end | string <date> |
position | integer Position of the card in a day |
name | string name specific for a Card
|
description | string description specific for a Card
|
Array of objects activities that need to be performed to complete this card | |
Array of objects | |
Array of objects resources that are assigned to this Card |
{- "status_id": "f189bd17-445d-4d78-84ba-b8d845305121",
- "stage_id": "f189bd17-445d-4d78-84ba-b8d845305121",
- "start": "2020-01-02",
- "end": "2020-01-05",
- "position": 13,
- "name": "Painting Order 10199",
- "description": "Painting 3x Chair Lissabon Red",
- "activities": [
- {
- "id": "cc6fa5e0-0fd1-11e7-8911-02420a0a000f",
- "time": 300,
- "time_remaining": 180
}
], - "labels": [
- {
- "id": "1411b6d2-e93d-4034-bfe8-c484fc9e9676"
}
], - "resources": [
- {
- "id": "a225c108-a6ca-4343-8e10-fe10c841a688"
}
]
}
{- "id": "30317abe-987d-4f78-a427-93d129741c13",
- "filename": "lipsum.txt",
- "type": "fs.mostwanted.io",
- "checksum": "3630ccb1379f1c410387dfd29a3ba6d11ae83ce38af3487d2989383bf7cfbcb0",
- "signature": "uBMsNEx4",
- "bytes": 29,
- "thumbnail_type": "fs.mostwanted.io",
- "thumbnail_checksum": "5279359415ec6f2750f46d76d55c901b2f49ade2a6c7747f92cece3dca39ef22",
- "thumbnail_signature": "hmf6UqKj",
- "thumbnail_bytes": 2879
}
Retrieve a single Card from this collection
collection_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: 4197da95-9298-41bc-9292-1215211619c2 The collection ID |
card_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: fbd84744-4c8a-49fb-8764-92f5a85abe3a The card ID |
show | string Example: show=id,updated_at limit the response to show only specific properties, see slimmed down result for more info |
hide | string Example: hide=created_at,updated_at hide properties from the response, see slimmed down result for more info |
include | Array of strings Items Enum: "time_tracking_total" "resource_type_count" "resource_type_time" object(s) included in the dataset, see eager loading for more info. Possible options are:
|
with | Array of strings Items Enum: "activities" "collection" "labels" "resources" "stage" "status" "time" "time_tracking" object(s) included in the dataset, see eager loading for more info. Possible options are:
|
ETag | string <md5> Example: "62a232916ac3a2f395791c108c295e8d" Entity Tag, used for caching |
id | string <uuid> /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Unique identifier |
collection_id | string <uuid> |
status_id | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... |
stage_id | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... |
start | string <date> |
end | string <date> |
position | integer Position of the card in a day |
name | string name specific for a Card
|
description | string description specific for a Card
|
time | integer Duration of the card in minutes |
created_at | string <date-time> Creation date / time |
updated_at | string <date-time> Update date / time |
{- "id": "92f8fd27-2ddb-4ca4-b42a-610b9d0349c9",
- "collection_id": "4197da95-9298-41bc-9292-1215211619c2",
- "status_id": "f189bd17-445d-4d78-84ba-b8d845305121",
- "stage_id": "f189bd17-445d-4d78-84ba-b8d845305121",
- "start": "2020-01-02",
- "end": "2020-01-05",
- "position": 13,
- "name": "Painting Order 10199",
- "description": "Painting 3x Chair Lissabon Red",
- "time": 120,
- "created_at": "2020-01-02T11:24:35Z",
- "updated_at": "2020-01-02T11:24:35Z"
}
Update a single Card
collection_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: 4197da95-9298-41bc-9292-1215211619c2 The collection ID |
card_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: fbd84744-4c8a-49fb-8764-92f5a85abe3a The card ID |
status_id | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... |
stage_id | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... |
start | string <date> |
end | string <date> |
position | integer Position of the card in a day |
name | string name specific for a Card
|
description | string description specific for a Card
|
Array of objects activities that need to be performed to complete this card | |
Array of objects | |
Array of objects resources that are assigned to this Card |
{- "status_id": "f189bd17-445d-4d78-84ba-b8d845305121",
- "stage_id": "f189bd17-445d-4d78-84ba-b8d845305121",
- "start": "2020-01-02",
- "end": "2020-01-05",
- "position": 13,
- "name": "Painting Order 10199",
- "description": "Painting 3x Chair Lissabon Red",
- "activities": [
- {
- "id": "cc6fa5e0-0fd1-11e7-8911-02420a0a000f",
- "time": 300,
- "time_remaining": 180
}
], - "labels": [
- {
- "id": "1411b6d2-e93d-4034-bfe8-c484fc9e9676"
}
], - "resources": [
- {
- "id": "a225c108-a6ca-4343-8e10-fe10c841a688"
}
]
}
{- "reference": "689fba08-56b0-468c-ad97-809e7dab8a45",
- "errors": [
- {
- "code": 401,
- "message": "Unauthorized",
- "reference": "689fba08-56b0-468c-ad97-809e7dab8a45",
- "timestamp": "2020-01-02T11:24:35.000Z"
}
]
}
Remove a single Card
collection_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: 4197da95-9298-41bc-9292-1215211619c2 The collection ID |
card_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: fbd84744-4c8a-49fb-8764-92f5a85abe3a The card ID |
{- "reference": "689fba08-56b0-468c-ad97-809e7dab8a45",
- "errors": [
- {
- "code": 401,
- "message": "Unauthorized",
- "reference": "689fba08-56b0-468c-ad97-809e7dab8a45",
- "timestamp": "2020-01-02T11:24:35.000Z"
}
]
}
Split time of Card into multiple cards
note
splitting cards is an asynchronous process, new cards are almost but not instantly created
collection_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: 4197da95-9298-41bc-9292-1215211619c2 The collection ID |
card_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: fbd84744-4c8a-49fb-8764-92f5a85abe3a The card ID |
reverse | boolean the order of splitting used for moving other cards of the collection |
Array of objects parts used for the creation of new cards |
{- "reverse": 13,
- "date_parts": [
- {
- "date": "2019-08-08",
- "time": 120
}, - {
- "date": "2019-08-12",
- "time": 60
}, - {
- "date": "2019-08-13",
- "time": 90
}
]
}
{- "reference": "689fba08-56b0-468c-ad97-809e7dab8a45",
- "errors": [
- {
- "code": 401,
- "message": "Unauthorized",
- "reference": "689fba08-56b0-468c-ad97-809e7dab8a45",
- "timestamp": "2020-01-02T11:24:35.000Z"
}
]
}
Retrieve the Comment List for this collection
collection_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: 4197da95-9298-41bc-9292-1215211619c2 The collection ID |
sort | |
limit | integer >= 1 Default: 100 Example: limit=50 maximum number of records given, see pagination for more info |
offset | integer >= 0 Default: 0 Example: offset=0 the number of records to be skipped, see pagination for more info |
filter | string Example: filter=created_at:gt:2020-09-26,and,(id:not:starts_with:0000,or,id:contains:FFFF) used to filter the dataset, see filtering for more info |
show | string Example: show=id,updated_at limit the response to show only specific properties, see slimmed down result for more info |
hide | string Example: hide=created_at,updated_at hide properties from the response, see slimmed down result for more info |
with | Array of strings Items Value: "collection" object(s) included in the dataset, see eager loading for more info. Possible options are: |
ETag | string <md5> Example: "62a232916ac3a2f395791c108c295e8d" Entity Tag, used for caching |
id | string <uuid> /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Unique identifier |
text | string |
Array of objects (CommentUserMention) reserved for future usage | |
user | object the user that created the comment |
{- "id": "a21c7cba-1990-4693-bff3-31b2b8fee795",
- "text": "string",
- "user_mentions": [
- {
- "id": "20de1e89-08da-4146-8a00-abe3f49e5ceb",
- "name": "string",
- "tag": "string",
- "indices": { }
}
], - "user": { }
}
Create a new Comment and store it for this collection
Because oAuth is authenticated by a user, this is the user creating this comment. For integrations that are not user specific, customers are advised to create a separate user specifically for this integration.
collection_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: 4197da95-9298-41bc-9292-1215211619c2 The collection ID |
show | string Example: show=id,updated_at limit the response to show only specific properties, see slimmed down result for more info |
hide | string Example: hide=created_at,updated_at hide properties from the response, see slimmed down result for more info |
Comment to create
text required | string |
Array of objects (CommentUserMention) reserved for future usage |
{- "text": "string",
- "user_mentions": [
- {
- "name": "string",
- "tag": "string",
- "indices": { }
}
]
}
{- "id": "a21c7cba-1990-4693-bff3-31b2b8fee795",
- "text": "string",
- "user_mentions": [
- {
- "id": "20de1e89-08da-4146-8a00-abe3f49e5ceb",
- "name": "string",
- "tag": "string",
- "indices": { }
}
], - "user": { }
}
Retrieve a single Comment from this collection
collection_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: 4197da95-9298-41bc-9292-1215211619c2 The collection ID |
comment_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: a21c7cba-1990-4693-bff3-31b2b8fee795 The Comment ID |
show | string Example: show=id,updated_at limit the response to show only specific properties, see slimmed down result for more info |
hide | string Example: hide=created_at,updated_at hide properties from the response, see slimmed down result for more info |
with | Array of strings Items Value: "collection" object(s) included in the dataset, see eager loading for more info. Possible options are: |
ETag | string <md5> Example: "62a232916ac3a2f395791c108c295e8d" Entity Tag, used for caching |
id | string <uuid> /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Unique identifier |
text | string |
Array of objects (CommentUserMention) reserved for future usage | |
user | object the user that created the comment |
{- "id": "a21c7cba-1990-4693-bff3-31b2b8fee795",
- "text": "string",
- "user_mentions": [
- {
- "id": "20de1e89-08da-4146-8a00-abe3f49e5ceb",
- "name": "string",
- "tag": "string",
- "indices": { }
}
], - "user": { }
}
Update a single Comment
note
a comment can only be changed by the user that added it, or a user with the role administrator
collection_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: 4197da95-9298-41bc-9292-1215211619c2 The collection ID |
comment_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: a21c7cba-1990-4693-bff3-31b2b8fee795 The Comment ID |
text | string |
Array of objects (CommentUserMention) reserved for future usage |
{- "text": "string",
- "user_mentions": [
- {
- "name": "string",
- "tag": "string",
- "indices": { }
}
]
}
{- "reference": "689fba08-56b0-468c-ad97-809e7dab8a45",
- "errors": [
- {
- "code": 401,
- "message": "Unauthorized",
- "reference": "689fba08-56b0-468c-ad97-809e7dab8a45",
- "timestamp": "2020-01-02T11:24:35.000Z"
}
]
}
Remove a single Comment
note
a comment can only be removed by the user that added it, or a user with the role administrator
collection_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: 4197da95-9298-41bc-9292-1215211619c2 The collection ID |
comment_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: a21c7cba-1990-4693-bff3-31b2b8fee795 The Comment ID |
{- "reference": "689fba08-56b0-468c-ad97-809e7dab8a45",
- "errors": [
- {
- "code": 401,
- "message": "Unauthorized",
- "reference": "689fba08-56b0-468c-ad97-809e7dab8a45",
- "timestamp": "2020-01-02T11:24:35.000Z"
}
]
}
An item is something that your company buys, sells, or produces. Items are used in order rows on an order.
Retrieve the Item List
sort | |
limit | integer >= 1 Default: 100 Example: limit=50 maximum number of records given, see pagination for more info |
offset | integer >= 0 Default: 0 Example: offset=0 the number of records to be skipped, see pagination for more info |
filter | string Example: filter=created_at:gt:2020-09-26,and,(id:not:starts_with:0000,or,id:contains:FFFF) used to filter the dataset, see filtering for more info |
show | string Example: show=id,updated_at limit the response to show only specific properties, see slimmed down result for more info |
hide | string Example: hide=created_at,updated_at hide properties from the response, see slimmed down result for more info |
ETag | string <md5> Example: "62a232916ac3a2f395791c108c295e8d" Entity Tag, used for caching |
X-REFERENCE | string <uuid> Example: "05cad843-4214-4537-9010-90a7c3ba91f1" Reference Tag, used for internal tracing and debugging of the request |
count | integer Total number of items that can be retrieved with respect of given filters |
offset | integer Offset of the result |
limit | integer Limit the number of results |
Array of objects (Item) |
{- "count": 1,
- "offset": 0,
- "limit": 100,
- "data": [
- {
- "id": "25e01e69-57d2-4331-b1ca-5e13c0c99612",
- "code": "B180",
- "description": "Board 180",
- "stockmanagement": true,
- "unit": "Piece",
- "type": "Item type",
- "location": "3 Shelf",
- "note": "A board that is 1800mm x 300mm x 20mm",
- "external_ref": "fb1033a2ed70",
- "created_at": "2020-01-02T11:24:35Z",
- "updated_at": "2020-01-02T11:24:35Z"
}
]
}
Create a new Item and store it
show | string Example: show=id,updated_at limit the response to show only specific properties, see slimmed down result for more info |
hide | string Example: hide=created_at,updated_at hide properties from the response, see slimmed down result for more info |
Item to create
code required | string |
description required | string |
stockmanagement | boolean |
unit | string |
type | string |
location | string |
note | string |
external_ref | string (ExternalRef) Third-party reference of the object, for informational purposes only |
{- "code": "B180",
- "description": "Board 180",
- "stockmanagement": true,
- "unit": "Piece",
- "type": "Item type",
- "location": "3 Shelf",
- "note": "A board that is 1800mm x 300mm x 20mm",
- "external_ref": "fb1033a2ed70"
}
{- "id": "25e01e69-57d2-4331-b1ca-5e13c0c99612",
- "code": "B180",
- "description": "Board 180",
- "stockmanagement": true,
- "unit": "Piece",
- "type": "Item type",
- "location": "3 Shelf",
- "note": "A board that is 1800mm x 300mm x 20mm",
- "external_ref": "fb1033a2ed70",
- "created_at": "2020-01-02T11:24:35Z",
- "updated_at": "2020-01-02T11:24:35Z"
}
Retrieve a single Item
item_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: 25e01e69-57d2-4331-b1ca-5e13c0c99612 The Item ID |
show | string Example: show=id,updated_at limit the response to show only specific properties, see slimmed down result for more info |
hide | string Example: hide=created_at,updated_at hide properties from the response, see slimmed down result for more info |
ETag | string <md5> Example: "62a232916ac3a2f395791c108c295e8d" Entity Tag, used for caching |
id | string <uuid> /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Unique identifier |
code | string |
description | string |
stockmanagement | boolean |
unit | string |
type | string |
location | string |
note | string |
external_ref | string (ExternalRef) Third-party reference of the object, for informational purposes only |
created_at | string <date-time> Creation date / time |
updated_at | string <date-time> Update date / time |
{- "id": "25e01e69-57d2-4331-b1ca-5e13c0c99612",
- "code": "B180",
- "description": "Board 180",
- "stockmanagement": true,
- "unit": "Piece",
- "type": "Item type",
- "location": "3 Shelf",
- "note": "A board that is 1800mm x 300mm x 20mm",
- "external_ref": "fb1033a2ed70",
- "created_at": "2020-01-02T11:24:35Z",
- "updated_at": "2020-01-02T11:24:35Z"
}
Update a single Item
item_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: 25e01e69-57d2-4331-b1ca-5e13c0c99612 The Item ID |
Item to update
code required | string |
description required | string |
stockmanagement | boolean |
unit | string |
type | string |
location | string |
note | string |
external_ref | string (ExternalRef) Third-party reference of the object, for informational purposes only |
{- "code": "B180",
- "description": "Board 180",
- "stockmanagement": true,
- "unit": "Piece",
- "type": "Item type",
- "location": "3 Shelf",
- "note": "A board that is 1800mm x 300mm x 20mm",
- "external_ref": "fb1033a2ed70"
}
{- "reference": "689fba08-56b0-468c-ad97-809e7dab8a45",
- "errors": [
- {
- "code": 401,
- "message": "Unauthorized",
- "reference": "689fba08-56b0-468c-ad97-809e7dab8a45",
- "timestamp": "2020-01-02T11:24:35.000Z"
}
]
}
Remove a single Item
item_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: 25e01e69-57d2-4331-b1ca-5e13c0c99612 The Item ID |
{- "reference": "689fba08-56b0-468c-ad97-809e7dab8a45",
- "errors": [
- {
- "code": 401,
- "message": "Unauthorized",
- "reference": "689fba08-56b0-468c-ad97-809e7dab8a45",
- "timestamp": "2020-01-02T11:24:35.000Z"
}
]
}
vPlan has five types of orders; Sales, Quotation, Purchase, Production and Project:
note
A customer cannot maintain an Orders within vPlan, it should be maintained by the integrations that created it, and is only visible as integration data via a Collection.
An order is a helper object for creating a collection.
Its purpose is to give an integration the option to maintain data consistency, while giving the customer a way to manually add or change the details of a collection.
On creation of an order, a collection is automatically created. That collection could, depending on the settings, be automatically planned via an asynchronous process. This process uses the promised date of order.
On update of an order, a collection is automatically synchronized via an asynchronous process.
The collection will be constructed using the following data if available:
Collection | Order | On Create | On update |
---|---|---|---|
name | code | initial value | updated if not manually changed |
description | quantity and description | initial value | updated if not manually changed |
due_date | promised_date or else desired_date | initial value | updated if not manually changed ¹ |
meta | |||
- order_type | type | initial value | updated |
- order_status | status | initial value | updated |
- address | order.address | initial value | updated |
- relation | relation.name | initial value | updated |
- project | project.name | initial value | updated |
- promised_date | promised_date | initial value | updated ¹ |
- desired_date | desired_date | initial value | updated ¹ |
activities | rows | ||
- id | activity.id | initial value | only updated for the backlog |
- time | unit * quantity ² | initial value | only updated for the backlog |
¹
: Dates changed in the Order will not affect the actual planning, it could give a warning icon within the current plan boards.
²
: Time is calculated to minutes based on the unit and quantity, and rounded to a whole number:
unit time minutes quantity hours 60 * quantity days 3600 * quantity [other] 0
Retrieve the Order List
sort | |
limit | integer >= 1 Default: 100 Example: limit=50 maximum number of records given, see pagination for more info |
offset | integer >= 0 Default: 0 Example: offset=0 the number of records to be skipped, see pagination for more info |
filter | string Example: filter=created_at:gt:2020-09-26,and,(id:not:starts_with:0000,or,id:contains:FFFF) used to filter the dataset, see filtering for more info |
show | string Example: show=id,updated_at limit the response to show only specific properties, see slimmed down result for more info |
hide | string Example: hide=created_at,updated_at hide properties from the response, see slimmed down result for more info |
include | Array of strings Items Enum: "orderRows" "suppliesOrderRows" object(s) included in the dataset, see eager loading for more info. Possible options are:
|
with | Array of strings Items Enum: "address" "item" "order_rows" "collection" "project" "relation" "warehouse" "supplies_order_rows" object(s) included in the dataset, see eager loading for more info. Possible options are:
|
ETag | string <md5> Example: "62a232916ac3a2f395791c108c295e8d" Entity Tag, used for caching |
X-REFERENCE | string <uuid> Example: "05cad843-4214-4537-9010-90a7c3ba91f1" Reference Tag, used for internal tracing and debugging of the request |
count | integer Total number of items that can be retrieved with respect of given filters |
offset | integer Offset of the result |
limit | integer Limit the number of results |
Array of objects (Order) |
{- "count": 1,
- "offset": 0,
- "limit": 100,
- "data": [
- {
- "id": "28c8f918-f461-4a9c-9108-6bde41b4623e",
- "type": "Sales",
- "code": "S00235",
- "description": "Furniture plot no 180",
- "quantity": 42,
- "sub_type": "precalculation",
- "status": "foo",
- "note": "Paint colors:\nInner: 4344-R58B\nOuter: S 0585-Y80R\n",
- "contact": "John Doe",
- "relation_ref": "CU1701246",
- "date": "2020-05-02",
- "desired_date": "2020-05-15",
- "promised_date": "2020-05-22",
- "delivered_date": "2020-05-14",
- "meta": {
- "bar": "foo",
- "baz": "quux"
}, - "collection_id": "60df67b0-aff3-4212-904c-46a42ea6d6f6",
- "item_id": "25e01e69-57d2-4331-b1ca-5e13c0c99612",
- "project_id": "5a6b204f-4b03-4f00-b0d8-3a6449b07040",
- "relation_id": "401f7e85-af41-4d03-9c07-13cb7d1a4ea7",
- "warehouse_id": "b006d5fd-b5f1-45c5-94bd-f60a50b79771",
- "external_ref": "fb1033a2ed70",
- "created_at": "2020-01-02T11:24:35Z",
- "updated_at": "2020-01-02T11:24:35Z"
}
]
}
Create a new Order and store it
note
It is possible to create an Order with Rows in one request.
It is not possible to update both in one request.
show | string Example: show=id,updated_at limit the response to show only specific properties, see slimmed down result for more info |
hide | string Example: hide=created_at,updated_at hide properties from the response, see slimmed down result for more info |
Order to create
type required | string (Type) Enum: "Production" "Project" "Purchase" "Quotation" "Sales" |
code required | string |
description required | string |
quantity | number <double> |
external_url | string |
sub_type | string for informational purposes only |
status | string Enum: "open," "partial" "completed" "cancelled" |
note | string note, use |
contact | string |
relation_ref | string the reference from the relation of the order |
date | string <date> date when the order was placed |
desired_date | string <date> |
promised_date | string <date> promised delivery date, required in case of automatic planning |
delivered_date | string <date> |
collection_id | string <uuid> id for the related collection Collection |
item_id | string <uuid> id for the Item produced by this Order |
project_id | string <uuid> id for the Project this Order belongs to |
relation_id | string <uuid> id for the Relation of the Order |
warehouse_id | string <uuid> id for the Warehouse of the Order |
external_ref | string (ExternalRef) Third-party reference of the object, for informational purposes only |
object the Project this Order belongs to, alternative to project_id property | |
object the Warehouse of the Order, alternative to warehouse_id property | |
object the Item produced by this Order, alternative to item_id property | |
object the Relation of the Order, alternative to relation_id property | |
object or null the delivery address for the order | |
Array of uuid (string) or Row Object with id (object) optional Order Rows this Order supplies to, read Supplies and Receives for more information | |
board_id | string <uuid> Initial board_id used in the collection that is created with the Order
|
Array of objects (Order Row) |
{- "type": "Sales",
- "code": "S00235",
- "description": "Furniture plot no 180",
- "quantity": 42,
- "sub_type": "precalculation",
- "status": "foo",
- "note": "Paint colors:\nInner: 4344-R58B\nOuter: S 0585-Y80R\n",
- "contact": "John Doe",
- "relation_ref": "CU1701246",
- "date": "2020-05-02",
- "desired_date": "2020-05-15",
- "promised_date": "2020-05-22",
- "delivered_date": "2020-05-14",
- "collection_id": "60df67b0-aff3-4212-904c-46a42ea6d6f6",
- "item_id": "25e01e69-57d2-4331-b1ca-5e13c0c99612",
- "project_id": "5a6b204f-4b03-4f00-b0d8-3a6449b07040",
- "relation_id": "401f7e85-af41-4d03-9c07-13cb7d1a4ea7",
- "warehouse_id": "b006d5fd-b5f1-45c5-94bd-f60a50b79771",
- "external_ref": "fb1033a2ed70",
- "project": {
- "id": "5a6b204f-4b03-4f00-b0d8-3a6449b07040"
}, - "warehouse": {
- "id": "b006d5fd-b5f1-45c5-94bd-f60a50b79771"
}, - "item": {
- "id": "25e01e69-57d2-4331-b1ca-5e13c0c99612"
}, - "relation": {
- "id": "401f7e85-af41-4d03-9c07-13cb7d1a4ea7"
}, - "address": {
- "street1": "Putman Cramerstraat 51a",
- "street2": "first floor",
- "postcode": "7468 BH",
- "city": "Enter",
- "state": "Overijssel",
- "country": "Netherlands",
- "latitude": 52.3156048,
- "longitude": 6.496432
}, - "suppliesOrderRows": [
- "194ab6b2-08f5-4403-9fb9-916f33c145bc"
], - "board_id": "4566d4f4-c0fa-4c72-a0ec-4e208affaaf5",
- "orderRows": [
- {
- "item_id": "28c8f918-f461-4a9c-9108-6bde41b4623e",
- "activity_id": "edebdb9d-fa39-4424-99b9-c5415ba9b24a",
- "external_ref": "fb1033a2ed70",
- "transaction": "587261f5-0fb7-4de0-bfdf-129b62a1e0a6",
- "resource_ref": "640ye52oiwpa",
- "position": 1,
- "code": "A200",
- "type": "foo",
- "description": "Board 180",
- "unit": "Piece",
- "quantity": 42,
- "quantity_delivered": 3,
- "quantity_backorder": 39,
- "quantity_original": 49,
- "status": "foo",
- "delivered_date": "2020-08-31",
- "item": {
- "id": "25e01e69-57d2-4331-b1ca-5e13c0c99612"
}, - "activity": {
- "id": "edebdb9d-fa39-4424-99b9-c5415ba9b24a"
}, - "suppliesOrderRows": [
- "af8fc937-64f2-44dd-b70f-847b9a397199"
], - "receivesOrderRows": [
- "c40a10f3-d13c-401f-bf40-36b78061cbc4"
], - "receivesOrder": [
- "be92293a-9436-46a9-bc46-6542896bf955"
]
}
]
}
{- "id": "28c8f918-f461-4a9c-9108-6bde41b4623e",
- "type": "Sales",
- "code": "S00235",
- "description": "Furniture plot no 180",
- "quantity": 42,
- "sub_type": "precalculation",
- "status": "foo",
- "note": "Paint colors:\nInner: 4344-R58B\nOuter: S 0585-Y80R\n",
- "contact": "John Doe",
- "relation_ref": "CU1701246",
- "date": "2020-05-02",
- "desired_date": "2020-05-15",
- "promised_date": "2020-05-22",
- "delivered_date": "2020-05-14",
- "meta": {
- "bar": "foo",
- "baz": "quux"
}, - "collection_id": "60df67b0-aff3-4212-904c-46a42ea6d6f6",
- "item_id": "25e01e69-57d2-4331-b1ca-5e13c0c99612",
- "project_id": "5a6b204f-4b03-4f00-b0d8-3a6449b07040",
- "relation_id": "401f7e85-af41-4d03-9c07-13cb7d1a4ea7",
- "warehouse_id": "b006d5fd-b5f1-45c5-94bd-f60a50b79771",
- "external_ref": "fb1033a2ed70",
- "created_at": "2020-01-02T11:24:35Z",
- "updated_at": "2020-01-02T11:24:35Z"
}
Retrieve a single Order
order_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: 28c8f918-f461-4a9c-9108-6bde41b4623e The Order ID |
show | string Example: show=id,updated_at limit the response to show only specific properties, see slimmed down result for more info |
hide | string Example: hide=created_at,updated_at hide properties from the response, see slimmed down result for more info |
include | Array of strings Items Enum: "orderRows" "suppliesOrderRows" object(s) included in the dataset, see eager loading for more info. Possible options are:
|
with | Array of strings Items Enum: "address" "item" "order_rows" "collection" "project" "relation" "warehouse" "supplies_order_rows" object(s) included in the dataset, see eager loading for more info. Possible options are:
|
ETag | string <md5> Example: "62a232916ac3a2f395791c108c295e8d" Entity Tag, used for caching |
id | string <uuid> /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Unique identifier |
type | string (Type) Enum: "Production" "Project" "Purchase" "Quotation" "Sales" |
code | string |
description | string |
quantity | number <double> |
external_url | string |
sub_type | string for informational purposes only |
status | string Enum: "open," "partial" "completed" "cancelled" |
note | string note, use |
contact | string |
relation_ref | string the reference from the relation of the order |
date | string <date> date when the order was placed |
desired_date | string <date> |
promised_date | string <date> promised delivery date, required in case of automatic planning |
delivered_date | string <date> |
object hashmap with additional information for the Order, for informational purposes only | |
collection_id | string <uuid> id for the related collection Collection |
item_id | string <uuid> id for the Item produced by this Order |
project_id | string <uuid> id for the Project this Order belongs to |
relation_id | string <uuid> id for the Relation of the Order |
warehouse_id | string <uuid> id for the Warehouse of the Order |
external_ref | string (ExternalRef) Third-party reference of the object, for informational purposes only |
created_at | string <date-time> Creation date / time |
updated_at | string <date-time> Update date / time |
{- "id": "28c8f918-f461-4a9c-9108-6bde41b4623e",
- "type": "Sales",
- "code": "S00235",
- "description": "Furniture plot no 180",
- "quantity": 42,
- "sub_type": "precalculation",
- "status": "foo",
- "note": "Paint colors:\nInner: 4344-R58B\nOuter: S 0585-Y80R\n",
- "contact": "John Doe",
- "relation_ref": "CU1701246",
- "date": "2020-05-02",
- "desired_date": "2020-05-15",
- "promised_date": "2020-05-22",
- "delivered_date": "2020-05-14",
- "meta": {
- "bar": "foo",
- "baz": "quux"
}, - "collection_id": "60df67b0-aff3-4212-904c-46a42ea6d6f6",
- "item_id": "25e01e69-57d2-4331-b1ca-5e13c0c99612",
- "project_id": "5a6b204f-4b03-4f00-b0d8-3a6449b07040",
- "relation_id": "401f7e85-af41-4d03-9c07-13cb7d1a4ea7",
- "warehouse_id": "b006d5fd-b5f1-45c5-94bd-f60a50b79771",
- "external_ref": "fb1033a2ed70",
- "created_at": "2020-01-02T11:24:35Z",
- "updated_at": "2020-01-02T11:24:35Z"
}
Update a single Order
note
Look at Update Single OrderRow to update Order Rows.
order_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: 28c8f918-f461-4a9c-9108-6bde41b4623e The Order ID |
type | string (Type) Enum: "Production" "Project" "Purchase" "Quotation" "Sales" |
code | string |
description | string |
quantity | number <double> |
external_url | string |
sub_type | string for informational purposes only |
status | string Enum: "open," "partial" "completed" "cancelled" |
note | string note, use |
contact | string |
relation_ref | string the reference from the relation of the order |
date | string <date> date when the order was placed |
desired_date | string <date> |
promised_date | string <date> promised delivery date, required in case of automatic planning |
delivered_date | string <date> |
collection_id | string <uuid> id for the related collection Collection |
item_id | string <uuid> id for the Item produced by this Order |
project_id | string <uuid> id for the Project this Order belongs to |
relation_id | string <uuid> id for the Relation of the Order |
warehouse_id | string <uuid> id for the Warehouse of the Order |
external_ref | string (ExternalRef) Third-party reference of the object, for informational purposes only |
object the Project this Order belongs to, alternative to project_id property | |
object the Warehouse of the Order, alternative to warehouse_id property | |
object the Item produced by this Order, alternative to item_id property | |
object the Relation of the Order, alternative to relation_id property | |
object or null the delivery address for the order | |
Array of uuid (string) or Row Object with id (object) optional Order Rows this Order supplies to, read Supplies and Receives for more information |
{- "type": "Sales",
- "code": "S00235",
- "description": "Furniture plot no 180",
- "quantity": 42,
- "sub_type": "precalculation",
- "status": "foo",
- "note": "Paint colors:\nInner: 4344-R58B\nOuter: S 0585-Y80R\n",
- "contact": "John Doe",
- "relation_ref": "CU1701246",
- "date": "2020-05-02",
- "desired_date": "2020-05-15",
- "promised_date": "2020-05-22",
- "delivered_date": "2020-05-14",
- "collection_id": "60df67b0-aff3-4212-904c-46a42ea6d6f6",
- "item_id": "25e01e69-57d2-4331-b1ca-5e13c0c99612",
- "project_id": "5a6b204f-4b03-4f00-b0d8-3a6449b07040",
- "relation_id": "401f7e85-af41-4d03-9c07-13cb7d1a4ea7",
- "warehouse_id": "b006d5fd-b5f1-45c5-94bd-f60a50b79771",
- "external_ref": "fb1033a2ed70",
- "project": {
- "id": "5a6b204f-4b03-4f00-b0d8-3a6449b07040"
}, - "warehouse": {
- "id": "b006d5fd-b5f1-45c5-94bd-f60a50b79771"
}, - "item": {
- "id": "25e01e69-57d2-4331-b1ca-5e13c0c99612"
}, - "relation": {
- "id": "401f7e85-af41-4d03-9c07-13cb7d1a4ea7"
}, - "address": {
- "street1": "Putman Cramerstraat 51a",
- "street2": "first floor",
- "postcode": "7468 BH",
- "city": "Enter",
- "state": "Overijssel",
- "country": "Netherlands",
- "latitude": 52.3156048,
- "longitude": 6.496432
}, - "suppliesOrderRows": [
- "194ab6b2-08f5-4403-9fb9-916f33c145bc"
]
}
{- "reference": "689fba08-56b0-468c-ad97-809e7dab8a45",
- "errors": [
- {
- "code": 401,
- "message": "Unauthorized",
- "reference": "689fba08-56b0-468c-ad97-809e7dab8a45",
- "timestamp": "2020-01-02T11:24:35.000Z"
}
]
}
Remove a single Order
This will also remove the Collection created from this Order.
order_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: 28c8f918-f461-4a9c-9108-6bde41b4623e The Order ID |
{- "reference": "689fba08-56b0-468c-ad97-809e7dab8a45",
- "errors": [
- {
- "code": 401,
- "message": "Unauthorized",
- "reference": "689fba08-56b0-468c-ad97-809e7dab8a45",
- "timestamp": "2020-01-02T11:24:35.000Z"
}
]
}
There is no direct endpoint for interacting with an Address.
Address can be added or changed via the Order object. The Address can be removed from an Order by setting the Address object to null.
Because of geo coordinates a unique address (street1, street2, postcode, city, state and country) is only stored once, and can be attached to multiple orders. Updating the geo coordinates will update them for all orders.
id | string <uuid> /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... |
street1 | string |
street2 | string |
postcode | string |
city | string |
state | string |
country | string |
hash | string hash based on the trimmed values of street1, street2, postcode, city, state and country internally used in case latitude and longitude are not given but already know |
latitude | number the geographic coordinate that specifies the north–south position |
longitude | number the geographic coordinate that specifies the east-west position |
{- "id": "4a8482f0-0348-4551-9255-2c3a8ac425b8",
- "street1": "Putman Cramerstraat 51a",
- "street2": "first floor",
- "postcode": "7468 BH",
- "city": "Enter",
- "state": "Overijssel",
- "country": "Netherlands",
- "hash": "2ee8ceab31952d603682752d4bde0c259ba8081ed6c755f73081ce9462530b5b",
- "latitude": 52.3156048,
- "longitude": 6.496432
}
Endpoint to retrieve the order rows for a specific order. OrderRows could also be included in the order object.
Retrieve the OrderRow List
order_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: 28c8f918-f461-4a9c-9108-6bde41b4623e The Order ID |
sort | |
limit | integer >= 1 Default: 100 Example: limit=50 maximum number of records given, see pagination for more info |
offset | integer >= 0 Default: 0 Example: offset=0 the number of records to be skipped, see pagination for more info |
filter | string Example: filter=created_at:gt:2020-09-26,and,(id:not:starts_with:0000,or,id:contains:FFFF) used to filter the dataset, see filtering for more info |
show | string Example: show=id,updated_at limit the response to show only specific properties, see slimmed down result for more info |
hide | string Example: hide=created_at,updated_at hide properties from the response, see slimmed down result for more info |
include | Array of strings Items Enum: "suppliesOrderRows" "receivesOrderRows" "receivesOrder" object(s) included in the dataset, see eager loading for more info. Possible options are:
|
ETag | string <md5> Example: "62a232916ac3a2f395791c108c295e8d" Entity Tag, used for caching |
count | integer Total number of items that can be retrieved with respect of given filters |
offset | integer Offset of the result |
limit | integer Limit the number of results |
Array of objects |
{- "count": 1,
- "offset": 0,
- "limit": 100,
- "data": [
- {
- "item_id": "28c8f918-f461-4a9c-9108-6bde41b4623e",
- "activity_id": "edebdb9d-fa39-4424-99b9-c5415ba9b24a",
- "external_ref": "fb1033a2ed70",
- "transaction": "587261f5-0fb7-4de0-bfdf-129b62a1e0a6",
- "resource_ref": "640ye52oiwpa",
- "position": 1,
- "code": "A200",
- "type": "foo",
- "description": "Board 180",
- "unit": "Piece",
- "reserved": 15,
- "quantity": 42,
- "quantity_delivered": 3,
- "quantity_backorder": 39,
- "quantity_original": 49,
- "status": "foo",
- "delivered_date": "2020-08-31"
}
]
}
Create a new OrderRow and store it
order_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: 28c8f918-f461-4a9c-9108-6bde41b4623e The Order ID |
show | string Example: show=id,updated_at limit the response to show only specific properties, see slimmed down result for more info |
hide | string Example: hide=created_at,updated_at hide properties from the response, see slimmed down result for more info |
Order to create
description required | string |
unit required | string unit type, use |
item_id | string <uuid> id for the Item used |
activity_id | string <uuid> id for the Activity to be performed |
external_ref | string (ExternalRef) Third-party reference of the object, for informational purposes only |
transaction | string <uuid> /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... |
resource_ref | string Third-party reference of the resource for this row, for informational purposes only |
position | integer >= 0 position of the row in the list of order rows, used for sorting in frontend |
code | string |
type | string reserved for future use |
quantity | number <double> quantity of the row, |
quantity_delivered | number <double> |
quantity_backorder | number <double> |
quantity_original | number <double> for informational purposes only |
status | string reserved for future use |
delivered_date | string <date-time> delivery date of the row. Reserved for future use |
object the Item used by this Row, alternative to item_id property | |
object the Activity to be performed, alternative to activity_id property | |
Array of uuid (string) or Row Object with id (object) optional Order Rows this Row supplies to, read Supplies and Receives for more information | |
Array of uuid (string) or Row Object with id (object) optional Order Rows this Row receives from, read Supplies and Receives for more information | |
Array of uuid (string) or Row Object with id (object) optional Order this Row receives from, read Supplies and Receives for more information |
{- "item_id": "28c8f918-f461-4a9c-9108-6bde41b4623e",
- "activity_id": "edebdb9d-fa39-4424-99b9-c5415ba9b24a",
- "external_ref": "fb1033a2ed70",
- "transaction": "587261f5-0fb7-4de0-bfdf-129b62a1e0a6",
- "resource_ref": "640ye52oiwpa",
- "position": 1,
- "code": "A200",
- "type": "foo",
- "description": "Board 180",
- "unit": "Piece",
- "quantity": 42,
- "quantity_delivered": 3,
- "quantity_backorder": 39,
- "quantity_original": 49,
- "status": "foo",
- "delivered_date": "2020-08-31",
- "item": {
- "id": "25e01e69-57d2-4331-b1ca-5e13c0c99612"
}, - "activity": {
- "id": "edebdb9d-fa39-4424-99b9-c5415ba9b24a"
}, - "suppliesOrderRows": [
- "af8fc937-64f2-44dd-b70f-847b9a397199"
], - "receivesOrderRows": [
- "c40a10f3-d13c-401f-bf40-36b78061cbc4"
], - "receivesOrder": [
- "be92293a-9436-46a9-bc46-6542896bf955"
]
}
{- "item_id": "28c8f918-f461-4a9c-9108-6bde41b4623e",
- "activity_id": "edebdb9d-fa39-4424-99b9-c5415ba9b24a",
- "external_ref": "fb1033a2ed70",
- "transaction": "587261f5-0fb7-4de0-bfdf-129b62a1e0a6",
- "resource_ref": "640ye52oiwpa",
- "position": 1,
- "code": "A200",
- "type": "foo",
- "description": "Board 180",
- "unit": "Piece",
- "reserved": 15,
- "quantity": 42,
- "quantity_delivered": 3,
- "quantity_backorder": 39,
- "quantity_original": 49,
- "status": "foo",
- "delivered_date": "2020-08-31"
}
Retrieve a single OrderRow from the order
order_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: 28c8f918-f461-4a9c-9108-6bde41b4623e The Order ID |
row_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: d08abb79-6905-4917-a604-e8e39662e331 The Order Row ID |
show | string Example: show=id,updated_at limit the response to show only specific properties, see slimmed down result for more info |
hide | string Example: hide=created_at,updated_at hide properties from the response, see slimmed down result for more info |
include | Array of strings Items Enum: "suppliesOrderRows" "receivesOrderRows" "receivesOrder" object(s) included in the dataset, see eager loading for more info. Possible options are:
|
with | Array of strings Items Enum: "activity" "item" "order" "supplies_order_rows" "receives_order_rows" "receives_order" object(s) included in the dataset, see eager loading for more info. Possible options are:
|
ETag | string <md5> Example: "62a232916ac3a2f395791c108c295e8d" Entity Tag, used for caching |
id | string <uuid> /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Unique identifier |
item_id | string <uuid> id for the Item used |
activity_id | string <uuid> id for the Activity to be performed |
external_ref | string (ExternalRef) Third-party reference of the object, for informational purposes only |
transaction | string <uuid> /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... |
resource_ref | string Third-party reference of the resource for this row, for informational purposes only |
position | integer >= 0 position of the row in the list of order rows, used for sorting in frontend |
code | string |
type | string reserved for future use |
description | string |
unit | string unit type, use |
reserved | number <double>
|
quantity | number <double> quantity of the row, |
quantity_delivered | number <double> |
quantity_backorder | number <double> |
quantity_original | number <double> for informational purposes only |
status | string reserved for future use |
delivered_date | string <date-time> delivery date of the row. Reserved for future use |
order_id | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... |
created_at | string <date-time> Creation date / time |
updated_at | string <date-time> Update date / time |
{- "id": "d08abb79-6905-4917-a604-e8e39662e331",
- "item_id": "28c8f918-f461-4a9c-9108-6bde41b4623e",
- "activity_id": "edebdb9d-fa39-4424-99b9-c5415ba9b24a",
- "external_ref": "fb1033a2ed70",
- "transaction": "587261f5-0fb7-4de0-bfdf-129b62a1e0a6",
- "resource_ref": "640ye52oiwpa",
- "position": 1,
- "code": "A200",
- "type": "foo",
- "description": "Board 180",
- "unit": "Piece",
- "reserved": 15,
- "quantity": 42,
- "quantity_delivered": 3,
- "quantity_backorder": 39,
- "quantity_original": 49,
- "status": "foo",
- "delivered_date": "2020-08-31",
- "order_id": "f189bd17-445d-4d78-84ba-b8d845305121",
- "created_at": "2020-01-02T11:24:35Z",
- "updated_at": "2020-01-02T11:24:35Z"
}
Update a single OrderRow
order_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: 28c8f918-f461-4a9c-9108-6bde41b4623e The Order ID |
row_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: d08abb79-6905-4917-a604-e8e39662e331 The Order Row ID |
item_id | string <uuid> id for the Item used |
activity_id | string <uuid> id for the Activity to be performed |
external_ref | string (ExternalRef) Third-party reference of the object, for informational purposes only |
transaction | string <uuid> /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... |
resource_ref | string Third-party reference of the resource for this row, for informational purposes only |
position | integer >= 0 position of the row in the list of order rows, used for sorting in frontend |
code | string |
type | string reserved for future use |
description | string |
unit | string unit type, use |
quantity | number <double> quantity of the row, |
quantity_delivered | number <double> |
quantity_backorder | number <double> |
quantity_original | number <double> for informational purposes only |
status | string reserved for future use |
delivered_date | string <date-time> delivery date of the row. Reserved for future use |
object the Item used by this Row, alternative to item_id property | |
object the Activity to be performed, alternative to activity_id property | |
Array of uuid (string) or Row Object with id (object) optional Order Rows this Row supplies to, read Supplies and Receives for more information | |
Array of uuid (string) or Row Object with id (object) optional Order Rows this Row receives from, read Supplies and Receives for more information | |
Array of uuid (string) or Row Object with id (object) optional Order this Row receives from, read Supplies and Receives for more information |
{- "item_id": "28c8f918-f461-4a9c-9108-6bde41b4623e",
- "activity_id": "edebdb9d-fa39-4424-99b9-c5415ba9b24a",
- "external_ref": "fb1033a2ed70",
- "transaction": "587261f5-0fb7-4de0-bfdf-129b62a1e0a6",
- "resource_ref": "640ye52oiwpa",
- "position": 1,
- "code": "A200",
- "type": "foo",
- "description": "Board 180",
- "unit": "Piece",
- "quantity": 42,
- "quantity_delivered": 3,
- "quantity_backorder": 39,
- "quantity_original": 49,
- "status": "foo",
- "delivered_date": "2020-08-31",
- "item": {
- "id": "25e01e69-57d2-4331-b1ca-5e13c0c99612"
}, - "activity": {
- "id": "edebdb9d-fa39-4424-99b9-c5415ba9b24a"
}, - "suppliesOrderRows": [
- "af8fc937-64f2-44dd-b70f-847b9a397199"
], - "receivesOrderRows": [
- "c40a10f3-d13c-401f-bf40-36b78061cbc4"
], - "receivesOrder": [
- "be92293a-9436-46a9-bc46-6542896bf955"
]
}
{- "reference": "689fba08-56b0-468c-ad97-809e7dab8a45",
- "errors": [
- {
- "code": 401,
- "message": "Unauthorized",
- "reference": "689fba08-56b0-468c-ad97-809e7dab8a45",
- "timestamp": "2020-01-02T11:24:35.000Z"
}
]
}
Remove a single OrderRow
order_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: 28c8f918-f461-4a9c-9108-6bde41b4623e The Order ID |
row_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: d08abb79-6905-4917-a604-e8e39662e331 The Order Row ID |
{- "reference": "689fba08-56b0-468c-ad97-809e7dab8a45",
- "errors": [
- {
- "code": 401,
- "message": "Unauthorized",
- "reference": "689fba08-56b0-468c-ad97-809e7dab8a45",
- "timestamp": "2020-01-02T11:24:35.000Z"
}
]
}
note
The concept of Order Rows supplying and receiving can be a little confusing at first.
If you are starting with a new integration, it is probably best to skip this level of complication at the beginning.
The goal of supplies and receives is to indicate the relation between orders.
This is purely a visual aid, and does not create any blocking or trigger mechanism.
Supplies and receives are presentations of the same data, where receives is simply the reserve of supplies. Most partners use supplies to create the relation with other Orders.
Sales Order Rows could receive from Purchase Order Rows or Production Orders.
Production Order (head) could supply to Sales Order Rows or Order Rows of other Production Orders.
Production Order Rows could receive from Purchase Order Rows or other Production Orders.
Purchase Order Rows could supply to Sales Order Rows and Production Order Rows.
Please note that the previous is purely what normally would make sense, in theory a Sales Order Rows could simply supply Rows. There are no checks based on the Order type.
There is however the validation that a Row cannot supply itself or Rows that are within the same Order.
A project is a series of activities and tasks. A project can be an umbrella for multiple orders, like sales and purchase orders.
Retrieve the Project List
sort | |
limit | integer >= 1 Default: 100 Example: limit=50 maximum number of records given, see pagination for more info |
offset | integer >= 0 Default: 0 Example: offset=0 the number of records to be skipped, see pagination for more info |
filter | string Example: filter=created_at:gt:2020-09-26,and,(id:not:starts_with:0000,or,id:contains:FFFF) used to filter the dataset, see filtering for more info |
show | string Example: show=id,updated_at limit the response to show only specific properties, see slimmed down result for more info |
hide | string Example: hide=created_at,updated_at hide properties from the response, see slimmed down result for more info |
ETag | string <md5> Example: "62a232916ac3a2f395791c108c295e8d" Entity Tag, used for caching |
X-REFERENCE | string <uuid> Example: "05cad843-4214-4537-9010-90a7c3ba91f1" Reference Tag, used for internal tracing and debugging of the request |
count | integer Total number of items that can be retrieved with respect of given filters |
offset | integer Offset of the result |
limit | integer Limit the number of results |
Array of objects (Project) |
{- "count": 1,
- "offset": 0,
- "limit": 100,
- "data": [
- {
- "id": "5a6b204f-4b03-4f00-b0d8-3a6449b07040",
- "name": "Project Goliath",
- "code": "GOL",
- "description": "Building project up north",
- "external_ref": "fb1033a2ed70",
- "created_at": "2020-01-02T11:24:35Z",
- "updated_at": "2020-01-02T11:24:35Z"
}
]
}
Create a new Project and store it
show | string Example: show=id,updated_at limit the response to show only specific properties, see slimmed down result for more info |
hide | string Example: hide=created_at,updated_at hide properties from the response, see slimmed down result for more info |
Project to create
name required | string |
code | string |
description | string |
external_ref | string (ExternalRef) Third-party reference of the object, for informational purposes only |
{- "name": "Project Goliath",
- "code": "GOL",
- "description": "Building project up north",
- "external_ref": "fb1033a2ed70"
}
{- "id": "5a6b204f-4b03-4f00-b0d8-3a6449b07040",
- "name": "Project Goliath",
- "code": "GOL",
- "description": "Building project up north",
- "external_ref": "fb1033a2ed70",
- "created_at": "2020-01-02T11:24:35Z",
- "updated_at": "2020-01-02T11:24:35Z"
}
Retrieve a single Project
project_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: 5a6b204f-4b03-4f00-b0d8-3a6449b07040 The Project ID |
show | string Example: show=id,updated_at limit the response to show only specific properties, see slimmed down result for more info |
hide | string Example: hide=created_at,updated_at hide properties from the response, see slimmed down result for more info |
ETag | string <md5> Example: "62a232916ac3a2f395791c108c295e8d" Entity Tag, used for caching |
id | string <uuid> /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Unique identifier |
name | string |
code | string |
description | string |
external_ref | string (ExternalRef) Third-party reference of the object, for informational purposes only |
created_at | string <date-time> Creation date / time |
updated_at | string <date-time> Update date / time |
{- "id": "5a6b204f-4b03-4f00-b0d8-3a6449b07040",
- "name": "Project Goliath",
- "code": "GOL",
- "description": "Building project up north",
- "external_ref": "fb1033a2ed70",
- "created_at": "2020-01-02T11:24:35Z",
- "updated_at": "2020-01-02T11:24:35Z"
}
Update a single Project
project_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: 5a6b204f-4b03-4f00-b0d8-3a6449b07040 The Project ID |
name required | string |
code | string |
description | string |
external_ref | string (ExternalRef) Third-party reference of the object, for informational purposes only |
{- "name": "Project Goliath",
- "code": "GOL",
- "description": "Building project up north",
- "external_ref": "fb1033a2ed70"
}
{- "reference": "689fba08-56b0-468c-ad97-809e7dab8a45",
- "errors": [
- {
- "code": 401,
- "message": "Unauthorized",
- "reference": "689fba08-56b0-468c-ad97-809e7dab8a45",
- "timestamp": "2020-01-02T11:24:35.000Z"
}
]
}
Remove a single Project
project_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: 5a6b204f-4b03-4f00-b0d8-3a6449b07040 The Project ID |
{- "reference": "689fba08-56b0-468c-ad97-809e7dab8a45",
- "errors": [
- {
- "code": 401,
- "message": "Unauthorized",
- "reference": "689fba08-56b0-468c-ad97-809e7dab8a45",
- "timestamp": "2020-01-02T11:24:35.000Z"
}
]
}
Relations provide contact information to orders.
Retrieve the Relation List
sort | |
limit | integer >= 1 Default: 100 Example: limit=50 maximum number of records given, see pagination for more info |
offset | integer >= 0 Default: 0 Example: offset=0 the number of records to be skipped, see pagination for more info |
filter | string Example: filter=created_at:gt:2020-09-26,and,(id:not:starts_with:0000,or,id:contains:FFFF) used to filter the dataset, see filtering for more info |
show | string Example: show=id,updated_at limit the response to show only specific properties, see slimmed down result for more info |
hide | string Example: hide=created_at,updated_at hide properties from the response, see slimmed down result for more info |
ETag | string <md5> Example: "62a232916ac3a2f395791c108c295e8d" Entity Tag, used for caching |
X-REFERENCE | string <uuid> Example: "05cad843-4214-4537-9010-90a7c3ba91f1" Reference Tag, used for internal tracing and debugging of the request |
count | integer Total number of items that can be retrieved with respect of given filters |
offset | integer Offset of the result |
limit | integer Limit the number of results |
Array of objects (Relation) |
{- "count": 1,
- "offset": 0,
- "limit": 100,
- "data": [
- {
- "id": "401f7e85-af41-4d03-9c07-13cb7d1a4ea7",
- "name": "Example Company",
- "type": "Sales",
- "description": "Company that produces examples",
- "note": "Great company\nSales Contact is Michel\n",
- "phone": "+31 123 456 789",
- "fax": "+31 123 456 799",
- "email": "info@example.com",
- "website": "www.example.com",
- "external_ref": "fb1033a2ed70",
- "created_at": "2020-01-02T11:24:35Z",
- "updated_at": "2020-01-02T11:24:35Z"
}
]
}
Create a new Relation and store it
show | string Example: show=id,updated_at limit the response to show only specific properties, see slimmed down result for more info |
hide | string Example: hide=created_at,updated_at hide properties from the response, see slimmed down result for more info |
Relation to create
name required | string |
type | string (Type) Enum: "Production" "Project" "Purchase" "Quotation" "Sales" |
description | string |
note | string |
phone | string |
fax | string |
string <email> | |
website | string <uri> |
external_ref | string (ExternalRef) Third-party reference of the object, for informational purposes only |
{- "name": "Example Company",
- "type": "Sales",
- "description": "Company that produces examples",
- "note": "Great company\nSales Contact is Michel\n",
- "phone": "+31 123 456 789",
- "fax": "+31 123 456 799",
- "email": "info@example.com",
- "website": "www.example.com",
- "external_ref": "fb1033a2ed70"
}
{- "id": "401f7e85-af41-4d03-9c07-13cb7d1a4ea7",
- "name": "Example Company",
- "type": "Sales",
- "description": "Company that produces examples",
- "note": "Great company\nSales Contact is Michel\n",
- "phone": "+31 123 456 789",
- "fax": "+31 123 456 799",
- "email": "info@example.com",
- "website": "www.example.com",
- "external_ref": "fb1033a2ed70",
- "created_at": "2020-01-02T11:24:35Z",
- "updated_at": "2020-01-02T11:24:35Z"
}
Retrieve a single Relation
relation_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: 401f7e85-af41-4d03-9c07-13cb7d1a4ea7 The Relation ID |
show | string Example: show=id,updated_at limit the response to show only specific properties, see slimmed down result for more info |
hide | string Example: hide=created_at,updated_at hide properties from the response, see slimmed down result for more info |
ETag | string <md5> Example: "62a232916ac3a2f395791c108c295e8d" Entity Tag, used for caching |
id | string <uuid> /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Unique identifier |
name | string |
type | string (Type) Enum: "Production" "Project" "Purchase" "Quotation" "Sales" |
description | string |
note | string |
phone | string |
fax | string |
string <email> | |
website | string <uri> |
external_ref | string (ExternalRef) Third-party reference of the object, for informational purposes only |
created_at | string <date-time> Creation date / time |
updated_at | string <date-time> Update date / time |
{- "id": "401f7e85-af41-4d03-9c07-13cb7d1a4ea7",
- "name": "Example Company",
- "type": "Sales",
- "description": "Company that produces examples",
- "note": "Great company\nSales Contact is Michel\n",
- "phone": "+31 123 456 789",
- "fax": "+31 123 456 799",
- "email": "info@example.com",
- "website": "www.example.com",
- "external_ref": "fb1033a2ed70",
- "created_at": "2020-01-02T11:24:35Z",
- "updated_at": "2020-01-02T11:24:35Z"
}
Update a single Relation
relation_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: 401f7e85-af41-4d03-9c07-13cb7d1a4ea7 The Relation ID |
name required | string |
type | string (Type) Enum: "Production" "Project" "Purchase" "Quotation" "Sales" |
description | string |
note | string |
phone | string |
fax | string |
string <email> | |
website | string <uri> |
external_ref | string (ExternalRef) Third-party reference of the object, for informational purposes only |
{- "name": "Example Company",
- "type": "Sales",
- "description": "Company that produces examples",
- "note": "Great company\nSales Contact is Michel\n",
- "phone": "+31 123 456 789",
- "fax": "+31 123 456 799",
- "email": "info@example.com",
- "website": "www.example.com",
- "external_ref": "fb1033a2ed70"
}
{- "reference": "689fba08-56b0-468c-ad97-809e7dab8a45",
- "errors": [
- {
- "code": 401,
- "message": "Unauthorized",
- "reference": "689fba08-56b0-468c-ad97-809e7dab8a45",
- "timestamp": "2020-01-02T11:24:35.000Z"
}
]
}
Remove a single Relation
relation_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: 401f7e85-af41-4d03-9c07-13cb7d1a4ea7 The Relation ID |
{- "reference": "689fba08-56b0-468c-ad97-809e7dab8a45",
- "errors": [
- {
- "code": 401,
- "message": "Unauthorized",
- "reference": "689fba08-56b0-468c-ad97-809e7dab8a45",
- "timestamp": "2020-01-02T11:24:35.000Z"
}
]
}
Resources are employees, machines or cells. Every resource has a schedule for availability. A resource can be assigned to multiple cards.
note
The avatar is provided to this API using data URI scheme, the avatar is processed and uploaded as a static image to https://fs.mostwanted.io. The return value is a URL.It is not possible to provided a custom URL.
warning
An update of a resource will always trigger an async process to rebuild all schedules for that resource.Any manual changes made to the schedules between the start and end date of the resource will not persist
Retrieve the Resource List
sort | |
limit | integer >= 1 Default: 100 Example: limit=50 maximum number of records given, see pagination for more info |
offset | integer >= 0 Default: 0 Example: offset=0 the number of records to be skipped, see pagination for more info |
filter | string Example: filter=created_at:gt:2020-09-26,and,(id:not:starts_with:0000,or,id:contains:FFFF) used to filter the dataset, see filtering for more info |
show | string Example: show=id,updated_at limit the response to show only specific properties, see slimmed down result for more info |
hide | string Example: hide=created_at,updated_at hide properties from the response, see slimmed down result for more info |
archived | boolean Default: false per default archived objects are not returned, use this parameter to include archived objects. combine with filter parameter to return only archived results |
with | Array of strings Items Enum: "activities" "cards" "groups" "schedules" "schedule_deviations" object(s) included in the dataset, see eager loading for more info. Possible options are:
|
ETag | string <md5> Example: "62a232916ac3a2f395791c108c295e8d" Entity Tag, used for caching |
X-REFERENCE | string <uuid> Example: "05cad843-4214-4537-9010-90a7c3ba91f1" Reference Tag, used for internal tracing and debugging of the request |
id | string <uuid> /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Unique identifier |
name | string |
type | string (ResourceType) Enum: "employee" "machine" "cell" |
start_date | string <date> |
object Days of the week that are considered workdays | |
description | string |
end_date | string <date> |
integration_schedule | boolean false vPlan manages the schedules via workdays, true integration manages the schedules |
avatar | string |
color_hex | string^#[0-9a-f]$ color hex is used to signify the Resource, only used if the avatar is |
external_ref | string (ExternalRef) Third-party reference of the object, for informational purposes only |
archived_at | string <date-time> date / time that the object is archived |
created_at | string <date-time> Creation date / time |
updated_at | string <date-time> Update date / time |
{- "id": "a225c108-a6ca-4343-8e10-fe10c841a688",
- "name": "John Doe",
- "type": "employee",
- "start_date": "2020-01-01",
- "workdays": {
- "1": 8,
- "2": 8.2,
- "3": 4.5,
- "4": 7.88,
- "5": 8,
- "6": 0,
- "7": 0
}, - "description": "Master wood engraver",
- "end_date": "2020-12-31",
- "integration_schedule": false,
- "avatar": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==",
- "color_hex": "#e0527c",
- "external_ref": "fb1033a2ed70",
- "archived_at": "2021-07-06T11:24:35Z",
- "created_at": "2020-01-02T11:24:35Z",
- "updated_at": "2020-01-02T11:24:35Z"
}
Create a new Resource and store it
show | string Example: show=id,updated_at limit the response to show only specific properties, see slimmed down result for more info |
hide | string Example: hide=created_at,updated_at hide properties from the response, see slimmed down result for more info |
Resource to create
name required | string |
type | string (ResourceType) Enum: "employee" "machine" "cell" |
start_date | string <date> |
object Days of the week that are considered workdays | |
description | string |
end_date | string <date> |
integration_schedule | boolean false vPlan manages the schedules via workdays, true integration manages the schedules |
avatar | string |
color_hex | string^#[0-9a-f]$ color hex is used to signify the Resource, only used if the avatar is |
external_ref | string (ExternalRef) Third-party reference of the object, for informational purposes only |
archive | boolean true will archive an object, false will unarchive an object, regardless of current state |
{- "name": "John Doe",
- "type": "employee",
- "start_date": "2020-01-01",
- "workdays": {
- "1": 8,
- "2": 8.2,
- "3": 4.5,
- "4": 7.88,
- "5": 8,
- "6": 0,
- "7": 0
}, - "description": "Master wood engraver",
- "end_date": "2020-12-31",
- "integration_schedule": false,
- "avatar": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==",
- "color_hex": "#e0527c",
- "external_ref": "fb1033a2ed70",
- "archive": false
}
{- "id": "a225c108-a6ca-4343-8e10-fe10c841a688",
- "name": "John Doe",
- "type": "employee",
- "start_date": "2020-01-01",
- "workdays": {
- "1": 8,
- "2": 8.2,
- "3": 4.5,
- "4": 7.88,
- "5": 8,
- "6": 0,
- "7": 0
}, - "description": "Master wood engraver",
- "end_date": "2020-12-31",
- "integration_schedule": false,
- "avatar": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==",
- "color_hex": "#e0527c",
- "external_ref": "fb1033a2ed70",
- "archived_at": "2021-07-06T11:24:35Z",
- "created_at": "2020-01-02T11:24:35Z",
- "updated_at": "2020-01-02T11:24:35Z"
}
Retrieve a single Resource
resource_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: a225c108-a6ca-4343-8e10-fe10c841a688 The Resource ID |
show | string Example: show=id,updated_at limit the response to show only specific properties, see slimmed down result for more info |
hide | string Example: hide=created_at,updated_at hide properties from the response, see slimmed down result for more info |
with | Array of strings Items Enum: "activities" "cards" "groups" "schedules" "schedule_deviations" object(s) included in the dataset, see eager loading for more info. Possible options are:
|
ETag | string <md5> Example: "62a232916ac3a2f395791c108c295e8d" Entity Tag, used for caching |
id | string <uuid> /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Unique identifier |
name | string |
type | string (ResourceType) Enum: "employee" "machine" "cell" |
start_date | string <date> |
object Days of the week that are considered workdays | |
description | string |
end_date | string <date> |
integration_schedule | boolean false vPlan manages the schedules via workdays, true integration manages the schedules |
avatar | string |
color_hex | string^#[0-9a-f]$ color hex is used to signify the Resource, only used if the avatar is |
external_ref | string (ExternalRef) Third-party reference of the object, for informational purposes only |
archived_at | string <date-time> date / time that the object is archived |
created_at | string <date-time> Creation date / time |
updated_at | string <date-time> Update date / time |
{- "id": "a225c108-a6ca-4343-8e10-fe10c841a688",
- "name": "John Doe",
- "type": "employee",
- "start_date": "2020-01-01",
- "workdays": {
- "1": 8,
- "2": 8.2,
- "3": 4.5,
- "4": 7.88,
- "5": 8,
- "6": 0,
- "7": 0
}, - "description": "Master wood engraver",
- "end_date": "2020-12-31",
- "integration_schedule": false,
- "avatar": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==",
- "color_hex": "#e0527c",
- "external_ref": "fb1033a2ed70",
- "archived_at": "2021-07-06T11:24:35Z",
- "created_at": "2020-01-02T11:24:35Z",
- "updated_at": "2020-01-02T11:24:35Z"
}
Update a single Resource
warning
An update of a resource will always trigger an async process to rebuild all schedules for that resource. Any manual changes made to the schedules between the start and end date of the resource will not persist
resource_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: a225c108-a6ca-4343-8e10-fe10c841a688 The Resource ID |
name | string |
type | string (ResourceType) Enum: "employee" "machine" "cell" |
start_date | string <date> |
object Days of the week that are considered workdays | |
description | string |
end_date | string <date> |
integration_schedule | boolean false vPlan manages the schedules via workdays, true integration manages the schedules |
avatar | string |
color_hex | string^#[0-9a-f]$ color hex is used to signify the Resource, only used if the avatar is |
external_ref | string (ExternalRef) Third-party reference of the object, for informational purposes only |
archive | boolean true will archive an object, false will unarchive an object, regardless of current state |
{- "name": "John Doe",
- "type": "employee",
- "start_date": "2020-01-01",
- "workdays": {
- "1": 8,
- "2": 8.2,
- "3": 4.5,
- "4": 7.88,
- "5": 8,
- "6": 0,
- "7": 0
}, - "description": "Master wood engraver",
- "end_date": "2020-12-31",
- "integration_schedule": false,
- "avatar": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==",
- "color_hex": "#e0527c",
- "external_ref": "fb1033a2ed70",
- "archive": false
}
{- "reference": "689fba08-56b0-468c-ad97-809e7dab8a45",
- "errors": [
- {
- "code": 401,
- "message": "Unauthorized",
- "reference": "689fba08-56b0-468c-ad97-809e7dab8a45",
- "timestamp": "2020-01-02T11:24:35.000Z"
}
]
}
Remove a single Resource
resource_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: a225c108-a6ca-4343-8e10-fe10c841a688 The Resource ID |
{- "reference": "689fba08-56b0-468c-ad97-809e7dab8a45",
- "errors": [
- {
- "code": 401,
- "message": "Unauthorized",
- "reference": "689fba08-56b0-468c-ad97-809e7dab8a45",
- "timestamp": "2020-01-02T11:24:35.000Z"
}
]
}
Retrieve the Schedule List
resource_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: a225c108-a6ca-4343-8e10-fe10c841a688 The Resource ID |
sort | |
limit | integer >= 1 Default: 100 Example: limit=50 maximum number of records given, see pagination for more info |
offset | integer >= 0 Default: 0 Example: offset=0 the number of records to be skipped, see pagination for more info |
filter | string Example: filter=created_at:gt:2020-09-26,and,(id:not:starts_with:0000,or,id:contains:FFFF) used to filter the dataset, see filtering for more info |
show | string Example: show=id,updated_at limit the response to show only specific properties, see slimmed down result for more info |
hide | string Example: hide=created_at,updated_at hide properties from the response, see slimmed down result for more info |
ETag | string <md5> Example: "62a232916ac3a2f395791c108c295e8d" Entity Tag, used for caching |
id | string <uuid> /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Unique identifier |
resource_id | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... |
date | string <date> |
hours_available | number <double> |
hours_work | number <double> |
hours_leave | number <double> |
hours_absence | number <double> |
created_at | string <date-time> Creation date / time |
updated_at | string <date-time> Update date / time |
{- "id": "b18c06cd-cc69-4b26-81de-04e78c4fd3b0",
- "resource_id": "f189bd17-445d-4d78-84ba-b8d845305121",
- "date": "2020-10-19",
- "hours_available": 8,
- "hours_work": 8,
- "hours_leave": 0,
- "hours_absence": 0,
- "created_at": "2020-01-02T11:24:35Z",
- "updated_at": "2020-01-02T11:24:35Z"
}
Retrieve the Schedule List for the given year
resource_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: a225c108-a6ca-4343-8e10-fe10c841a688 The Resource ID |
year required | integer/^\d{4}$/ Example: 2020 |
sort | |
limit | integer >= 1 Default: 100 Example: limit=50 maximum number of records given, see pagination for more info |
offset | integer >= 0 Default: 0 Example: offset=0 the number of records to be skipped, see pagination for more info |
filter | string Example: filter=created_at:gt:2020-09-26,and,(id:not:starts_with:0000,or,id:contains:FFFF) used to filter the dataset, see filtering for more info |
show | string Example: show=id,updated_at limit the response to show only specific properties, see slimmed down result for more info |
hide | string Example: hide=created_at,updated_at hide properties from the response, see slimmed down result for more info |
ETag | string <md5> Example: "62a232916ac3a2f395791c108c295e8d" Entity Tag, used for caching |
count | integer Total number of items that can be retrieved with respect of given filters |
offset | integer Offset of the result |
limit | integer Limit the number of results |
Array of objects (Schedule) |
{- "count": 1,
- "offset": 0,
- "limit": 100,
- "data": [
- {
- "id": "b18c06cd-cc69-4b26-81de-04e78c4fd3b0",
- "resource_id": "f189bd17-445d-4d78-84ba-b8d845305121",
- "date": "2020-10-19",
- "hours_available": 8,
- "hours_work": 8,
- "hours_leave": 0,
- "hours_absence": 0,
- "created_at": "2020-01-02T11:24:35Z",
- "updated_at": "2020-01-02T11:24:35Z"
}
]
}
Retrieve the Schedule List for the given year and month
resource_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: a225c108-a6ca-4343-8e10-fe10c841a688 The Resource ID |
year required | integer/^\d{4}$/ Example: 2020 |
month required | integer [ 1 .. 12 ] /^\d{2}$/ Example: 3 |
sort | |
limit | integer >= 1 Default: 100 Example: limit=50 maximum number of records given, see pagination for more info |
offset | integer >= 0 Default: 0 Example: offset=0 the number of records to be skipped, see pagination for more info |
filter | string Example: filter=created_at:gt:2020-09-26,and,(id:not:starts_with:0000,or,id:contains:FFFF) used to filter the dataset, see filtering for more info |
show | string Example: show=id,updated_at limit the response to show only specific properties, see slimmed down result for more info |
hide | string Example: hide=created_at,updated_at hide properties from the response, see slimmed down result for more info |
ETag | string <md5> Example: "62a232916ac3a2f395791c108c295e8d" Entity Tag, used for caching |
count | integer Total number of items that can be retrieved with respect of given filters |
offset | integer Offset of the result |
limit | integer Limit the number of results |
Array of objects (Schedule) |
{- "count": 1,
- "offset": 0,
- "limit": 100,
- "data": [
- {
- "id": "b18c06cd-cc69-4b26-81de-04e78c4fd3b0",
- "resource_id": "f189bd17-445d-4d78-84ba-b8d845305121",
- "date": "2020-10-19",
- "hours_available": 8,
- "hours_work": 8,
- "hours_leave": 0,
- "hours_absence": 0,
- "created_at": "2020-01-02T11:24:35Z",
- "updated_at": "2020-01-02T11:24:35Z"
}
]
}
Retrieve the Schedule List for the given year, month and day
resource_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: a225c108-a6ca-4343-8e10-fe10c841a688 The Resource ID |
year required | integer/^\d{4}$/ Example: 2020 |
month required | string [ 1 .. 12 ] /^\d{2}$/ Example: 3 |
day required | string [ 1 .. 31 ] /^\d{2}$/ Example: 9 |
sort | |
limit | integer >= 1 Default: 100 Example: limit=50 maximum number of records given, see pagination for more info |
offset | integer >= 0 Default: 0 Example: offset=0 the number of records to be skipped, see pagination for more info |
filter | string Example: filter=created_at:gt:2020-09-26,and,(id:not:starts_with:0000,or,id:contains:FFFF) used to filter the dataset, see filtering for more info |
show | string Example: show=id,updated_at limit the response to show only specific properties, see slimmed down result for more info |
hide | string Example: hide=created_at,updated_at hide properties from the response, see slimmed down result for more info |
ETag | string <md5> Example: "62a232916ac3a2f395791c108c295e8d" Entity Tag, used for caching |
count | integer Total number of items that can be retrieved with respect of given filters |
offset | integer Offset of the result |
limit | integer Limit the number of results |
Array of objects (Schedule) |
{- "count": 1,
- "offset": 0,
- "limit": 100,
- "data": [
- {
- "id": "b18c06cd-cc69-4b26-81de-04e78c4fd3b0",
- "resource_id": "f189bd17-445d-4d78-84ba-b8d845305121",
- "date": "2020-10-19",
- "hours_available": 8,
- "hours_work": 8,
- "hours_leave": 0,
- "hours_absence": 0,
- "created_at": "2020-01-02T11:24:35Z",
- "updated_at": "2020-01-02T11:24:35Z"
}
]
}
Most integrations that create Resources want to relate the Time Tracking with those resources.
One important note regarding this:
Time Tracking does not have a direct relation to a resource.
However there is a indirect relation, a few things to take in account:
By retrieving Time Tracking with user.resource
it may be possible to connect
a Time Tracking to a resource. This link is optional, thus it is possible no resource is returned.
In addition, make sure that the customer has set up their users correctly.
See Difference between resources and users in our support documentation.
Time Tracking is used to keep track of the activities that a user has done. There are 2 options to store time
Retrieve the TimeTracking List for this card
sort | |
limit | integer >= 1 Default: 100 Example: limit=50 maximum number of records given, see pagination for more info |
offset | integer >= 0 Default: 0 Example: offset=0 the number of records to be skipped, see pagination for more info |
filter | string Example: filter=created_at:gt:2020-09-26,and,(id:not:starts_with:0000,or,id:contains:FFFF) used to filter the dataset, see filtering for more info |
show | string Example: show=id,updated_at limit the response to show only specific properties, see slimmed down result for more info |
hide | string Example: hide=created_at,updated_at hide properties from the response, see slimmed down result for more info |
with | Array of strings Items Enum: "card" "user" "user.resource" "activity" object(s) included in the dataset, see eager loading for more info. Possible options are: |
ETag | string <md5> Example: "62a232916ac3a2f395791c108c295e8d" Entity Tag, used for caching |
card_id | string <uuid> (IdReadOnly) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... The id of the card connected to this Time Tracking When time tracking is in draft, the card_id can be null. This indicates a user started time tracking without specifying an card yet. |
id | string <uuid> /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Unique identifier |
start | string <date-time> Start date and time of time tracking row |
end | string <date-time> End date and time of time tracking row |
duration | integer the duration in minutes |
status | string Default: "draft" Enum: "draft" "pending" "approved" "rejected" Status of TimeTracking. For the user role
|
activity_id | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... |
user_id | string or null <uuid> /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... The user that performed the activity for which the time is tracked If not given the current user will be used Can be null if the user is deleted |
note | string note from an end-user |
locked | boolean Locks the Time Tracking for futher changes,
only a user with the |
synchronized_at | string <date-time> Third-party property to show the last synchronization |
external_ref | string (ExternalRef) Third-party reference of the object, for informational purposes only |
external_note | string Third-party note that is read-only for an end-user |
external_failed | boolean Default: false Third-party indicator of a processing error |
running | boolean signifies that a Time Tracking was started but not yet ended |
created_at | string <date-time> Creation date / time |
updated_at | string <date-time> Update date / time |
{- "card_id": "f189bd17-445d-4d78-84ba-b8d845305121",
- "id": "acaa8748-1a37-4581-bd22-3d7646767723",
- "start": "2020-01-02T11:24:35Z",
- "end": "2020-01-02T11:34:35Z",
- "duration": 120,
- "status": "draft",
- "activity_id": "f189bd17-445d-4d78-84ba-b8d845305121",
- "user_id": "10e61b05-d504-4bba-9894-415e6114cb79",
- "note": "string",
- "locked": true,
- "synchronized_at": "2019-08-24T14:15:22Z",
- "external_ref": "fb1033a2ed70",
- "external_note": "Reason for rejection - Hours are way too much",
- "external_failed": true,
- "running": true,
- "created_at": "2020-01-02T11:24:35Z",
- "updated_at": "2020-01-02T11:24:35Z"
}
Create a new TimeTracking and store it for this collection
Because oAuth is authenticated by a user, this is the user creating this time tracking. For integrations that are not user specific, customers are advised to create a separate user specifically for this integration.
show | string Example: show=id,updated_at limit the response to show only specific properties, see slimmed down result for more info |
hide | string Example: hide=created_at,updated_at hide properties from the response, see slimmed down result for more info |
TimeTracking to create
activity_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... |
start required | string <date-time> Start date and time of time tracking row |
card_id | string or null <uuid> /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... The id of the card connected to this Time Tracking When time tracking is in draft, the card_id can be null. This indicates a user started time tracking without specifying an card yet. To change the status from draft to anything else, a card needs to be chosen.
|
end | string <date-time> End date and time of time tracking row |
duration | integer the duration in minutes |
status | string Default: "draft" Enum: "draft" "pending" "approved" "rejected" Status of TimeTracking. For the user role
|
user_id | string or null <uuid> /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... The user that performed the activity for which the time is tracked If not given the current user will be used Can be null if the user is deleted |
note | string note from an end-user |
locked | boolean Locks the Time Tracking for futher changes,
only a user with the |
synchronized_at | string <date-time> Third-party property to show the last synchronization |
external_ref | string (ExternalRef) Third-party reference of the object, for informational purposes only |
external_note | string Third-party note that is read-only for an end-user |
external_failed | boolean Default: false Third-party indicator of a processing error |
{- "card_id": "92f8fd27-2ddb-4ca4-b42a-610b9d0349c9",
- "start": "2020-01-02T11:24:35Z",
- "end": "2020-01-02T11:34:35Z",
- "duration": 120,
- "status": "draft",
- "activity_id": "f189bd17-445d-4d78-84ba-b8d845305121",
- "user_id": "10e61b05-d504-4bba-9894-415e6114cb79",
- "note": "string",
- "locked": true,
- "synchronized_at": "2019-08-24T14:15:22Z",
- "external_ref": "fb1033a2ed70",
- "external_note": "Reason for rejection - Hours are way too much",
- "external_failed": true
}
{- "card_id": "f189bd17-445d-4d78-84ba-b8d845305121",
- "id": "acaa8748-1a37-4581-bd22-3d7646767723",
- "start": "2020-01-02T11:24:35Z",
- "end": "2020-01-02T11:34:35Z",
- "duration": 120,
- "status": "draft",
- "activity_id": "f189bd17-445d-4d78-84ba-b8d845305121",
- "user_id": "10e61b05-d504-4bba-9894-415e6114cb79",
- "note": "string",
- "locked": true,
- "synchronized_at": "2019-08-24T14:15:22Z",
- "external_ref": "fb1033a2ed70",
- "external_note": "Reason for rejection - Hours are way too much",
- "external_failed": true,
- "running": true,
- "created_at": "2020-01-02T11:24:35Z",
- "updated_at": "2020-01-02T11:24:35Z"
}
Retrieve a single TimeTracking from this collection
time_tracking_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: 1a092203-8cb4-4fa8-9428-19d8d49b714a The TimeTracking ID |
show | string Example: show=id,updated_at limit the response to show only specific properties, see slimmed down result for more info |
hide | string Example: hide=created_at,updated_at hide properties from the response, see slimmed down result for more info |
with | Array of strings Items Enum: "card" "user" "user.resource" "activity" object(s) included in the dataset, see eager loading for more info. Possible options are: |
ETag | string <md5> Example: "62a232916ac3a2f395791c108c295e8d" Entity Tag, used for caching |
card_id | string <uuid> (IdReadOnly) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... The id of the card connected to this Time Tracking When time tracking is in draft, the card_id can be null. This indicates a user started time tracking without specifying an card yet. |
id | string <uuid> /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Unique identifier |
start | string <date-time> Start date and time of time tracking row |
end | string <date-time> End date and time of time tracking row |
duration | integer the duration in minutes |
status | string Default: "draft" Enum: "draft" "pending" "approved" "rejected" Status of TimeTracking. For the user role
|
activity_id | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... |
user_id | string or null <uuid> /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... The user that performed the activity for which the time is tracked If not given the current user will be used Can be null if the user is deleted |
note | string note from an end-user |
locked | boolean Locks the Time Tracking for futher changes,
only a user with the |
synchronized_at | string <date-time> Third-party property to show the last synchronization |
external_ref | string (ExternalRef) Third-party reference of the object, for informational purposes only |
external_note | string Third-party note that is read-only for an end-user |
external_failed | boolean Default: false Third-party indicator of a processing error |
running | boolean signifies that a Time Tracking was started but not yet ended |
created_at | string <date-time> Creation date / time |
updated_at | string <date-time> Update date / time |
{- "card_id": "f189bd17-445d-4d78-84ba-b8d845305121",
- "id": "acaa8748-1a37-4581-bd22-3d7646767723",
- "start": "2020-01-02T11:24:35Z",
- "end": "2020-01-02T11:34:35Z",
- "duration": 120,
- "status": "draft",
- "activity_id": "f189bd17-445d-4d78-84ba-b8d845305121",
- "user_id": "10e61b05-d504-4bba-9894-415e6114cb79",
- "note": "string",
- "locked": true,
- "synchronized_at": "2019-08-24T14:15:22Z",
- "external_ref": "fb1033a2ed70",
- "external_note": "Reason for rejection - Hours are way too much",
- "external_failed": true,
- "running": true,
- "created_at": "2020-01-02T11:24:35Z",
- "updated_at": "2020-01-02T11:24:35Z"
}
Update a single TimeTracking
The current status
of a Time Tracking determines what is allowed to be updated.
A locked Time Tracking can only be unlocked by a user with the role Administrator
.
A user with the role Worker
can only update a Time Tracking with the status draft
or rejected
.
time_tracking_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: 1a092203-8cb4-4fa8-9428-19d8d49b714a The TimeTracking ID |
card_id | string or null <uuid> /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... The id of the card connected to this Time Tracking When time tracking is in draft, the card_id can be null. This indicates a user started time tracking without specifying an card yet. To change the status from draft to anything else, a card needs to be chosen.
|
start | string <date-time> Start date and time of time tracking row |
end | string <date-time> End date and time of time tracking row |
duration | integer the duration in minutes |
status | string Default: "draft" Enum: "draft" "pending" "approved" "rejected" Status of TimeTracking. For the user role
|
activity_id | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... |
user_id | string or null <uuid> /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... The user that performed the activity for which the time is tracked If not given the current user will be used Can be null if the user is deleted |
note | string note from an end-user |
locked | boolean Locks the Time Tracking for futher changes,
only a user with the |
synchronized_at | string <date-time> Third-party property to show the last synchronization |
external_ref | string (ExternalRef) Third-party reference of the object, for informational purposes only |
external_note | string Third-party note that is read-only for an end-user |
external_failed | boolean Default: false Third-party indicator of a processing error |
{- "card_id": "92f8fd27-2ddb-4ca4-b42a-610b9d0349c9",
- "start": "2020-01-02T11:24:35Z",
- "end": "2020-01-02T11:34:35Z",
- "duration": 120,
- "status": "draft",
- "activity_id": "f189bd17-445d-4d78-84ba-b8d845305121",
- "user_id": "10e61b05-d504-4bba-9894-415e6114cb79",
- "note": "string",
- "locked": true,
- "synchronized_at": "2019-08-24T14:15:22Z",
- "external_ref": "fb1033a2ed70",
- "external_note": "Reason for rejection - Hours are way too much",
- "external_failed": true
}
{- "reference": "689fba08-56b0-468c-ad97-809e7dab8a45",
- "errors": [
- {
- "code": 401,
- "message": "Unauthorized",
- "reference": "689fba08-56b0-468c-ad97-809e7dab8a45",
- "timestamp": "2020-01-02T11:24:35.000Z"
}
]
}
Remove a single TimeTracking
time_tracking_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: 1a092203-8cb4-4fa8-9428-19d8d49b714a The TimeTracking ID |
{- "reference": "689fba08-56b0-468c-ad97-809e7dab8a45",
- "errors": [
- {
- "code": 401,
- "message": "Unauthorized",
- "reference": "689fba08-56b0-468c-ad97-809e7dab8a45",
- "timestamp": "2020-01-02T11:24:35.000Z"
}
]
}
Retrieve the Warehouse List
sort | |
limit | integer >= 1 Default: 100 Example: limit=50 maximum number of records given, see pagination for more info |
offset | integer >= 0 Default: 0 Example: offset=0 the number of records to be skipped, see pagination for more info |
filter | string Example: filter=created_at:gt:2020-09-26,and,(id:not:starts_with:0000,or,id:contains:FFFF) used to filter the dataset, see filtering for more info |
show | string Example: show=id,updated_at limit the response to show only specific properties, see slimmed down result for more info |
hide | string Example: hide=created_at,updated_at hide properties from the response, see slimmed down result for more info |
ETag | string <md5> Example: "62a232916ac3a2f395791c108c295e8d" Entity Tag, used for caching |
X-REFERENCE | string <uuid> Example: "05cad843-4214-4537-9010-90a7c3ba91f1" Reference Tag, used for internal tracing and debugging of the request |
count | integer Total number of items that can be retrieved with respect of given filters |
offset | integer Offset of the result |
limit | integer Limit the number of results |
Array of objects (Warehouse) |
{- "count": 1,
- "offset": 0,
- "limit": 100,
- "data": [
- {
- "id": "b006d5fd-b5f1-45c5-94bd-f60a50b79771",
- "code": "EN",
- "name": "Depot Enter (NL)",
- "external_ref": "fb1033a2ed70",
- "created_at": "2020-01-02T11:24:35Z",
- "updated_at": "2020-01-02T11:24:35Z"
}
]
}
Create a new Warehouse and store it
show | string Example: show=id,updated_at limit the response to show only specific properties, see slimmed down result for more info |
hide | string Example: hide=created_at,updated_at hide properties from the response, see slimmed down result for more info |
Warehouse to create
code | string |
name | string |
external_ref | string (ExternalRef) Third-party reference of the object, for informational purposes only |
{- "code": "EN",
- "name": "Depot Enter (NL)",
- "external_ref": "fb1033a2ed70"
}
{- "id": "b006d5fd-b5f1-45c5-94bd-f60a50b79771",
- "code": "EN",
- "name": "Depot Enter (NL)",
- "external_ref": "fb1033a2ed70",
- "created_at": "2020-01-02T11:24:35Z",
- "updated_at": "2020-01-02T11:24:35Z"
}
Retrieve a single Warehouse
warehouse_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: b006d5fd-b5f1-45c5-94bd-f60a50b79771 The Warehouse ID |
show | string Example: show=id,updated_at limit the response to show only specific properties, see slimmed down result for more info |
hide | string Example: hide=created_at,updated_at hide properties from the response, see slimmed down result for more info |
ETag | string <md5> Example: "62a232916ac3a2f395791c108c295e8d" Entity Tag, used for caching |
id | string <uuid> /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Unique identifier |
code | string |
name | string |
external_ref | string (ExternalRef) Third-party reference of the object, for informational purposes only |
created_at | string <date-time> Creation date / time |
updated_at | string <date-time> Update date / time |
{- "id": "b006d5fd-b5f1-45c5-94bd-f60a50b79771",
- "code": "EN",
- "name": "Depot Enter (NL)",
- "external_ref": "fb1033a2ed70",
- "created_at": "2020-01-02T11:24:35Z",
- "updated_at": "2020-01-02T11:24:35Z"
}
Update a single Warehouse
warehouse_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: b006d5fd-b5f1-45c5-94bd-f60a50b79771 The Warehouse ID |
code | string |
name | string |
external_ref | string (ExternalRef) Third-party reference of the object, for informational purposes only |
{- "code": "EN",
- "name": "Depot Enter (NL)",
- "external_ref": "fb1033a2ed70"
}
{- "reference": "689fba08-56b0-468c-ad97-809e7dab8a45",
- "errors": [
- {
- "code": 401,
- "message": "Unauthorized",
- "reference": "689fba08-56b0-468c-ad97-809e7dab8a45",
- "timestamp": "2020-01-02T11:24:35.000Z"
}
]
}
Remove a single Warehouse
warehouse_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: b006d5fd-b5f1-45c5-94bd-f60a50b79771 The Warehouse ID |
{- "reference": "689fba08-56b0-468c-ad97-809e7dab8a45",
- "errors": [
- {
- "code": 401,
- "message": "Unauthorized",
- "reference": "689fba08-56b0-468c-ad97-809e7dab8a45",
- "timestamp": "2020-01-02T11:24:35.000Z"
}
]
}
Webhooks can be used to get a signal from our servers if a certain event is triggered.
Instead of retrieving objects for example every 30 minutes, and looking for changes. Webhooks can be used to receive a signal when an action is performed.
There is a wide variety of triggers available.
A webhook can be manually set up via Settings -> Developers in the vPlan web frontend.
Or added programmatically via the POST /webhook
Note
We strongly suggest that you respond with a 2xx HTTP status code immediately after receiving the message and handle all other tasks afterward.
Think of it like parcel delivery, if you were to drop off a parcel at the service point, they would issue a receipt stating that the parcel is being sent. They don't make you wait for the recipient to receive and use the package.
Retrieve the Webhook List
sort | |
limit | integer >= 1 Default: 100 Example: limit=50 maximum number of records given, see pagination for more info |
offset | integer >= 0 Default: 0 Example: offset=0 the number of records to be skipped, see pagination for more info |
filter | string Example: filter=created_at:gt:2020-09-26,and,(id:not:starts_with:0000,or,id:contains:FFFF) used to filter the dataset, see filtering for more info |
show | string Example: show=id,updated_at limit the response to show only specific properties, see slimmed down result for more info |
hide | string Example: hide=created_at,updated_at hide properties from the response, see slimmed down result for more info |
ETag | string <md5> Example: "62a232916ac3a2f395791c108c295e8d" Entity Tag, used for caching |
X-REFERENCE | string <uuid> Example: "05cad843-4214-4537-9010-90a7c3ba91f1" Reference Tag, used for internal tracing and debugging of the request |
count | integer Total number of items that can be retrieved with respect of given filters |
offset | integer Offset of the result |
limit | integer Limit the number of results |
Array of objects (Webhook) |
{- "count": 1,
- "offset": 0,
- "limit": 100,
- "data": [
- {
- "id": "bf10a807-7583-47e6-aa6a-70e0313d81b0",
- "description": "string",
- "active": true,
- "api_key_id": "b0dd218e-3bcf-4bdb-a1e3-0689d60a8afd",
- "developer_client_id": "edacd88b-ac24-46ed-9e2e-107a147f9d6c",
- "event_types": [
- "card.created"
], - "fail_streak": 363,
- "fail_streak_started_at": "2022-02-15T15:32:05Z",
- "last_failed_at": "2022-02-18T20:39:51Z",
- "mailed_warning_at": "2022-02-15T16:33:07Z",
- "mailed_disabled_at": null,
- "disabled_until": null,
- "third_party": true,
- "can_send": true,
- "created_at": "2020-01-02T11:24:35Z",
- "updated_at": "2020-01-02T11:24:35Z"
}
]
}
Create a new Webhook and store it
show | string Example: show=id,updated_at limit the response to show only specific properties, see slimmed down result for more info |
hide | string Example: hide=created_at,updated_at hide properties from the response, see slimmed down result for more info |
Webhook to create
url required | string <uri> ^https://.+ the url where the event is send to
|
description | string |
active | boolean |
Array of Normal Object (string) or Nested Object (string) or Nested Object with Pivot (string) array of all event that are send to the url |
{- "description": "string",
- "active": true,
- "event_types": [
- "card.created"
]
}
{- "id": "bf10a807-7583-47e6-aa6a-70e0313d81b0",
- "description": "string",
- "active": true,
- "api_key_id": "b0dd218e-3bcf-4bdb-a1e3-0689d60a8afd",
- "developer_client_id": "edacd88b-ac24-46ed-9e2e-107a147f9d6c",
- "event_types": [
- "card.created"
], - "fail_streak": 363,
- "fail_streak_started_at": "2022-02-15T15:32:05Z",
- "last_failed_at": "2022-02-18T20:39:51Z",
- "mailed_warning_at": "2022-02-15T16:33:07Z",
- "mailed_disabled_at": null,
- "disabled_until": null,
- "third_party": true,
- "can_send": true,
- "created_at": "2020-01-02T11:24:35Z",
- "updated_at": "2020-01-02T11:24:35Z"
}
Retrieve a single Webhook
webhook_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: bf10a807-7583-47e6-aa6a-70e0313d81b0 The Webhook ID |
show | string Example: show=id,updated_at limit the response to show only specific properties, see slimmed down result for more info |
hide | string Example: hide=created_at,updated_at hide properties from the response, see slimmed down result for more info |
ETag | string <md5> Example: "62a232916ac3a2f395791c108c295e8d" Entity Tag, used for caching |
id required | string <uuid> /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Unique identifier |
url required | string <uri> ^https://.+ the url where the event is send to
|
description required | string |
active required | boolean |
api_key_id required | string or null <uuid> if the webhook is created via an api key, the id of that api key is shown here to look up your api_key id look at the /me endpoint |
developer_client_id required | string or null <uuid> if the webhook is created via an oAuth connection, the client id of the oAuth app is shown here |
required | Array of Normal Object (string) or Nested Object (string) or Nested Object with Pivot (string) array of all event that are send to the url |
third_party required | boolean true if the webhook is created via API Key or oAuth |
created_at required | string <date-time> Creation date / time |
updated_at required | string <date-time> Update date / time |
fail_streak | integer or null number of last consecutive failed attempts |
fail_streak_started_at | string or null <date-time> Date and time the current fail streak started |
last_failed_at | string or null <date-time> Date and time of the last failed attempt of the current fail streak |
mailed_warning_at | string or null <date-time> Date and time the warning mail was sent to the administrators |
mailed_disabled_at | string or null <date-time> Date and time the disabled notify mail was sent to the administrators |
disabled_until | string or null <date-time> Date and time indicating a temporarily disabled a webhook |
can_send | boolean false if the webhook had too many consecutive failed attempts or was temporarily disabled when false events will be suspended and not send out automatically |
{- "id": "bf10a807-7583-47e6-aa6a-70e0313d81b0",
- "description": "string",
- "active": true,
- "api_key_id": "b0dd218e-3bcf-4bdb-a1e3-0689d60a8afd",
- "developer_client_id": "edacd88b-ac24-46ed-9e2e-107a147f9d6c",
- "event_types": [
- "card.created"
], - "fail_streak": 363,
- "fail_streak_started_at": "2022-02-15T15:32:05Z",
- "last_failed_at": "2022-02-18T20:39:51Z",
- "mailed_warning_at": "2022-02-15T16:33:07Z",
- "mailed_disabled_at": null,
- "disabled_until": null,
- "third_party": true,
- "can_send": true,
- "created_at": "2020-01-02T11:24:35Z",
- "updated_at": "2020-01-02T11:24:35Z"
}
Update a single Webhook
webhook_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: bf10a807-7583-47e6-aa6a-70e0313d81b0 The Webhook ID |
url | string <uri> ^https://.+ the url where the event is send to
|
description | string |
active | boolean |
Array of Normal Object (string) or Nested Object (string) or Nested Object with Pivot (string) array of all event that are send to the url |
{- "description": "string",
- "active": true,
- "event_types": [
- "card.created"
]
}
{- "reference": "689fba08-56b0-468c-ad97-809e7dab8a45",
- "errors": [
- {
- "code": 401,
- "message": "Unauthorized",
- "reference": "689fba08-56b0-468c-ad97-809e7dab8a45",
- "timestamp": "2020-01-02T11:24:35.000Z"
}
]
}
Remove a single Webhook
webhook_id required | string <uuid> (Id) /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: bf10a807-7583-47e6-aa6a-70e0313d81b0 The Webhook ID |
{- "reference": "689fba08-56b0-468c-ad97-809e7dab8a45",
- "errors": [
- {
- "code": 401,
- "message": "Unauthorized",
- "reference": "689fba08-56b0-468c-ad97-809e7dab8a45",
- "timestamp": "2020-01-02T11:24:35.000Z"
}
]
}
Webhooks have 3 general result types:
Type | Description |
---|---|
Normal objects | either a Create, Update or Delete for objects like Card, Collection and Comment |
Nested objects | either an Attached or Detached object to a parent object like a Label or Resource attached to a Card or Collection |
Nested objects with pivot values | Same as Nested objects however with pivot values, like Activity attached to a Card with a time estimate of 60 minutes |
Note
We strongly suggest that you respond with a 2xx HTTP status code immediately after receiving the message and handle all other tasks afterward.
Think of it like parcel delivery, if you were to drop off a parcel at the service point, they would issue a receipt stating that the parcel is being sent. They don't make you wait for the recipient to receive and use the package.
environment | string hash identifier unique per customer |
trigger | string Information about who or what triggered the event. Normally this would be
|
event | string (WebhookEventNormal) Enum: "card.created" "card.updated" "card.deleted" "card.updated.merged" "collection.created" "collection.updated" "collection.deleted" "attachment.created" "attachment.updated" "attachment.deleted" "comment.created" "comment.updated" "comment.deleted" "time_tracking.created" "time_tracking.updated" "time_tracking.deleted" Possible events for a basic object |
object |
{- "environment": "string",
- "trigger": "string",
- "event": "card.created",
- "data": {
- "new": { },
- "old": { },
- "current": { }
}
}
environment | string hash identifier unique per customer |
trigger | string Information about who or what triggered the event. Normally this would be
|
event | string (WebhookEventNested) Enum: "card.label.attached" "card.label.detached" "card.resource.attached" "card.resource.detached" "collection.label.attached" "collection.label.detached" "collection.follower.attached" "collection.follower.detached" Possible events for objects that are attached or detached to another object |
object |
{- "environment": "string",
- "trigger": "string",
- "event": "card.label.attached",
- "data": {
- "attached": { },
- "detached": { },
- "current": { }
}
}
environment | string hash identifier unique per customer |
trigger | string Information about who or what triggered the event. Normally this would be
|
event | string (WebhookEventNestedPivot) Enum: "card.activity.attached" "card.activity.detached" "card.activity.updated" "collection.activity.attached" "collection.activity.detached" "collection.activity.updated" "collection.checklist.created" "collection.checklist.updated" "collection.checklist.deleted" "collection.checklist.item.attached" "collection.checklist.item.detached" "collection.checklist.item.updated" |
object |
{- "environment": "string",
- "trigger": "string",
- "event": "card.activity.attached",
- "data": {
- "attached": { },
- "detached": { },
- "current": { },
- "new": { },
- "updated": { }
}
}