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

JavaScript using Axios
  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

JavaScript using Axios
    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

JavaScript using Axios
    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)
      }
    }