Introduction

Welcome to our API documentation! Designed to be both powerful and easy to integrate, our API provides access to a variety of essential features and resources for your applications. It is built on modern, standardized principles, offering a smooth and secure development experience.

Authentication, at the heart of our system, ensures that only authorized requests can interact with the API. Through a mechanism based on API keys and the Bearer Token scheme, we ensure the security of data and communications between your application and our servers. Each request must include a valid key, and responses follow a structured format to facilitate integration and debugging.

To simplify your experience, all responses, whether successful or errors, use standard HTTP codes associated with clear and concise messages. Additionally, contextual information is provided to help you quickly resolve any potential issues.

Finally, our API is designed with great attention to reliability and transparency, allowing you to focus on integration and improvement of your applications while we handle the technical complexity in the background.

API Introduction

This documentation will guide you through the effective use of our API. It will help you understand key concepts and quickly integrate them into your applications.

All requests made to the API require a valid API key to ensure security and authentication. Specific resource endpoints must be added to a common base to structure your calls.

API Base URL

https://api.planiso.com

Authentication

Authentication is a key step in accessing the secure resources of our API. It ensures that only authorized requests, coming from legitimate applications or users, can interact with the API. This mechanism relies on the use of a valid API key that serves to identify the user or application making the request.

The API will reject any access attempt without a valid key, with an appropriate error code. This key must be included in the header of each request, thus ensuring the security of exchanges. It secures all communications between your application and our API.

Getting the API Key

To obtain your API key, start by connecting to our platform. Then, click on "Silo Settings" (gear icon), then select "Organization Information". In the second module "Planiso API Key", click on the pencil to generate your API key.

Once generated, you will receive a unique value that must not be disclosed. If lost, you will need to generate a new key.

To retrieve it, simply go to the "API Keys" section of your dashboard after logging in, and generate a new key. You can use it for all your interactions with the API by passing it in the Authorization header of each request.

For more details on using the API key, see the "Using the API Key" section of our documentation.

Using the API Key

To ensure secure communications and protect sensitive data, each request sent to the API must include a valid API key. This key, which identifies the user or application, is essential for request authentication and authorization.

The API key must be securely transmitted in the HTTP header using the Bearer Token scheme. This standard format ensures reliable request validation while avoiding key exposure in less secure locations, such as URL parameters or GET request bodies.

The required format for transmitting the key in the header is:

Authorization: Bearer {API_KEY}

Make sure to always replace {API_KEY} with the provided key and not expose this key in your logs or code repositories. A missing or incorrect key will result in immediate request rejection by the API with an appropriate error code.

Usage Example

Here's an example of a request using a valid API key to access a resource:

curl https://api.planiso.com/v1/user \
    -X GET \
    -H "Authorization: Bearer {API_KEY}" \

Standardized Responses

For optimal management and efficient debugging, our API adopts a standardized response format, aligned with universal HTTP codes. This approach allows not only to easily interpret the status of each request, whether successful or failed, but also to quickly understand the nature of the response. Each HTTP status code corresponds to a specific result (success or error), and the associated messages provide clear information to explain the request outcome.

To ensure smooth integration, all responses, whether successful or error, follow a uniform structure. This allows for consistent handling in your code and helps you process responses systematically and effectively. Thus, each response returned by the API will contain three main elements:

code : A unique HTTP code corresponding to the request status. This code is an immediate indicator of the request result, whether it's a success or an error. For example, a 200 means the request was processed successfully, while a 404 indicates the requested resource was not found.

message : A brief explanation of the status. This message is essential for understanding the result without having to deeply analyze the API's internal responses. It provides a direct explanation of the success or failure of the request.

data : Additional information providing context to the response. This may include additional details to explain a success (such as the created resource data) or precise information to resolve an error (such as invalid parameters or suggestions to resolve a conflict).

This uniform response model allows developers to handle different situations quickly and reliably. It combines simplicity for immediate processing and flexibility for more in-depth analysis if needed. Thus, you spend less time debugging and more time improving your application.

Example of a standardized response
{
    "code": 200,
    "message": "Request processed successfully.",
    "data": {
        "no": 123,
        "name": "New resource",
        "description": "Details of the created resource."
    }
}
Universal HTTP Codes

200 OKEverything worked as expected.

201 CreatedThe request has been processed successfully and a new resource has been created.

400 Bad RequestThe request is unacceptable, often due to a missing required parameter.

401 UnauthorizedNo valid API key provided.

402 Request FailedParameters were valid but the request failed.

403 ForbiddenThe API key doesn't have the required permissions to execute the request.

404 Not FoundThe requested resource doesn't exist.

409 ConflictThe request conflicts with another request (perhaps due to using the same idempotent key).

429 Too Many RequestsToo many requests hit the API too quickly. We recommend an exponential backoff of your requests.

Users

This object represents a user/employee contained in your Planiso silo. Use it to create, view, update and delete users.

Endpoints

GET/v1/user

GET/v1/user/{no}

POST/v1/user

PUT/v1/user/{no}

DELETE/v1/user/{no}

List users

Returns the list of all users/employees contained in your Planiso silo. Users are returned sorted by creation date. If no user is found, an empty list is returned.

Attributes

no int
Unique number in your silo that identifies the user

aff_number stringUnique in silo. Generated by Planiso.
User number automatically generated at creation by Planiso with prefix "PERS-". It is unique per user. It is used to identify the user in the application.

custom_no stringUnique in silo
Custom user number. It is used to identify the user between Planiso and another system you use. Example: personnel number, contract number, etc.

fullname stringRequired in Planiso
User's first name

username stringUnique in Planiso
User's last name

email stringUnique in Planiso
User's email address

phone string|null
User's phone number

phonext date|null
Creation date of the user

cellphone string|null
User's cellphone number

hired_date date|null
User's hire date

create_date date
User creation date

last_update date
User's last modification date

active boolean
Indicates if the user is active

Returns

object An associative array with a data property that contains an array of users sorted by creation date.

Endpoint
GET/v1/user
Request
curl https://api.planiso.com/v1/user \
    -X GET \
    -H "Authorization: Bearer {API_KEY}" \
Response
{
    "code": 200,
    "message": "",
    "data": [
        {
            "no": "1",
            "aff_number": "PERS-001",
            "custom_no": "",
            "active": true,
            "username": "jdoe",
            "fullname": "John Doe",
            "email": "john.doe@example.com",
            "phone": "123-456-7890",
            "phonext": "101",
            "cellphone": "987-654-3210",
            "hired_date": "2023-06-01",
            "create_date": "2024-11-20 10:15:30",
            "last_update": "2024-11-22 15:00:00"
        },
        {
            "no": "2",
            "aff_number": "PERS-002",
            "custom_no": "CUST-202",
            "active": false,
            "username": "asmith",
            "fullname": "Alice Smith",
            "email": "alice.smith@example.com",
            "phone": "345-678-9012",
            "phonext": "203",
            "cellphone": "123-123-1234",
            "hired_date": "2024-03-15",
            "create_date": "2024-11-20 12:00:00",
            "last_update": "2024-11-22 16:45:00"
        }
    ]
}
Specific error responses

401 Unauthorized No valid API key provided

403 Forbidden The API key doesn't have the required permissions

500 Internal Server Error An internal server error occurred

Find a user

Returns the information of the user/employee whose number {no} is provided. If no user is found, code 400 and an empty array are returned.

Attributes

no int
Unique number in your silo that identifies the user

aff_number stringUnique in silo. Generated by Planiso.
User number automatically generated at creation by Planiso with prefix "PERS-". It is unique per user. It is used to identify the user in the application.

custom_no stringUnique in silo
Custom user number. It is used to identify the user between Planiso and another system you use. Example: personnel number, contract number, etc.

fullname stringRequired in Planiso
User's first name

username stringUnique in Planiso
User's last name

email stringUnique in Planiso
User's email address

phone string|null
User's phone number

phonext date|null
Creation date of the user

cellphone string|null
User's cellphone number

hired_date date|null
User's hire date

create_date date
User creation date

last_update date
User's last modification date

active boolean
Indicates if the user is active

Returns

object An associative array with a data property that contains an array of attributes about the user corresponding to the provided {no}.

Endpoint
GET/v1/user/{no}
Request
curl https://api.planiso.com/v1/user/{no} \
    -X GET \
    -H "Authorization: Bearer {API_KEY}" \
Response
{
    "code": 200,
    "message": "user found",
    "data": {
        "no": "1",
        "aff_number": "PERS-001",
        "custom_no": "",
        "active": true,
        "username": "jdoe",
        "fullname": "John Doe",
        "email": "john.doe@example.com",
        "phone": "123-456-7890",
        "phonext": "101",
        "cellphone": "987-654-3210",
        "hired_date": "2023-06-01",
        "create_date": "2024-11-20 10:15:30",
        "last_update": "2024-11-22 15:00:00"
    }
}
Specific error responses

404 Not Found The requested resource {no} doesn't exist

401 Unauthorized No valid API key provided

403 Forbidden The API key doesn't have the required permissions

500 Internal Server Error An internal server error occurred

Create a user

In Planiso API, user creation is done without assigning a password. This method allows adding a user to the system with essential information, but without giving direct access to the application. If a user needs to log in, a silo administrator must connect to the Planiso application, access the Users menu, generate a password, and assign the necessary privileges to that user. These features are not available through the API for security and access management reasons.

Attributes

no int
Unique number in your silo that identifies the user

aff_number stringUnique in silo. Generated by Planiso.
User number automatically generated at creation by Planiso with prefix "PERS-". It is unique per user. It is used to identify the user in the application.

custom_no stringUnique in silo
Custom user number. It is used to identify the user between Planiso and another system you use. Example: personnel number, contract number, etc.

fullname stringRequired in Planiso
User's first name

username stringUnique in Planiso
User's last name

email stringUnique in Planiso
User's email address

phone string|null
User's phone number

phonext date|null
Creation date of the user

cellphone string|null
User's cellphone number

hired_date date|null
User's hire date

create_date date
User creation date

last_update date
User's last modification date

active boolean
Indicates if the user is active

Returns

object An associative array with a data property that contains the attributes about the user that was created.

Endpoint
POST/v1/user
Request
curl https://api.planiso.com/v1/user \
    -X POST \
    -H "Authorization: Bearer {API_KEY}" \
    -d "custom_no=string" \
    -d "fullname=string" \
    -d "username=string" \
    -d "email=string" \
    -d "phone=string" \
    -d "phonext=string" \
    -d "cellphone=string" \
    -d "hired_date=string" \
    -d "create_date=string" \
    -d "last_update=string" \
    -d "active=boolean"
Response
{
    "code": 201,
    "message": "user inserted successfully",
    "data": {
        "no": 21,
        "aff_number": "PERS-021",
        "custom_no": "EXAMPLE-01",
        "username": "usertest",
        "fullname": "Jane Doe",
        "hired_date": "2024-01-01",
        "phone": "333-333-3333",
        "phonext": "303",
        "cellphone": "555-555-5555",
        "email": "janeDoe@example.com"
    }
}
Specific error responses

400 Bad Request One or more required fields are missing in the request. Probably the full name {fullname}

401 Unauthorized No valid API key provided

403 Forbidden The API key doesn't have the required permissions

409 Conflict Request conflicts with another request, probably due to a unique key conflict that already exists, such as email {email} or username {username}

500 Internal Server Error An internal server error occurred

Update a user

This method allows modifying an existing user's information in Planiso.

Attributes

no int
Unique number in your silo that identifies the user

aff_number stringUnique in silo. Generated by Planiso.
User number automatically generated at creation by Planiso with prefix "PERS-". It is unique per user. It is used to identify the user in the application.

custom_no stringUnique in silo
Custom user number. It is used to identify the user between Planiso and another system you use. Example: personnel number, contract number, etc.

fullname stringRequired in Planiso
User's first name

username stringUnique in Planiso
User's last name

email stringUnique in Planiso
User's email address

phone string|null
User's phone number

phonext date|null
Creation date of the user

cellphone string|null
User's cellphone number

hired_date date|null
User's hire date

create_date date
User creation date

last_update date
User's last modification date

active boolean
Indicates if the user is active

Returns

object An associative array with a data property containing an array of attributes that were modified for the user with the provided {no}.

Endpoint
PUT/v1/user/{no}
Request
curl https://api.planiso.com/v1/user/{no} \
    -X PUT \
    -H "Authorization: Bearer {API_KEY}" \
    -d "custom_no=string" \
    -d "fullname=string" \
    -d "username=string" \
    -d "email=string" \
    -d "phone=string" \
    -d "phonext=string" \
    -d "cellphone=string" \
    -d "hired_date=string" \
    -d "create_date=string"
Response
{
    "code": 200,
    "message": "User updated successfully",
    "data": {
        "custom_no": "EXAMPLE-01-UPDATE",
        "username": "usertest2",
        "fullname": "Jane Doe Edit",
        "email": "janeDoeEdit@example.com",
        "phone": "444-444-34444",
        "phonext": "404",
        "cellphone": "888-888-888",
        "hired_date": "2023-01-01",
        "last_update": "2024-11-23 19:36:53",
        "no": 21
    }
}
Specific error responses

400 Bad Request One or more required fields are missing or have incorrect format, or provided fields are invalid

401 Unauthorized No valid API key provided

403 Forbidden The API key doesn't have the required permissions

409 Conflict Request conflicts with another request, probably due to a unique key conflict that already exists, such as email {email}, custom number {custom_num} or username {username}

500 Internal Server Error An internal server error occurred

Delete a user

This method allows deactivating an existing user in Planiso.

Attributes

no int
Unique number in your silo that identifies the user

aff_number stringUnique in silo. Generated by Planiso.
User number automatically generated at creation by Planiso with prefix "PERS-". It is unique per user. It is used to identify the user in the application.

custom_no stringUnique in silo
Custom user number. It is used to identify the user between Planiso and another system you use. Example: personnel number, contract number, etc.

fullname stringRequired in Planiso
User's first name

username stringUnique in Planiso
User's last name

email stringUnique in Planiso
User's email address

phone string|null
User's phone number

phonext date|null
Creation date of the user

cellphone string|null
User's cellphone number

hired_date date|null
User's hire date

create_date date
User creation date

last_update date
User's last modification date

active boolean
Indicates if the user is active

Returns

object An empty array.

Endpoint
DELETE/v1/user/{no}
Request
curl https://api.planiso.com/v1/user/{no} \
    -X DELETE \
    -H "Authorization: Bearer {API_KEY}" \
Response
{
    "code": 204,
    "message": "user deleted successfully",
    "data": []
}
Specific error responses

401 Unauthorized No valid API key provided

403 Forbidden The API key doesn't have the required permissions

404 Not Found The user doesn't exist

500 Internal Server Error An internal server error occurred

Customers

This object represents a customer contained in your Planiso silo. Use it to create, view, update and delete customers. A customer is linked to the Organization object.

Endpoints

GET/v1/customer

GET/v1/customer/{no}

POST/v1/customer

PUT/v1/customer/{no}

DELETE/v1/customer/{no}

List customers

Returns the list of all customers contained in your Planiso silo. Customers are returned sorted by creation date. If no customer is found, an empty list is returned.

Attributes

no int
Unique number in your silo that identifies the customer

aff_number string
Customer number automatically generated at creation by Planiso with prefix "CUST-". It is used to identify the customer in the application.

custom_no string
Custom customer number. Used to identify the customer between Planiso and another system you use.

is_14001 boolean
Indicates if the customer is ISO 14001 certified

is_18001 boolean
Indicates if the customer is ISO 18001 certified

is_9001 boolean
Indicates if the customer is ISO 9001 certified

active boolean
Indicates if the customer is active

organization array
An associative array with a data property that contains the attributes of the organization linked to this customer.

Returns

object An associative array with a data property that contains an array of customers sorted by creation date.

Endpoint
GET/v1/customer
Request
curl https://api.planiso.com/v1/customer \
    -X GET \
    -H "Authorization: Bearer {API_KEY}" \
Response
{
    "code": 200,
    "message": "",
    "data": [
        {
            "no": "22",
            "aff_number": "CUST-22",
            "custom_no": "test-012",
            "active": false,
            "is_14001": false,
            "is_18001": false,
            "is_9001": false,
            "organization": {
                "aff_number": "PART-032",
                "no": "32",
                "name": "Tech Innovators Inc.",
                "adress": "56 Parcel Street",
                "city": "Paris",
                "province": "ÃŽle-de-France",
                "country": "France",
                "phone": "01-234-5678",
                "toll_free": "",
                "phone_extension": "",
                "fax": "",
                "postal_code": "75000",
                "email": "contact@techinnovators.com",
                "website": "https:\/\/techinnovators.com",
                "active": true
            }
        }
    ]
}
Specific error responses

401 Unauthorized No valid API key provided

403 Forbidden The API key doesn't have the required permissions

500 Internal Server Error An internal server error occurred

Find a customer

Returns the information of the customer whose number {no} is provided. If no customer is found, code 400 and an empty array are returned.

Attributes

no int
Unique number in your silo that identifies the customer

aff_number string
Customer number automatically generated at creation by Planiso with prefix "CUST-". It is used to identify the customer in the application.

custom_no string
Custom customer number. Used to identify the customer between Planiso and another system you use.

is_14001 boolean
Indicates if the customer is ISO 14001 certified

is_18001 boolean
Indicates if the customer is ISO 18001 certified

is_9001 boolean
Indicates if the customer is ISO 9001 certified

active boolean
Indicates if the customer is active

organization array
An associative array with a data property that contains the attributes of the organization linked to this customer.

Returns

object An associative array with a data property that contains the attributes about the customer corresponding to the provided {no}.

Endpoint
GET/v1/customer/{no}
Request
curl https://api.planiso.com/v1/customer/{no} \
    -X GET \
    -H "Authorization: Bearer {API_KEY}" \
Response
{
    "code": 200,
    "message": "Customer found",
    "data": {
        "no": "20",
        "aff_number": "CUST-20",
        "custom_no": "ORG-212",
        "active": true,
        "is_14001": true,
        "is_18001": false,
        "is_9001": true,
        "organization": {
            "aff_number": "PART-025",
            "no": "25",
            "name": "Test Customer Inc.",
            "adress": "456 Customer Ave 1",
            "city": "Customer City 1",
            "province": "Customer Province 1",
            "country": "Customer Country 1",
            "phone": "234-567-8901",
            "toll_free": "800-234-5678",
            "phone_extension": "202",
            "fax": "252-363-5656",
            "postal_code": "54321",
            "email": "customer@example.com",
            "website": "http:\/\/customer.com",
            "active": true
        }
    }
}
Specific error responses

404 Not Found The requested customer {no} doesn't exist

401 Unauthorized No valid API key provided

403 Forbidden The API key doesn't have the required permissions

500 Internal Server Error An internal server error occurred

Create a customer

Creates a new customer and returns an associative array with a data property that contains the attributes of the newly created customer.

Attributes

no int
Unique number in your silo that identifies the customer

aff_number string
Customer number automatically generated at creation by Planiso with prefix "CUST-". It is used to identify the customer in the application.

custom_no string
Custom customer number. Used to identify the customer between Planiso and another system you use.

is_14001 boolean
Indicates if the customer is ISO 14001 certified

is_18001 boolean
Indicates if the customer is ISO 18001 certified

is_9001 boolean
Indicates if the customer is ISO 9001 certified

active boolean
Indicates if the customer is active

organization array
An associative array with a data property that contains the attributes of the organization linked to this customer.

Returns

object An associative array with a data property that contains the attributes of the customer that was added.

Endpoint
POST/v1/customer
Request
curl https://api.planiso.com/v1/customer \
    -X POST \
    -H "Authorization: Bearer {API_KEY}" \
    -d "custom_no=CUST-0009" \
    -d "organization_name=Inovatech Radio Machine Inc." \
    -d "organization_adress=456 Industry Road" \
    -d "organization_city=Montreal" \
    -d "organization_province=QC" \
    -d "organization_country=Canada" \
    -d "organization_phone=514-321-1234" \
    -d "organization_toll_free=800-888-1234" \
    -d "organization_phone_extension=101" \
    -d "organization_fax=514-321-4321" \
    -d "organization_postal_code=H3Z 2Y7" \
    -d "organization_email=info@inovatechradiomachine.com" \
    -d "organization_website=https://inovatechradiomachine.com"
Response
{
    "code": 201,
    "message": "customer inserted successfully",
    "data": {
        "no": 10,
        "aff_number": "CUST-010",
        "custom_no": "CUST-0009",
        "active": true,
        "organization": {
            "no": 66,
            "aff_number": "PART-066",
            "name": "Inovatech Radio Machine Inc.",
            "adress": "456 Industry Road",
            "city": "Montreal",
            "province": "QC",
            "country": "Canada",
            "phone": "514-321-1234",
            "toll_free": "800-888-1234",
            "phone_extension": "101",
            "fax": "514-321-4321",
            "postal_code": "H3Z 2Y7",
            "website": "https:\/\/inovatechradiomachine.com",
            "email": "info@inovatechradiomachine.com",
            "active": true
        }
    }
}
Specific error responses

400 Bad Request One or more required fields are missing or have incorrect format

401 Unauthorized No valid API key provided

403 Forbidden The API key doesn't have the required permissions

409 Conflict Customer {custom_no} already exists or {organization_name} already exists

500 Internal Server Error An internal server error occurred

Update a customer

This method allows modifying an existing customer in Planiso. To modify the organization information linked to a customer, use Update an organization.

Attributes

no int
Unique number in your silo that identifies the customer

aff_number string
Customer number automatically generated at creation by Planiso with prefix "CUST-". It is used to identify the customer in the application.

custom_no string
Custom customer number. Used to identify the customer between Planiso and another system you use.

is_14001 boolean
Indicates if the customer is ISO 14001 certified

is_18001 boolean
Indicates if the customer is ISO 18001 certified

is_9001 boolean
Indicates if the customer is ISO 9001 certified

active boolean
Indicates if the customer is active

organization array
An associative array with a data property that contains the attributes of the organization linked to this customer.

Returns

object An associative array with a data property containing the attributes that were modified for the customer with the provided {no}.

Endpoint
PUT/v1/customer/{no}
Request
curl https://api.planiso.com/v1/customer/{no} \
    -X PUT \
    -H "Authorization: Bearer {API_KEY}" \
    -d "custom_no=CUST-00010"
Response
{
    "code": 200,
    "message": "Customer updated successfully",
    "data": {
        "custom_no": "CUST-00010",
        "no": 10
    }
}
Specific error responses

400 Bad Request One or more required fields are missing or have incorrect format

401 Unauthorized No valid API key provided

403 Forbidden The API key doesn't have the required permissions

409 Conflict Customer {custom_no} already exists

500 Internal Server Error An internal server error occurred

Delete a customer

This method allows deactivating an existing customer in Planiso. It is not possible to deactivate the linked organization, to do that follow the Delete an organization procedure.

Attributes

no int
Unique number in your silo that identifies the customer

aff_number string
Customer number automatically generated at creation by Planiso with prefix "CUST-". It is used to identify the customer in the application.

custom_no string
Custom customer number. Used to identify the customer between Planiso and another system you use.

is_14001 boolean
Indicates if the customer is ISO 14001 certified

is_18001 boolean
Indicates if the customer is ISO 18001 certified

is_9001 boolean
Indicates if the customer is ISO 9001 certified

active boolean
Indicates if the customer is active

organization array
An associative array with a data property that contains the attributes of the organization linked to this customer.

Returns

object An empty array

Endpoint
DELETE/v1/customer/{no}
Request
curl https://api.planiso.com/v1/customer/{no} \
    -X DELETE \
    -H "Authorization: Bearer {API_KEY}" \
Response
{
    "code": 200,
    "message": "Customer deleted successfully",
    "data": []
}
Specific error responses

401 Unauthorized No valid API key provided

403 Forbidden The API key doesn't have the required permissions

404 Not Found The customer doesn't exist

500 Internal Server Error An internal server error occurred

Suppliers

This object represents a supplier contained in your Planiso silo. Use it to create, view, update and delete suppliers. A supplier is linked to the Organization object.

Endpoints

GET/v1/supplier

GET/v1/supplier/{no}

POST/v1/supplier

PUT/v1/supplier/{no}

DELETE/v1/supplier/{no}

List suppliers

Returns the list of all suppliers contained in your Planiso silo. Suppliers are returned sorted by creation date. If no supplier is found, an empty list is returned.

Attributes

no int
Unique number in your silo that identifies the supplier

aff_number string
Supplier number automatically generated at creation by Planiso with prefix "SUPP-". Used to identify the supplier in the application.

custom_no string
Custom supplier number. Used to identify the supplier between Planiso and another system you use.

is_14001 boolean
Indicates if the supplier is ISO 14001 certified

is_18001 boolean
Indicates if the supplier is ISO 18001 certified

is_9001 boolean
Indicates if the supplier is ISO 9001 certified

active boolean
Indicates if the supplier is active

organization array
An associative array containing the attributes of the organization linked to this supplier.

Returns

object An associative array with a data property that contains an array of suppliers sorted by creation date.

Endpoint
GET/v1/supplier
Request
curl https://api.planiso.com/v1/supplier \
    -X GET \
    -H "Authorization: Bearer {API_KEY}" \
Response
{
    "code": 200,
    "message": "",
    "data": [
        {
            "no": "22",
            "aff_number": "SUPP-22",
            "custom_no": "test-012",
            "active": false,
            "is_14001": false,
            "is_18001": false,
            "is_9001": false,
            "organization": {
                "aff_number": "PART-032",
                "no": "32",
                "name": "Tech Innovators Inc.",
                "adress": "56 Parcel Street",
                "city": "Paris",
                "province": "ÃŽle-de-France",
                "country": "France",
                "phone": "01-234-5678",
                "toll_free": "",
                "phone_extension": "",
                "fax": "",
                "postal_code": "75000",
                "email": "contact@techinnovators.com",
                "website": "https:\/\/techinnovators.com",
                "active": true
            }
        }
    ]
}
Specific error responses

401 Unauthorized No valid API key provided

403 Forbidden The API key doesn't have the required permissions

500 Internal Server Error An internal server error occurred

Find a supplier

Returns the information of the supplier whose number {no} is provided. If no supplier is found, code 400 and an empty array are returned.

Attributes

no int
Unique number in your silo that identifies the supplier

aff_number string
Supplier number automatically generated at creation by Planiso with prefix "SUPP-". Used to identify the supplier in the application.

custom_no string
Custom supplier number. Used to identify the supplier between Planiso and another system you use.

is_14001 boolean
Indicates if the supplier is ISO 14001 certified

is_18001 boolean
Indicates if the supplier is ISO 18001 certified

is_9001 boolean
Indicates if the supplier is ISO 9001 certified

active boolean
Indicates if the supplier is active

organization array
An associative array with a data property that contains the attributes about the supplier corresponding to the provided {no}.

Returns

object An associative array with a data property that contains the attributes about the supplier corresponding to the provided {no}.

Endpoint
GET/v1/supplier/{no}
Request
curl https://api.planiso.com/v1/supplier/{no} \
    -X GET \
    -H "Authorization: Bearer {API_KEY}" \
Response
{
    "code": 200,
    "message": "Supplier found",
    "data": {
        "no": "20",
        "aff_number": "SUPP-20",
        "custom_no": "ORG-212",
        "active": true,
        "is_14001": true,
        "is_18001": false,
        "is_9001": true,
        "organization": {
            "aff_number": "PART-025",
            "no": "25",
            "name": "Test Supplier Inc.",
            "adress": "456 Supplier Ave 1",
            "city": "Supplier City 1",
            "province": "Supplier Province 1",
            "country": "Supplier Country 1",
            "phone": "234-567-8901",
            "toll_free": "800-234-5678",
            "phone_extension": "202",
            "fax": "252-363-5656",
            "postal_code": "54321",
            "email": "supplier@example.com",
            "website": "http:\/\/supplier.com",
            "active": true
        }
    }
}
Specific error responses

404 Not Found The supplier {no} doesn't exist

401 Unauthorized No valid API key provided

403 Forbidden The API key doesn't have the required permissions

500 Internal Server Error An internal server error occurred

Create a supplier

Creates a new supplier and returns an associative array with a data property that contains the attributes of the newly created supplier.

Attributes

no int
Unique number in your silo that identifies the supplier

aff_number string
Supplier number automatically generated at creation by Planiso with prefix "SUPP-". Used to identify the supplier in the application.

custom_no string
Custom supplier number. Used to identify the supplier between Planiso and another system you use.

is_14001 boolean
Indicates if the supplier is ISO 14001 certified

is_18001 boolean
Indicates if the supplier is ISO 18001 certified

is_9001 boolean
Indicates if the supplier is ISO 9001 certified

active boolean
Indicates if the supplier is active

organization array
An associative array with a data property that contains the attributes of the organization linked to this supplier.

Returns

object An associative array with a data property that contains the attributes of the supplier that was added.

Endpoint
POST/v1/supplier
Request
curl https://api.planiso.com/v1/supplier \
    -X POST \
    -H "Authorization: Bearer {API_KEY}" \
    -d "custom_no=supplier-005" \
    -d "is_14001=" \
    -d "is_18001=" \
    -d "is_9001=" \
    -d "organization=
Warning: Array to string conversion in /var/www/html/public/docs/index.php on line 416
Array"
Response
{
    "code": 201,
    "message": "Supplier created successfully",
    "data": {
        "no": "23",
        "aff_number": "SUPP-23",
        "custom_no": "supplier-005",
        "active": true,
        "is_14001": false,
        "is_18001": false,
        "is_9001": false,
        "organization": {
            "aff_number": "PART-040",
            "no": "40",
            "name": "Tech Solutions Inc.",
            "adress": "123 Tech Street",
            "city": "Montreal",
            "province": "QC",
            "country": "Canada",
            "phone": "514-555-1000",
            "toll_free": "800-555-1001",
            "phone_extension": "101",
            "fax": "514-555-2000",
            "postal_code": "H3Z 2Y7",
            "email": "contact@techsolutions.com",
            "website": "https:\/\/techsolutions.com",
            "active": true
        }
    }
}
Specific error responses

400 Bad Request One or more required fields are missing or have incorrect format

401 Unauthorized No valid API key provided

403 Forbidden The API key doesn't have the required permissions

409 Conflict A supplier with this custom_no already exists

500 Internal Server Error An internal server error occurred

Update a supplier

This method allows modifying an existing supplier in Planiso. To modify the organization information linked to a supplier, use Update an organization.

Attributes

no int
Unique number in your silo that identifies the supplier

aff_number string
Supplier number automatically generated at creation by Planiso with prefix "SUPP-". Used to identify the supplier in the application.

custom_no string
Custom supplier number. Used to identify the supplier between Planiso and another system you use.

is_14001 boolean
Indicates if the supplier is ISO 14001 certified

is_18001 boolean
Indicates if the supplier is ISO 18001 certified

is_9001 boolean
Indicates if the supplier is ISO 9001 certified

active boolean
Indicates if the supplier is active

organization array
An associative array with a data property that contains the attributes of the organization linked to this supplier.

Returns

object An associative array with a data property containing the attributes that were modified for the supplier with the provided {no}.

Endpoint
PUT/v1/supplier/{no}
Request
curl https://api.planiso.com/v1/supplier/{no} \
    -X PUT \
    -H "Authorization: Bearer {API_KEY}" \
    -d "is_14001=1" \
    -d "is_18001=1" \
    -d "is_9001=1" \
    -d "custom_num=supplier-edit-011"
Response
{
    "code": 200,
    "message": "Supplier updated successfully",
    "data": {
        "custom_no": "supplier-edit-011",
        "is_14001": true,
        "is_18001": true,
        "is_9001": true,
        "no": 23
    }
}
Specific error responses

401 Unauthorized No valid API key provided

403 Forbidden The API key doesn't have the required permissions

409 Conflict A supplier with this custom_no already exists

500 Internal Server Error An internal server error occurred

Delete a supplier

This method allows deactivating an existing supplier in Planiso. It is not possible to deactivate the linked organization, to do that follow the Delete an organization procedure.

Attributes

no int
Unique number in your silo that identifies the supplier

aff_number string
Supplier number automatically generated at creation by Planiso with prefix "SUPP-". Used to identify the supplier in the application.

custom_no string
Custom supplier number. Used to identify the supplier between Planiso and another system you use.

is_14001 boolean
Indicates if the supplier is ISO 14001 certified

is_18001 boolean
Indicates if the supplier is ISO 18001 certified

is_9001 boolean
Indicates if the supplier is ISO 9001 certified

active boolean
Indicates if the supplier is active

organization array
An associative array with a data property that contains the attributes of the organization linked to this supplier.

Returns

object An empty array

Endpoint
DELETE/v1/supplier/{no}
Request
curl https://api.planiso.com/v1/supplier/{no} \
    -X DELETE \
    -H "Authorization: Bearer {API_KEY}" \
Response
{
    "code": 200,
    "message": "Supplier deleted successfully",
    "data": []
}
Specific error responses

401 Unauthorized No valid API key provided

403 Forbidden The API key doesn't have the required permissions

404 Not Found The supplier doesn't exist

500 Internal Server Error An internal server error occurred

Subcontractors

This object represents a subcontractor contained in your Planiso silo. Use it to create, view, update and delete subcontractors. A subcontractor is linked to the Organization object.

Endpoints

GET/v1/subcontractor

GET/v1/subcontractor/{no}

POST/v1/subcontractor

PUT/v1/subcontractor/{no}

DELETE/v1/subcontractor/{no}

List subcontractors

Returns the list of all subcontractors contained in your Planiso silo. Subcontractors are returned sorted by creation date. If no subcontractor is found, an empty list is returned.

Attributes

no int
Unique number in your silo that identifies the subcontractor

aff_number string
Subcontractor number automatically generated at creation by Planiso with prefix "ST-". It is used to identify the subcontractor in the application.

custom_no string|null
Custom subcontractor number. Used to identify the subcontractor between Planiso and another system you use.

active boolean
Indicates if the subcontractor is active

organization array
An associative array with a data property that contains the attributes of the organization linked to this subcontractor.

Returns

object An associative array with a data property that contains an array of subcontractors sorted by creation date.

Endpoint
GET/v1/subcontractor
Request
curl https://api.planiso.com/v1/subcontractor \
    -X GET \
    -H "Authorization: Bearer {API_KEY}" \
Response
{
    "code": 200,
    "message": "",
    "data": [
        {
            "no": "1",
            "aff_number": "ST-001",
            "custom_no": "subcontractor-001",
            "active": true,
            "date_added": "2024-11-26 10:00:00",
            "organization": {
                "aff_number": "PART-001",
                "no": "1",
                "name": "Tech Solutions Inc.",
                "adress": "123 Tech Street",
                "city": "Montreal",
                "province": "QC",
                "country": "Canada",
                "phone": "514-555-1000",
                "toll_free": "800-555-1001",
                "phone_extension": "101",
                "fax": "514-555-2000",
                "postal_code": "H3Z 2Y7",
                "email": "contact@techsolutions.com",
                "website": "https:\/\/techsolutions.com",
                "active": true
            }
        }
    ]
}
Specific error responses

401 Unauthorized No valid API key provided

403 Forbidden The API key doesn't have the required permissions

500 Internal Server Error An internal server error occurred

Find a subcontractor

Returns the information of the subcontractor whose number {no} is provided. If no subcontractor is found, code 400 and an empty array are returned.

Attributes

no int
Unique number in your silo that identifies the subcontractor

aff_number string
Subcontractor number automatically generated at creation by Planiso with prefix "ST-". It is used to identify the subcontractor in the application.

custom_no string|null
Custom subcontractor number. Used to identify the subcontractor between Planiso and another system you use.

active boolean
Indicates if the subcontractor is active

organization array
An associative array with a data property that contains the attributes about the subcontractor corresponding to the provided {no}.

Returns

object An associative array with a data property that contains the attributes about the subcontractor corresponding to the provided {no}.

Endpoint
GET/v1/subcontractor/{no}
Request
curl https://api.planiso.com/v1/subcontractor/{no} \
    -X GET \
    -H "Authorization: Bearer {API_KEY}" \
Response
{
    "code": 200,
    "message": "Subcontractor found",
    "data": {
        "no": "1",
        "aff_number": "ST-001",
        "custom_no": "subcontractor-001",
        "active": true,
        "organization": {
            "aff_number": "PART-001",
            "no": "1",
            "name": "Tech Solutions Inc.",
            "adress": "123 Tech Street",
            "city": "Montreal",
            "province": "QC",
            "country": "Canada",
            "phone": "514-555-1000",
            "toll_free": "800-555-1001",
            "phone_extension": "101",
            "fax": "514-555-2000",
            "postal_code": "H3Z 2Y7",
            "email": "contact@techsolutions.com",
            "website": "https:\/\/techsolutions.com",
            "active": true
        }
    }
}
Specific error responses

404 Not Found The requested subcontractor {no} doesn't exist

401 Unauthorized No valid API key provided

403 Forbidden The API key doesn't have the required permissions

500 Internal Server Error An internal server error occurred

Create a subcontractor

Creates a new subcontractor and returns an associative array with a data property that contains the attributes of the newly created subcontractor.

Attributes

no int
Unique number in your silo that identifies the subcontractor

aff_number string
Subcontractor number automatically generated at creation by Planiso with prefix "ST-". It is used to identify the subcontractor in the application.

custom_no string|null
Custom subcontractor number. Used to identify the subcontractor between Planiso and another system you use.

active boolean
Indicates if the subcontractor is active

organization array
An associative array with a data property that contains the attributes of the organization linked to this subcontractor.

Returns

object An associative array with a data property that contains the attributes of the subcontractor that was added.

Endpoint
POST/v1/subcontractor
Request
curl https://api.planiso.com/v1/subcontractor \
    -X POST \
    -H "Authorization: Bearer {API_KEY}" \
    -d "custom_no=subcontractor-005" \
    -d "organization=
Warning: Array to string conversion in /var/www/html/public/docs/index.php on line 416
Array"
Response
{
    "code": 201,
    "message": "subcontractor inserted successfully",
    "data": {
        "no": 7,
        "aff_number": "ST-007",
        "custom_no": "subcontractor-005",
        "organization": {
            "aff_number": "PART-039",
            "no": "39",
            "name": "Tech Solutions Inc.",
            "adress": "123 Tech Street",
            "city": "Montreal",
            "province": "QC",
            "country": "Canada",
            "phone": "514-555-1000",
            "toll_free": "800-555-1001",
            "phone_extension": "101",
            "fax": "514-555-2000",
            "postal_code": "H3Z 2Y7",
            "email": "contact@techsolutions.com",
            "website": "https:\/\/techsolutions.com",
            "active": "1"
        }
    }
}
Specific error responses

400 Bad Request One or more required fields are missing or have an incorrect format

401 Unauthorized No valid API key provided

403 Forbidden The API key doesn't have the required permissions

409 Conflict A subcontractor with this custom_no already exists

500 Internal Server Error An internal server error occurred

Update a subcontractor

This method allows modifying an existing subcontractor in Planiso. To modify the organization information linked to a subcontractor, use Update an organization.

Attributes

no int
Unique number in your silo that identifies the subcontractor

aff_number string
Subcontractor number automatically generated at creation by Planiso with prefix "ST-". It is used to identify the subcontractor in the application.

custom_no string|null
Custom subcontractor number. Used to identify the subcontractor between Planiso and another system you use.

active boolean
Indicates if the subcontractor is active

organization array
An associative array with a data property that contains the attributes of the organization linked to this subcontractor.

Returns

object An associative array with a data property containing the attributes that were modified for the subcontractor with the provided {no}.

Endpoint
PUT/v1/subcontractor/{no}
Request
curl https://api.planiso.com/v1/subcontractor/{no} \
    -X PUT \
    -H "Authorization: Bearer {API_KEY}" \
    -d "custom_no=subcontractor-006"
Response
{
    "code": 200,
    "message": "Subcontractor updated successfully",
    "data": {
        "custom_no": "subcontractor-006",
        "no": 20
    }
}
Specific error responses

400 Bad Request One or more required fields are missing or have incorrect format

401 Unauthorized No valid API key provided

403 Forbidden The API key doesn't have the required permissions

409 Conflict Subcontractor {custom_no} already exists

500 Internal Server Error An internal server error occurred

Delete a subcontractor

This method allows deactivating an existing subcontractor in Planiso. It is not possible to deactivate the linked organization, to do that follow the Delete an organization procedure.

Attributes

no int
Unique number in your silo that identifies the subcontractor

aff_number string
Subcontractor number automatically generated at creation by Planiso with prefix "ST-". It is used to identify the subcontractor in the application.

custom_no string|null
Custom subcontractor number. Used to identify the subcontractor between Planiso and another system you use.

active boolean
Indicates if the subcontractor is active

organization array
An associative array with a data property that contains the attributes of the organization linked to this subcontractor.

Returns

object An empty array

Endpoint
DELETE/v1/subcontractor/{no}
Request
curl https://api.planiso.com/v1/subcontractor/{no} \
    -X DELETE \
    -H "Authorization: Bearer {API_KEY}" \
Response
{
    "code": 200,
    "message": "Subcontractor deleted successfully",
    "data": []
}
Specific error responses

401 Unauthorized No valid API key provided

403 Forbidden The API key doesn't have the required permissions

404 Not Found The subcontractor doesn't exist

500 Internal Server Error An internal server error occurred

Organizations (Stakeholders)

This object represents an organization contained in your Planiso silo. The organization can be a supplier, a subcontractor, or a customer. Use it to create, view, update and delete organizations.

Endpoints

GET/v1/organization

GET/v1/organization/{no}

POST/v1/organization

PUT/v1/organization/{no}

DELETE/v1/organization/{no}

List organizations

Returns the list of all organizations contained in your Planiso silo. Organizations are returned sorted by creation date. If no organization is found, an empty list is returned.

Attributes

no int
Unique number in your silo that identifies the organization

aff_number string
Organization number automatically generated at creation by Planiso with prefix "PART-". Used to identify the organization in the application.

name stringUnique in silo. Required to create an organization in Planiso
Organization name

address stringRequired to create an organization in Planiso
Physical address of the organization (street number, street name, etc.)

city string|null
City where the organization is located

country string|null
Country where the organization is located

postal_code string|null
Organization's postal code

phone string|null
Organization's phone number

email string|null
Organization's email address

website string|null
Organization's website

active boolean
Indicates if the organization is active

Returns

object An associative array with a data property that contains an array of organizations sorted by creation date.

Endpoint
GET/v1/organization
Request
curl https://api.planiso.com/v1/organization \
    -X GET \
    -H "Authorization: Bearer {API_KEY}" \
Response
{
    "code": 200,
    "message": "",
    "data": [
        {
            "no": "36",
            "aff_number": "PART-036",
            "name": "Central Supermarket",
            "adress": "123 Merchants Boulevard",
            "city": "Quebec",
            "province": "QC",
            "country": "Canada",
            "phone": "418-123-4567",
            "toll_free": "800-555-1234",
            "phone_extension": "101",
            "fax": "418-123-9876",
            "postal_code": "G1A1A1",
            "email": "contact@supercentral.ca",
            "website": "https:\/\/supercentral.ca",
            "active": true
        }
    ]
}
Specific error responses

401 Unauthorized No valid API key provided

403 Forbidden The API key doesn't have the required permissions

500 Internal Server Error An internal server error occurred

Find an organization

Returns the information of the organization whose number {no} is provided. If no organization is found, code 400 and an empty array are returned.

Attributes

no int
Unique number in your silo that identifies the organization

aff_number string
Organization number automatically generated at creation by Planiso with prefix "PART-". Used to identify the organization in the application.

name stringUnique in silo. Required to create an organization in Planiso
Organization name

address stringRequired to create an organization in Planiso
Physical address of the organization (street number, street name, etc.)

city string|null
City where the organization is located

country string|null
Country where the organization is located

postal_code string|null
Organization's postal code

phone string|null
Organization's phone number

email string|null
Organization's email address

website string|null
Organization's website

active boolean
Indicates if the organization is active

Returns

object An associative array with a data property that contains the attributes about the organization corresponding to the provided {no}.

Endpoint
GET/v1/organization/{no}
Request
curl https://api.planiso.com/v1/organization/{no} \
    -X GET \
    -H "Authorization: Bearer {API_KEY}" \
Response
{
    "code": 200,
    "message": "Organization found",
    "data": {
        "aff_number": "PART-036",
        "no": "36",
        "name": "Central Supermarket",
        "adress": "123 Merchants Boulevard",
        "city": "Quebec",
        "province": "QC",
        "country": "Canada",
        "phone": "418-123-4567",
        "toll_free": "800-555-1234",
        "phone_extension": "101",
        "fax": "418-123-9876",
        "postal_code": "G1A1A1",
        "email": "contact@supercentral.ca",
        "website": "https:\/\/supercentral.ca",
        "active": true
    }
}
Specific error responses

404 Not Found The organization {no} doesn't exist

401 Unauthorized No valid API key provided

403 Forbidden The API key doesn't have the required permissions

500 Internal Server Error An internal server error occurred

Create an organization

This method is used to add a new organization.

Attributes

no int
Unique number in your silo that identifies the organization

aff_number string
Organization number automatically generated at creation by Planiso with prefix "PART-". Used to identify the organization in the application.

name stringUnique in silo. Required to create an organization in Planiso
Organization name

address stringRequired to create an organization in Planiso
Physical address of the organization (street number, street name, etc.)

city string|null
City where the organization is located

country string|null
Country where the organization is located

postal_code string|null
Organization's postal code

phone string|null
Organization's phone number

email string|null
Organization's email address

website string|null
Organization's website

active boolean
Indicates if the organization is active

Returns

object An associative array with a data property that contains the attributes of the organization that was added.

Endpoint
POST/v1/organization
Request
curl https://api.planiso.com/v1/organization \
    -X POST \
    -H "Authorization: Bearer {API_KEY}" \
    -d "name=Super Central Inc." \
    -d "address=450 Lights Avenue" \
    -d "city=Montreal" \
    -d "country=Canada" \
    -d "postal_code=H2Y3Y3" \
    -d "phone=514-555-1234" \
    -d "phone_extension=202" \
    -d "fax=514-555-5678" \
    -d "toll_free=1-800-555-9000" \
    -d "email=info@supercentral.ca" \
    -d "website=https://supercentral.ca"
Response
{
    "code": 201,
    "message": "Organization inserted successfully",
    "data": {
        "aff_number": "PART-038",
        "no": "37",
        "name": "Super Central Inc.",
        "adress": "450 Lights Avenue",
        "city": "Montreal",
        "province": "QC",
        "country": "Canada",
        "phone": "514-555-1234",
        "toll_free": "1-800-555-9000",
        "phone_extension": "202",
        "fax": "514-555-5678",
        "postal_code": "H2Y3Y3",
        "email": "info@supercentral.ca",
        "website": "https:\/\/supercentral.ca",
        "active": true
    }
}
Specific error responses

400 Bad Request One or more required fields are missing or have incorrect format

401 Unauthorized No valid API key provided

403 Forbidden The API key doesn't have the required permissions

409 Conflict An organization with name {name} already exists

500 Internal Server Error An internal server error occurred

Update an organization

This method allows modifying an existing organization in Planiso.

Attributes

no int
Unique number in your silo that identifies the organization

aff_number string
Organization number automatically generated at creation by Planiso with prefix "PART-". Used to identify the organization in the application.

name stringUnique in silo. Required to create an organization in Planiso
Organization name

address stringRequired to create an organization in Planiso
Physical address of the organization (street number, street name, etc.)

city string|null
City where the organization is located

country string|null
Country where the organization is located

postal_code string|null
Organization's postal code

phone string|null
Organization's phone number

email string|null
Organization's email address

website string|null
Organization's website

active boolean
Indicates if the organization is active

Returns

object An associative array containing the attributes that were modified for the organization.

Endpoint
PUT/v1/organization/{no}
Request
curl https://api.planiso.com/v1/organization/{no} \
    -X PUT \
    -H "Authorization: Bearer {API_KEY}" \
    -d "name=Super Central Music Inc." \
    -d "address=450 Arcs en Lights Avenue" \
    -d "city=South Montreal" \
    -d "country=Canada" \
    -d "postal_code=H2Y3Y3" \
    -d "phone=514-555-1234" \
    -d "phone_extension=202" \
    -d "fax=514-555-5678" \
    -d "toll_free=1-800-555-9000" \
    -d "email=info@supercentral.ca" \
    -d "website=https://supercentral.ca"
Response
{
    "code": 200,
    "message": "Organization updated successfully",
    "data": {
        "aff_number": "PART-038",
        "no": "37",
        "name": "Super Central Music Inc.",
        "adress": "450 Arcs en Lights Avenue",
        "city": "South Montreal",
        "province": "QC",
        "country": "Canada",
        "phone": "514-555-1234",
        "toll_free": "1-800-555-9000",
        "phone_extension": "202",
        "fax": "514-555-5678",
        "postal_code": "H2Y3Y3",
        "email": "info@supercentral.ca",
        "website": "https:\/\/supercentral.ca",
        "active": true
    }
}
Specific error responses

400 Bad Request One or more required fields are missing or have incorrect format

401 Unauthorized No valid API key provided

403 Forbidden The API key doesn't have the required permissions

404 Not Found The organization {no} doesn't exist

409 Conflict Organization with name {name} already exists

500 Internal Server Error An internal server error occurred

Delete an organization

This method allows deactivating an existing organization in Planiso. If this organization is linked to a customer, subcontractor or supplier, the latter will not be deactivated. Follow the deletion procedure for a customer, subcontractor or supplier.

Attributes

no int
Unique number in your silo that identifies the organization

aff_number string
Organization number automatically generated at creation by Planiso with prefix "PART-". Used to identify the organization in the application.

name stringUnique in silo. Required to create an organization in Planiso
Organization name

address stringRequired to create an organization in Planiso
Physical address of the organization (street number, street name, etc.)

city string|null
City where the organization is located

country string|null
Country where the organization is located

postal_code string|null
Organization's postal code

phone string|null
Organization's phone number

email string|null
Organization's email address

website string|null
Organization's website

active boolean
Indicates if the organization is active

Returns

object An empty array

Endpoint
DELETE/v1/organization/{no}
Request
curl https://api.planiso.com/v1/organization/{no} \
    -X DELETE \
    -H "Authorization: Bearer {API_KEY}" \
Response
{
    "code": 200,
    "message": "Organization deleted successfully",
    "data": []
}
Specific error responses

401 Unauthorized No valid API key provided

403 Forbidden The API key doesn't have the required permissions

404 Not Found The organization doesn't exist

500 Internal Server Error An internal server error occurred

Projects

This object represents a project contained in your Planiso silo. Use it to create, view, update and delete projects.

Endpoints

GET/v1/project

GET/v1/project/{no}

POST/v1/project

PUT/v1/project/{no}

DELETE/v1/project/{no}

List projects

Returns the list of all projects contained in your Planiso silo. Projects are returned sorted by creation date. If no project is found, an empty list is returned.

Attributes

no int
Unique number in your silo that identifies the project

aff_number string
Project number automatically generated at creation by Planiso with prefix "PROJ-". It is unique per project. Used to identify the project in the application.

custom_no string|null
Custom project number. Used to identify the project between Planiso and another system you use.

name stringRequired to create a project in Planiso
Project name

location string|null
Project location

start_date string|nullFormat: Y-m-d
Project start date

end_date string|nullFormat: Y-m-d
Project end date

active boolean
Indicates if the project is active

Returns

object An associative array with a data property that contains an array of projects sorted by start date.

Endpoint
GET/v1/project
Request
curl https://api.planiso.com/v1/project \
    -X GET \
    -H "Authorization: Bearer {API_KEY}" \
Response
{
    "code": 200,
    "message": "",
    "data": [
        {
            "no": "1",
            "aff_number": "PROJ-001",
            "custom_no": "PR-0001",
            "name": "Sports Center Construction",
            "location": "Montreal",
            "start_date": "2024-01-10",
            "end_date": "2024-12-15",
            "active": true
        },
        {
            "no": "2",
            "aff_number": "PROJ-002",
            "custom_no": "PR-0002",
            "name": "High School Renovation",
            "location": "Quebec",
            "start_date": "2024-02-01",
            "end_date": "2024-06-30",
            "active": true
        },
        {
            "no": "3",
            "aff_number": "PROJ-003",
            "custom_no": "PR-0003",
            "name": "Residential Area Development",
            "location": "Laval",
            "start_date": "2024-03-15",
            "end_date": null,
            "active": true
        },
        {
            "no": "4",
            "aff_number": "PROJ-004",
            "custom_no": null,
            "name": "Highway Bridge Rehabilitation",
            "location": "Trois-Rivieres",
            "start_date": "2024-04-01",
            "end_date": "2024-09-01",
            "active": true
        },
        {
            "no": "5",
            "aff_number": "PROJ-005",
            "custom_no": null,
            "name": "Urban Park Development",
            "location": "Sherbrooke",
            "start_date": "2024-05-20",
            "end_date": "2024-11-30",
            "active": true
        }
    ]
}
Specific error responses

401 Unauthorized No valid API key provided

403 Forbidden The API key doesn't have the required permissions

500 Internal Server Error An internal server error occurred

Find a project

Returns the information of the project whose number {no} is provided. If no project is found, code 404 and an empty array are returned.

Attributes

no int
Unique number in your silo that identifies the project

aff_number string
Project number automatically generated at creation by Planiso with prefix "PROJ-". It is unique per project. Used to identify the project in the application.

custom_no string|null
Custom project number. Used to identify the project between Planiso and another system you use.

name stringRequired to create a project in Planiso
Project name

location string|null
Project location

start_date string|nullFormat: Y-m-d
Project start date

end_date string|nullFormat: Y-m-d
Project end date

active boolean
Indicates if the project is active

Returns

object An associative array with a data property that contains the attributes of the project corresponding to the provided {no}.

Endpoint
GET/v1/project/{no}
Request
curl https://api.planiso.com/v1/project/{no} \
    -X GET \
    -H "Authorization: Bearer {API_KEY}" \
Response
{
    "code": 200,
    "message": "Project found",
    "data": {
        "no": "8",
        "aff_number": "PROJ-008",
        "custom_no": "PR-0008",
        "name": "Concert Hall Construction",
        "location": "Gatineau",
        "start_date": "2024-06-15",
        "end_date": "2024-12-01",
        "active": true
    }
}
Specific error responses

404 Not Found The project {no} doesn't exist

401 Unauthorized No valid API key provided

403 Forbidden The API key doesn't have the required permissions

500 Internal Server Error An internal server error occurred

Create a project

Creates a new project with the provided information.

Attributes

no int
Unique number in your silo that identifies the project

aff_number string
Project number automatically generated at creation by Planiso with prefix "PROJ-". It is unique per project. Used to identify the project in the application.

custom_no string|null
Custom project number. Used to identify the project between Planiso and another system you use.

name stringRequired to create a project in Planiso
Project name

location string|null
Project location

start_date string|nullFormat: Y-m-d
Project start date

end_date string|nullFormat: Y-m-d
Project end date

active boolean
Indicates if the project is active

Returns

object An associative array with a data property that contains the attributes of the newly created project.

Endpoint
POST/v1/project
Request
curl https://api.planiso.com/v1/project \
    -X POST \
    -H "Authorization: Bearer {API_KEY}" \
    -d "custom_no=PR_102" \
    -d "name=Software Development" \
    -d "location=Montreal" \
    -d "start_date=2024-01-10" \
    -d "end_date=2027-08-02"
Response
{
    "code": 201,
    "message": "Project inserted successfully",
    "data": {
        "no": 37,
        "aff_number": "PROJ-037",
        "custom_no": "PR_102",
        "name": "Software Development",
        "location": "Montreal",
        "start_date": "2024-01-10",
        "end_date": "2027-08-02",
        "active": true
    }
}
Specific error responses

400 Bad Request One or more required fields are missing or have incorrect format. The {name} field is probably empty.

401 Unauthorized No valid API key provided

403 Forbidden The API key doesn't have the required permissions

409 Conflict Project {custom_no} already exists

500 Internal Server Error An internal server error occurred

Update a project

Updates an existing project with new information.

Attributes

no int
Unique number in your silo that identifies the project

aff_number string
Project number automatically generated at creation by Planiso with prefix "PROJ-". It is unique per project. Used to identify the project in the application.

custom_no string|null
Custom project number. Used to identify the project between Planiso and another system you use.

name stringRequired to create a project in Planiso
Project name

location string|null
Project location

start_date string|nullFormat: Y-m-d
Project start date

end_date string|nullFormat: Y-m-d
Project end date

active boolean
Indicates if the project is active

Returns

object An associative array with a data property containing the updated project details.

Endpoint
PUT/v1/project/{no}
Request
curl https://api.planiso.com/v1/project/{no} \
    -X PUT \
    -H "Authorization: Bearer {API_KEY}" \
    -d "custom_no=PR_103" \
    -d "name=Software Development Beta" \
    -d "location=North Montreal" \
    -d "start_date=2024-01-05" \
    -d "end_date=2028-08-02"
Response
{
    "code": 200,
    "message": "Project updated successfully",
    "data": {
        "custom_no": "PR_103",
        "name": "Software Development Beta",
        "location": "North Montreal",
        "start_date": "2024-01-05",
        "end_date": "2028-08-02",
        "active": true,
        "last_update": "2024-11-26 17:43:27",
        "no": 8
    }
}
Specific error responses

400 Bad Request One or more required fields are missing or have incorrect format

401 Unauthorized No valid API key provided

403 Forbidden The API key doesn't have the required permissions

404 Not Found The project {no} doesn't exist

409 Conflict Project {custom_no} already exists

500 Internal Server Error An internal server error occurred

Delete a project

Marks a project as inactive. This operation cannot be undone.

Attributes

no int
Unique number in your silo that identifies the project

aff_number string
Project number automatically generated at creation by Planiso with prefix "PROJ-". It is unique per project. Used to identify the project in the application.

custom_no string|null
Custom project number. Used to identify the project between Planiso and another system you use.

name stringRequired to create a project in Planiso
Project name

location string|null
Project location

start_date string|nullFormat: Y-m-d
Project start date

end_date string|nullFormat: Y-m-d
Project end date

active boolean
Indicates if the project is active

Returns

object An empty array confirming the project was successfully deleted.

Endpoint
DELETE/v1/project/{no}
Request
curl https://api.planiso.com/v1/project/{no} \
    -X DELETE \
    -H "Authorization: Bearer {API_KEY}" \
Response
{
    "code": 200,
    "message": "Project deleted successfully",
    "data": []
}
Specific error responses

401 Unauthorized No valid API key provided

403 Forbidden The API key doesn't have the required permissions

404 Not Found The project {no} doesn't exist

500 Internal Server Error An internal server error occurred

Equipment

This object represents equipment contained in your Planiso silo. Use it to add, view, update and delete equipment. Equipment is linked to the Equipment Types object.

Endpoints

GET/v1/equipment

GET/v1/equipment/{no}

POST/v1/equipment

PUT/v1/equipment/{no}

DELETE/v1/equipment/{no}

List equipment

Returns the list of all equipment contained in your Planiso silo. Equipment items are returned sorted by date added. If no equipment is found, an empty list is returned.

Attributes

no int
Unique equipment number in your silo. Equipment identifier.

aff_number stringUnique in silo. Generated by Planiso.
Equipment number automatically generated at creation by Planiso with prefix "EQ-". It is unique per equipment in your silo. Used to identify equipment in the application.

num_equip stringRequired to create equipment in Planiso
Custom equipment number or identifier

year int|nullMust be greater than 1900 and less than or equal to the current year
Year of manufacture of the equipment

brand stringRequired to create equipment in Planiso
Equipment brand

nummodel string|null
Equipment model number

numserial string|null
Equipment serial number

purchase_date string|nullDate format accepted by the API is Y-m-d
Equipment purchase date

purchase_seller string|null
Represents the seller from whom the equipment was purchased

active boolean
Indicates if the equipment is active

type array
Array of equipment types linked to this equipment containing the following attributes: no, type_name, active

Returns

object An associative array with a data property that contains an array of equipment sorted by date added.

Endpoint
GET/v1/equipment
Request
curl https://api.planiso.com/v1/equipment \
    -X GET \
    -H "Authorization: Bearer {API_KEY}" \
Response
{
    "code": 200,
    "message": "",
    "data": [
        {
            "no": "2",
            "aff_number": "EQ-002",
            "num_equip": "CAM-2023-001",
            "year": "2023",
            "brand": "Toyota",
            "nummodel": "Hiace",
            "numserial": "SNTOYOTA12345",
            "purchase_date": "2023-06-15",
            "purchase_seller": "Toyota Dealership",
            "active": true,
            "type": [
                {
                    "type_name": "Van",
                    "active": true,
                    "no": "2"
                }
            ]
        },
        {
            "no": "1",
            "aff_number": "EQ-001",
            "num_equip": "FURN-2022-001",
            "year": "2022",
            "brand": "Ikea",
            "nummodel": "Billy",
            "numserial": "SNBILLY001",
            "purchase_date": "2022-11-01",
            "purchase_seller": "Ikea Store",
            "active": true,
            "type": [
                {
                    "type_name": "Furniture",
                    "active": true,
                    "no": "3"
                }
            ]
        }
    ]
}
Specific error responses

401 Unauthorized No valid API key provided

403 Forbidden The API key doesn't have the required permissions

500 Internal Server Error An internal server error occurred

Find equipment

Returns the information of the equipment whose number {no} is provided. If no equipment is found, code 400 and an empty array are returned.

Attributes

no int
Unique equipment number in your silo. Equipment identifier.

aff_number stringUnique in silo. Generated by Planiso.
Equipment number automatically generated at creation by Planiso with prefix "EQ-". It is unique per equipment in your silo. Used to identify equipment in the application.

num_equip stringRequired to create equipment in Planiso
Custom equipment number or identifier

year int|nullMust be greater than 1900 and less than or equal to the current year
Year of manufacture of the equipment

brand stringRequired to create equipment in Planiso
Equipment brand

nummodel string|null
Equipment model number

numserial string|null
Equipment serial number

purchase_date string|nullDate format accepted by the API is Y-m-d
Equipment purchase date

purchase_seller string|null
Represents the seller from whom the equipment was purchased

active boolean
Indicates if the equipment is active

type array
Array of equipment types linked to this equipment containing the following attributes: no, type_name, active

Returns

object An associative array with a data property that contains the attributes about the equipment corresponding to the provided {no}.

Endpoint
GET/v1/equipment/{no}
Request
curl https://api.planiso.com/v1/equipment/{no} \
    -X GET \
    -H "Authorization: Bearer {API_KEY}" \
Response
{
    "code": 200,
    "message": "Equipment found",
    "data": {
        "no": "2",
        "aff_number": "EQ-002",
        "num_equip": "CAM-2023-001",
        "year": "2023",
        "brand": "Toyota",
        "nummodel": "Hiace",
        "numserial": "SNTOYOTA12345",
        "purchase_date": "2023-06-15",
        "purchase_seller": "Toyota Dealership",
        "active": true,
        "type": [
            {
                "type_name": "Van",
                "active": true,
                "no": "2"
            }
        ]
    }
}
Specific error responses

404 Not Found The equipment {no} doesn't exist

401 Unauthorized No valid API key provided

403 Forbidden The API key doesn't have the required permissions

500 Internal Server Error An internal server error occurred

Create equipment

In the Planiso API, you can add new equipment with some basic information. You can associate one or more equipment types with your addition. To get the list of equipment types available in your silo, see the List Equipment Types section.

Attributes

no int
Unique equipment number in your silo. Equipment identifier.

aff_number stringUnique in silo. Generated by Planiso.
Equipment number automatically generated at creation by Planiso with prefix "EQ-". It is unique per equipment in your silo. Used to identify equipment in the application.

num_equip stringRequired to create equipment in Planiso
Custom equipment number or identifier

year int|nullMust be greater than 1900 and less than or equal to the current year
Year of manufacture of the equipment

brand stringRequired to create equipment in Planiso
Equipment brand

nummodel string|null
Equipment model number

numserial string|null
Equipment serial number

purchase_date string|nullDate format accepted by the API is Y-m-d
Equipment purchase date

purchase_seller string|null
Represents the seller from whom the equipment was purchased

active boolean
Indicates if the equipment is active

type array
Array of equipment types linked to this equipment containing the following attributes: no, type_name, active

Returns

object An associative array with a data property that contains the attributes of the equipment that was added.

Endpoint
POST/v1/equipment
Request
curl https://api.planiso.com/v1/equipment \
    -X POST \
    -H "Authorization: Bearer {API_KEY}" \
    -d "num_equip=FRIDGE-2024-001" \
    -d "year=2024" \
    -d "brand=Whirlpool" \
    -d "nummodel=WRT311FZDW" \
    -d "numserial=SNWHIRLPOOL4567" \
    -d "purchase_date=2024-03-10" \
    -d "purchase_seller=Appliance Store" \
    -d "type_nos=[3]"
Response
{
    "code": 201,
    "message": "Equipment inserted successfully",
    "data": {
        "no": 32,
        "aff_number": "EQ-032",
        "num_equip": "FRIDGE-2024-001",
        "year": "2024",
        "brand": "Whirlpool",
        "nummodel": "WRT311FZDW",
        "numserial": "SNWHIRLPOOL4567",
        "purchase_date": "2024-03-10",
        "purchase_seller": "Appliance Store",
        "active": true,
        "type": [
            {
                "type_name": "Fridge",
                "active": true,
                "no": "3"
            }
        ]
    }
}
Specific error responses

400 Bad Request One or more required fields are missing or have incorrect format

401 Unauthorized No valid API key provided

403 Forbidden The API key doesn't have the required permissions

409 Conflict Equipment with this {num_equip} already exists

500 Internal Server Error An internal server error occurred

Update equipment

This method allows modifying existing equipment in Planiso. It is not possible to modify equipment types linked to equipment from this method.

Attributes

no int
Unique equipment number in your silo. Equipment identifier.

aff_number stringUnique in silo. Generated by Planiso.
Equipment number automatically generated at creation by Planiso with prefix "EQ-". It is unique per equipment in your silo. Used to identify equipment in the application.

num_equip stringRequired to create equipment in Planiso
Custom equipment number or identifier

year int|nullMust be greater than 1900 and less than or equal to the current year
Year of manufacture of the equipment

brand stringRequired to create equipment in Planiso
Equipment brand

nummodel string|null
Equipment model number

numserial string|null
Equipment serial number

purchase_date string|nullDate format accepted by the API is Y-m-d
Equipment purchase date

purchase_seller string|null
Represents the seller from whom the equipment was purchased

active boolean
Indicates if the equipment is active

type array
Array of equipment types linked to this equipment containing the following attributes: no, type_name, active

Returns

object An associative array with a data property containing the attributes that were modified for the equipment with the provided {no}.

Endpoint
PUT/v1/equipment/{no}
Request
curl https://api.planiso.com/v1/equipment/{no} \
    -X PUT \
    -H "Authorization: Bearer {API_KEY}" \
    -d "num_equip=FRIDGE-2024-002"
Response
{
    "code": 200,
    "message": "Equipment updated successfully",
    "data": {
        "num_equip": "FRIDGE-2024-002",
        "no": 32
    }
}
Specific error responses

400 Bad Request One or more required fields are missing or have incorrect format

401 Unauthorized No valid API key provided

403 Forbidden The API key doesn't have the required permissions

409 Conflict Equipment {num_equip} already exists

500 Internal Server Error An internal server error occurred

Delete equipment

This method allows deactivating an existing equipment in Planiso. It is not possible to deactivate the linked equipment type, to do that follow the Delete an equipment type procedure.

Attributes

no int
Unique equipment number in your silo. Equipment identifier.

aff_number stringUnique in silo. Generated by Planiso.
Equipment number automatically generated at creation by Planiso with prefix "EQ-". It is unique per equipment in your silo. Used to identify equipment in the application.

num_equip stringRequired to create equipment in Planiso
Custom equipment number or identifier

year int|nullMust be greater than 1900 and less than or equal to the current year
Year of manufacture of the equipment

brand stringRequired to create equipment in Planiso
Equipment brand

nummodel string|null
Equipment model number

numserial string|null
Equipment serial number

purchase_date string|nullDate format accepted by the API is Y-m-d
Equipment purchase date

purchase_seller string|null
Represents the seller from whom the equipment was purchased

active boolean
Indicates if the equipment is active

type array
Array of equipment types linked to this equipment containing the following attributes: no, type_name, active

Returns

object An empty array

Endpoint
DELETE/v1/equipment/{no}
Request
curl https://api.planiso.com/v1/equipment/{no} \
    -X DELETE \
    -H "Authorization: Bearer {API_KEY}" \
Response
{
    "code": 200,
    "message": "Equipment deleted successfully",
    "data": []
}
Specific error responses

401 Unauthorized No valid API key provided

403 Forbidden The API key doesn't have the required permissions

404 Not Found The equipment doesn't exist

500 Internal Server Error An internal server error occurred

Equipment Types

This object provides access to the list of equipment types available in your Planiso silo. To modify, add, or delete an equipment type, you need to go directly to your Planiso silo. Equipment types are necessary when creating new equipment.

Endpoints

GET/v1/equipment_type

List equipment types

Returns the list of all equipment types contained in your Planiso silo. Equipment types are returned sorted alphabetically. If no equipment type is found, an empty list is returned.

Attributes

no int
Unique equipment type number in your silo. Equipment type identifier.

type_name string
The name of the equipment type. Example: Van, Furniture, etc.

active boolean
Indicates if the equipment type is active

Returns

object An associative array with a data property that contains an array of equipment types sorted alphabetically.

Endpoint
GET/v1/equipment_type
Request
curl https://api.planiso.com/v1/equipment_type \
    -X GET \
    -H "Authorization: Bearer {API_KEY}" \
Response
{
    "code": 200,
    "message": "",
    "data": [
        {
            "no": "2",
            "type_name": "Van",
            "active": "1"
        },
        {
            "no": "3",
            "type_name": "Furniture",
            "active": "1"
        }
    ]
}
Specific error responses

401 Unauthorized No valid API key provided

403 Forbidden The API key doesn't have the required permissions

500 Internal Server Error An internal server error occurred