Introduction
In this section, we will be exploring our public RESTful API.
If you’re looking for more than simply communicating with Planpoint, you can look into our SDK.
Planpoint facilitates technological practices to help developers seamlessly integrate their project’s data into other software.
Planpoint API is an advanced programming interface that allows your software to communicate with our services. Exposing our services through a RESTful API makes integrations with your application way easier and smoother.
In this section, we will be exploring our public RESTful API. We will explore how developers can make use of our API to create, view, and delete units and projects, through standardized REST requests.
Endpoints
The Planpoint API features endpoints for every common item of the Planpoint Viewer. This includes projects, groups, enterprises and units. Each of these items have dedicated endpoints that can be consumed by third party applications.
Authorization
Planpoint API authorizes requests with a valid bearer token. A bearer token is an authorization token that must be included in the header of every request made to Planpoint API.
Response Status Codes
Planpoint API response status is reflected in the status codes returned with each response. Here is a list of status codes with their corresponding meaning:
- 200 OK: Response Successful. The response body will contain relevant data.
- 400 Bad Request: The request was invalid. This can be caused by missing fields, etc.
- 401 Unauthorized: Authentication failed. Usually caused by invalid bearer tokens.
- 403 Forbidden: Authorization to resources failed. The user has a valid bearer token, but is not authorized to access requested data.
- 500 Internal Server Error: Unexpected error server-side.
Fetch Projects
Returns all projects found in a namespace that a host has access to.
POST /api/projects/find
async function fetchProject() {
try {
const response = await axios({
method: 'POST',
headers: {
'content-type': 'application/json'
},
data: {
namespace: namespace,
hostName: hostName
},
url: '/api/projects/find'
})
setProject(response.data)
} catch (err) {
console.error(err)
}
}
Fetch Groups
Returns all groups found in a namespace that a host has access to.
POST /api/groups/find
async function fetchGroup() {
try {
const response = await axios({
method: 'POST',
headers: {
'content-type': 'application/json',
},
data: {
namespace: namespace,
hostName: hostName
},
url: '/api/groups/find'
})
setGroup(response.data)
} catch (err) {
console.error(err)
}
}
Fetch Enterprises
Returns all enterprises found in a namespace that a host has access to.
POST /api/enterprises/find
async function fetchEnterprise() {
try {
const response = await axios({
method: 'POST',
headers: {
'content-type': 'application/json',
},
data: {
namespace: namespace,
hostName: hostName
},
url: '/api/enterprises/find'
})
setEnterprise(response.data)
} catch (err) {
console.error(err)
}
}