PlanRadar Components-Plans API

Create PlanRadar Components/Plans

Operations 11

GET /api/v1/{customer_id}/projects/{project_id}/components Retrieve all components
POST /api/v1/{customer_id}/projects/{project_id}/components Creates component and plan and updates plan
GET /api/v1/{customer_id}/projects/{project_id}/components/{id} Retrieve one component
PUT /api/v1/{customer_id}/projects/{project_id}/components/{id} Updates name and parent of a specific component
DELETE /api/v1/{customer_id}/projects/{project_id}/components/{id} Deletes specific component
POST /api/v1/{customer_id}/projects/{project_id}/components/{id}/delete_plan_revisions Deletes all plan revisions of a component
POST /api/v1/{customer_id}/projects/{project_id}/components/{id}/delete_bim_model_revisions Deletes all bim model revisions of a specific component
GET /api/v1/{customer_id}/projects/{project_id}/components/{component_id}/plans Retrieve all the plans which is belong to component
PUT /api/v1/{customer_id}/projects/{project_id}/components/update_components_order Updates order of components
GET /api/v1/{customer_id}/projects/{project_id}/components/{component_id}/plans/{id} Returns a specific plan of a component
DELETE /api/v1/{customer_id}/projects/{project_id}/components/{component_id}/plans/{id} Deletes a specific plan of a component

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/planradar-components-plans-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

planradar-components-plans-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: PlanRadar's API Documentation Approval Requests V2 Components Plans API
  version: '2.0'
  description: "Welcome to PlanRadar's API documentation, here you can find all the details about our APIs as well as test them online.<br />\n        <h5>Rate Limits</h5>30 requests per minute per account, aggregated across all tokens.<br />\n        If the threshold is exceeded, a 5-minute cooldown is applied to the account, aggregated across all tokens.<br />\n        During the cooldown period, further requests may be rejected until the cooldown ends.<br />\n        In rare cases, an endpoint may have a different rate limit than the default. When that happens, the differing limit will be explicitly stated in the API documentation for that endpoint.<br />\n        <h5>Access Key</h5>In order to be able to access any API you have to create an access token.Therefore you have to follow these steps:-\n        <ul>\n          <li>Go to your profile page and click on Personal Access Tokens on the left side bar</li><li>Click on the 'Create Access Token' top right button in order to create a new access token.</li><li>Copy the created token and paste it into the field that pops up when you click on the 'Authorize' button </li><li>Note: you can copy the token only once.</li><li>Now you can easily access any API</li>\n        </ul>\n        <h5>V2 APIs</h5>We are currently working on upgrading all our APIs to v2, and we recommend that you use v2 APIs if it is available.\n        <p>V2 APIs are faster, robust and more flexible than v1 APIs</p>"
servers:
- url: /
tags:
- name: Components-Plans
  description: Create PlanRadar Components/Plans
paths:
  /api/v1/{customer_id}/projects/{project_id}/components:
    get:
      summary: Retrieve all components
      tags:
      - Components-Plans
      security:
      - apiKey: []
      parameters:
      - name: customer_id
        in: path
        required: true
        schema:
          type: string
      - name: project_id
        in: path
        required: true
        schema:
          type: string
      - name: page
        in: query
        schema:
          type: integer
      - name: pagesize
        in: query
        description: Maximum is 500, default is 100
        schema:
          type: integer
      - name: last_sync_date
        in: query
        schema:
          type: string
      - name: layout
        in: query
        description: Only allowed value is `simple` to retrieve a smaller response for general purpose components listing
        schema:
          type: string
      responses:
        '404':
          description: Plan Not Found
    post:
      summary: Creates component and plan and updates plan
      tags:
      - Components-Plans
      description: "This API is used for creating a component aka layer. It is possible to create both a layer and a plan or only a layer. In order to create a layer without a plan you need to send a layer name and order.\n      This API is also used for creating a plan for an empty component and updating an already exisiting plan. In order to create or update a plan the id of the component must be set. "
      x-websocket-response:
      - channel: components_{projectId}
        message_type: defectradar_components (progress)
        payload:
          type: object
          properties:
            progress:
              type: integer
              description: Processing progress percentage (0-100)
            has_failed:
              type: boolean
              description: True if plan conversion failed
      - channel: customer_{customerId}
        message_type: defectradar-components (status)
        payload:
          type: object
          properties:
            plan-status:
              type: string
              description: Plan processing status
            customer-id:
              type: integer
            project-id:
              type: integer
      security:
      - apiKey: []
      parameters:
      - name: customer_id
        in: path
        required: true
        schema:
          type: string
      - name: project_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '404':
          description: Component Creation Failed
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data[][attributes][file]:
                  type: string
                  description: file that contains the plan - is required if you want to create a plan
                  format: binary
                data[][attributes][file-name]:
                  type: string
                  description: name of the file that contains the plan
                data[][attributes][file-content-type]:
                  type: string
                  description: 'content type of the file - example: application/pdf'
                data[][attributes][file][link]:
                  type: string
                  description: you can send the file url instead of the file itself
                data[][attributes][file][name]:
                  type: string
                  description: ' specifies the file name if the url of the file was sent'
                data[][attributes][file][type]:
                  type: string
                  description: specifies the content-type of the file if the url of the file was sent
                data[][attributes][is-base64]:
                  type: boolean
                  description: Set to true if you pass content in attributes as base64 string
                data[][attributes][layers][][page]:
                  type: integer
                  description: the number of pages of the uploaded file that contains the plan - is required if a file has been uploaded
                data[][attributes][layers][][name]:
                  type: string
                  description: is optional if a file has been uploaded - is the name of the uploaded file by default
                data[][attributes][layers][][rotation]:
                  type: integer
                  description: ' degree of the rotation of a specific page of the plan  - example: 0, 90, 180, 270'
                data[][attributes][layers][][parent-id]:
                  type: string
                  description: parent id of the layer
                data[][attributes][layers][][order]:
                  type: integer
                  description: 'order of the layer example: 1 ( = first layer of a project )'
                data[][attributes][layers][][reposition-tickets]:
                  type: boolean
                  description: ' sets whether or not tickets will be repositioned for this plan'
                data[][attributes][layers][][component-id]:
                  type: string
                  description: id of the component - must be set if a plan is created for an empty component or an exisiting plan is updated
                data[][attributes][layers][][model-id]:
                  type: string
                  description: add model id to upload a new version of the model file
                data[][attributes][layers][][model-title]:
                  type: string
                  description: to set the model title
  /api/v1/{customer_id}/projects/{project_id}/components/{id}:
    get:
      summary: Retrieve one component
      tags:
      - Components-Plans
      security:
      - apiKey: []
      parameters:
      - name: customer_id
        in: path
        required: true
        schema:
          type: string
      - name: project_id
        in: path
        required: true
        schema:
          type: string
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '404':
          description: Plan Not Found
    put:
      summary: Updates name and parent of a specific component
      tags:
      - Components-Plans
      description: This API is used for updating the name and parent_id of a specific component. You can chose whether you update both or only one of them.
      security:
      - apiKey: []
      parameters:
      - name: customer_id
        in: path
        required: true
        schema:
          type: string
      - name: project_id
        in: path
        required: true
        schema:
          type: string
      - name: id
        in: path
        description: ' id of the component'
        required: true
        schema:
          type: string
      responses:
        '404':
          description: Component Update Failed
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    attributes:
                      type: object
                      properties:
                        name:
                          type: string
                          description: new name of the component
                          example: updatedname
                        parent_id:
                          type: string
                          description: new parent id of the component
                          example: byk
    delete:
      summary: Deletes specific component
      tags:
      - Components-Plans
      description: This API is used for deleting a specific component including all its sub-components and plans based on its id.
      security:
      - apiKey: []
      parameters:
      - name: customer_id
        in: path
        required: true
        schema:
          type: string
      - name: project_id
        in: path
        required: true
        schema:
          type: string
      - name: id
        in: path
        description: id of the component
        required: true
        schema:
          type: string
      responses:
        '404':
          description: Component Not Found
  /api/v1/{customer_id}/projects/{project_id}/components/{id}/delete_plan_revisions:
    post:
      summary: Deletes all plan revisions of a component
      tags:
      - Components-Plans
      description: This API is used for deleting all the plan revisions aka versions of a specific component based on its id.
      security:
      - apiKey: []
      parameters:
      - name: customer_id
        in: path
        required: true
        schema:
          type: string
      - name: project_id
        in: path
        required: true
        schema:
          type: string
      - name: id
        in: path
        required: true
        description: id of the component, set it to 0 if you want to delete the plan revisions of all components of a project
        schema:
          type: string
      - name: delete_all
        in: query
        description: must be true if the id of the project is 0
        schema:
          type: boolean
      responses:
        '404':
          description: Plan Revisions Not Found
  /api/v1/{customer_id}/projects/{project_id}/components/{id}/delete_bim_model_revisions:
    post:
      summary: Deletes all bim model revisions of a specific component
      tags:
      - Components-Plans
      description: This API is used for deleting all the bim model revisions aka versions of a specific component based on its id.
      security:
      - apiKey: []
      parameters:
      - name: customer_id
        in: path
        required: true
        schema:
          type: string
      - name: project_id
        in: path
        required: true
        schema:
          type: string
      - name: id
        in: path
        required: true
        description: id of the component, set it to 0 if you want to delete all bim model revisions of all components of a project
        schema:
          type: string
      - name: delete_all
        in: query
        description: must be true if the id of the project is 0
        schema:
          type: boolean
      responses:
        '404':
          description: Bim Model Revisions Not Found
  /api/v1/{customer_id}/projects/{project_id}/components/{component_id}/plans:
    get:
      summary: Retrieve all the plans which is belong to component
      tags:
      - Components-Plans
      parameters:
      - name: customer_id
        in: path
        required: true
        schema:
          type: string
      - name: project_id
        in: path
        required: true
        schema:
          type: string
      - name: component_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '404':
          description: Plan Not Found
  /api/v1/{customer_id}/projects/{project_id}/components/update_components_order:
    put:
      summary: Updates order of components
      tags:
      - Components-Plans
      description: This API is used for updating the order of specific components of a project.
      security:
      - apiKey: []
      parameters:
      - name: customer_id
        in: path
        required: true
        schema:
          type: string
      - name: project_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '404':
          description: Plans Not Found
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: array
                  items:
                    type: object
                    properties:
                      id:
                        type: string
                        example: nygw
                        description: id of the component of which the order is changed
                      type:
                        type: string
                        example: defectradar-components
                        description: 'type of the component of which the order is changed '
                      attributes:
                        type: object
                        properties:
                          id:
                            type: string
                            description: id of the component of which the order is changed
                          order:
                            type: integer
                            description: new order of the component
                          parent-id:
                            type: integer
                            description: parent-id of the component
                  description: ' includes the data of the components of which the order is changed as well as their new order'
  /api/v1/{customer_id}/projects/{project_id}/components/{component_id}/plans/{id}:
    get:
      summary: 'Returns a specific plan of a component '
      tags:
      - Components-Plans
      description: This API returns a specific plan of a component based on its id.
      parameters:
      - name: customer_id
        in: path
        required: true
        schema:
          type: string
      - name: project_id
        in: path
        required: true
        schema:
          type: string
      - name: component_id
        in: path
        required: true
        schema:
          type: string
      - name: id
        in: path
        description: id of the plan
        required: true
        schema:
          type: string
      responses:
        '404':
          description: Plan Not Found
    delete:
      summary: Deletes a specific plan of a component
      tags:
      - Components-Plans
      security:
      - apiKey: []
      description: This API is used for deleting a specific plan of a component based on its id.
      parameters:
      - name: customer_id
        in: path
        required: true
        schema:
          type: string
      - name: project_id
        in: path
        required: true
        schema:
          type: string
      - name: component_id
        in: path
        required: true
        schema:
          type: string
      - name: id
        in: path
        description: id of the plan
        required: true
        schema:
          type: string
      responses:
        '404':
          description: Plan Not Found
components:
  securitySchemes:
    apiKey:
      type: apiKey
      name: X-PlanRadar-API-Key
      in: header
externalDocs:
  description: Find out more about our development portal
  url: https://www.planradar.com/knowledge-base-overview/