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/procore:procore-bim-planss-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: 3.2.0
info:
title: Procore REST BIM Planss API
version: v1.0/v2.0
description: Merged from the per-resource OpenAPI documents Procore publishes through its developer portal (https://developers.procore.com/api/v1/resource_groups). Originals are kept verbatim in openapi/_original/resources/.
x-source: https://developers.procore.com/api/v1/resource_groups
servers:
- url: https://api.procore.com
description: Production
security:
- bearerAuth: []
tags:
- name: BIM Planss
paths:
/rest/v1.0/bim_plans:
parameters:
- name: Procore-Company-Id
in: header
description: Unique company identifier associated with the Procore User Account.
required: true
schema:
type: integer
x-compliance-level: full
post:
x-doc:
visibility: public
stage: ga
exposure: public
summary: Create BIM Plan
description: Create a BIM Plan in a Project
tags:
- BIM Planss
requestBody:
content:
application/json:
schema:
title: Body
type: object
required:
- project_id
- bim_plan
properties:
project_id:
type: integer
description: Unique identifier for the project.
example: 126
view:
type: string
description: Specify response schema view
enum:
- compact
- normal
- extended
bim_plan:
oneOf:
- type: object
description: BIM Plan
required:
- bim_level_id
properties:
bim_level_id:
type: integer
description: ID of the BIM Level to be associated to the plan
example: 16
drawing_id:
type: integer
description: ID of the Drawing to be associated to the plan
example: 16
upload_uuid:
type: string
description: UUID of uploaded 2D sheet image. One of drawing_id or upload_uid is required
example: 1ZE258W9K804SAJJZX19JVAB3R
sheet_map_start:
type: object
description: 2D Coordinate Point
properties:
x:
type: number
format: float
description: x-axis coordinate
example: 6.24
y:
type: number
format: float
description: y-axis coordinate
example: 12.48
sheet_map_end:
type: object
description: 2D Coordinate Point
properties:
x:
type: number
format: float
description: x-axis coordinate
example: 6.24
y:
type: number
format: float
description: y-axis coordinate
example: 12.48
model_map_start:
type: object
description: 3D Coordinate Point
properties:
x:
type: number
format: float
description: x-axis coordinate
example: 6.24
y:
type: number
format: float
description: y-axis coordinate
example: 12.48
z:
type: number
format: float
description: z-axis coordinate
example: 24.96
model_map_end:
type: object
description: 3D Coordinate Point
properties:
x:
type: number
format: float
description: x-axis coordinate
example: 6.24
y:
type: number
format: float
description: y-axis coordinate
example: 12.48
z:
type: number
format: float
description: z-axis coordinate
example: 24.96
- type: object
description: BIM Plan
required:
- bim_level_id
properties:
bim_level_id:
type: integer
description: ID of the BIM Level to be associated to the plan
example: 16
drawing_id:
type: integer
description: ID of the Drawing to be associated to the plan
example: 16
upload_uuid:
type: string
description: UUID of uploaded 2D sheet image. One of drawing_id or upload_uid is required
example: 1ZE258W9K804SAJJZX19JVAB3R
sheet_map_start:
type: object
description: 2D Coordinate Point
properties:
x:
type: number
format: double
description: x-axis coordinate
example: '6.24'
y:
type: number
format: double
description: y-axis coordinate
example: '12.48'
sheet_map_end:
type: object
description: 2D Coordinate Point
properties:
x:
type: number
format: double
description: x-axis coordinate
example: '6.24'
y:
type: number
format: double
description: y-axis coordinate
example: '12.48'
model_map_start:
type: object
description: 3D Coordinate Point
properties:
x:
type: number
format: double
description: x-axis coordinate
example: '6.24'
y:
type: number
format: double
description: y-axis coordinate
example: '12.48'
z:
type: number
format: double
description: z-axis coordinate
example: '24.96'
model_map_end:
type: object
description: 3D Coordinate Point
properties:
x:
type: number
format: double
description: x-axis coordinate
example: '6.24'
y:
type: number
format: double
description: y-axis coordinate
example: '12.48'
z:
type: number
format: double
description: z-axis coordinate
example: '24.96'
required: true
responses:
'201':
description: Created
content:
application/json:
schema:
allOf:
- type: object
description: BIM Plan captures the plan view of a level and contains the plan as a drawing or an attached 2D sheet
properties:
id:
type: integer
description: ID
example: 144
bim_level_id:
type: integer
description: ID of the BIM Level that the plan is associated to
example: 16
drawing_id:
type: integer
description: ID of the Drawing that the plan is associated to
example: 16
created_at:
type: string
format: date-time
description: Created date
example: '2019-01-04T06:13:10Z'
updated_at:
type: string
format: date-time
description: Updated date
example: '2019-01-06T11:26:08Z'
- type: object
properties:
title:
type: string
description: Title of the plan. This reflects the title of the drawing associated to the plan. If plan is not associated to a drawing, the title will contain the associated location name
example: 'A201: Floor II Plan'
image:
type: object
properties:
id:
type: integer
name:
type: string
description: Base name of the file without its path
example: drawing.png
content_type:
type: string
description: A mime type or a file extension
example: image/png
url:
type: string
description: URL to download the attached file. HTTP client should be prepared to follow redirects to successfully download the file.
example: https://storage.procore.com/v3/d/default/procore-files/1ZE258W9K804SAJJZX19JVAB3R?sig=e7a476ec0a46154d05e0d4a554fb2ea0904cb6604670f9247c54d7c56a84d0b6
height:
type: integer
description: Image height
example: 1200
width:
type: integer
description: Image width
example: 1600
thumbnail:
type: object
properties:
id:
type: integer
description: ID
example: 149
size:
type: string
description: Thumbnail size
example: small
enum:
- small
- medium
- large
url:
type: string
description: Thumbnail url
example: https://storage.procore.com/thumbnail-bucket/46971c37f_thumbnail_large.png?sig=e7a476ec0a46154d05e0d
sheet_map_start:
type: object
description: 2D Coordinate Point
properties:
x:
type: number
format: double
description: x-axis coordinate
example: '6.24'
y:
type: number
format: double
description: y-axis coordinate
example: '12.48'
sheet_map_end:
type: object
description: 2D Coordinate Point
properties:
x:
type: number
format: double
description: x-axis coordinate
example: '6.24'
y:
type: number
format: double
description: y-axis coordinate
example: '12.48'
model_map_start:
type: object
description: 3D Coordinate Point
properties:
x:
type: number
format: double
description: x-axis coordinate
example: '6.24'
y:
type: number
format: double
description: y-axis coordinate
example: '12.48'
z:
type: number
format: double
description: z-axis coordinate
example: '24.96'
model_map_end:
type: object
description: 3D Coordinate Point
properties:
x:
type: number
format: double
description: x-axis coordinate
example: '6.24'
y:
type: number
format: double
description: y-axis coordinate
example: '12.48'
z:
type: number
format: double
description: z-axis coordinate
example: '24.96'
'400':
description: Bad Request
content:
application/json:
schema:
type: object
properties:
code:
type: integer
format: int32
message:
type: string
fields:
type: string
reason:
description: A human-readable code providing additional detail on the cause of the error.
type: string
error:
description: Description of the error thrown.
type:
- string
- 'null'
example: Invalid Token
'401':
description: Unauthorized
content:
application/json:
schema:
type: object
properties:
code:
type: integer
format: int32
message:
type: string
fields:
type: string
reason:
description: A human-readable code providing additional detail on the cause of the error.
type: string
error:
description: Description of the error thrown.
type:
- string
- 'null'
example: Invalid Token
'403':
description: Forbidden
content:
application/json:
schema:
type: object
properties:
code:
type: integer
format: int32
message:
type: string
fields:
type: string
reason:
description: A human-readable code providing additional detail on the cause of the error.
type: string
error:
description: Description of the error thrown.
type:
- string
- 'null'
example: Invalid Token
default:
description: Unexpected error
content:
application/json:
schema:
type: object
properties:
code:
type: integer
format: int32
message:
type: string
fields:
type: string
reason:
description: A human-readable code providing additional detail on the cause of the error.
type: string
error:
description: Description of the error thrown.
type:
- string
- 'null'
example: Invalid Token
x-code-samples:
- id: node_request
mimeType: application/json
title: Node.js
content: "const request = require('request');\n\nconst options = {\n method: 'POST',\n url: 'https://api.procore.com/rest/v1.0/bim_plans',\n headers: {'content-type': 'application/json'},\n body: {\n project_id: 126,\n view: 'compact',\n bim_plan: {\n bim_level_id: 16,\n drawing_id: 16,\n upload_uuid: '1ZE258W9K804SAJJZX19JVAB3R',\n sheet_map_start: {x: 6.24, y: 12.48},\n sheet_map_end: {x: 6.24, y: 12.48},\n model_map_start: {x: 6.24, y: 12.48, z: 24.96},\n model_map_end: {x: 6.24, y: 12.48, z: 24.96}\n }\n },\n json: true\n};\n\nrequest(options, function (error, response, body) {\n if (error) throw new Error(error);\n\n console.log(body);\n});\n"
- id: python_python3
mimeType: application/json
title: Python3
content: 'import http.client
conn = http.client.HTTPSConnection("api.procore.com")
payload = "{\"project_id\":126,\"view\":\"compact\",\"bim_plan\":{\"bim_level_id\":16,\"drawing_id\":16,\"upload_uuid\":\"1ZE258W9K804SAJJZX19JVAB3R\",\"sheet_map_start\":{\"x\":6.24,\"y\":12.48},\"sheet_map_end\":{\"x\":6.24,\"y\":12.48},\"model_map_start\":{\"x\":6.24,\"y\":12.48,\"z\":24.96},\"model_map_end\":{\"x\":6.24,\"y\":12.48,\"z\":24.96}}}"
headers = { ''content-type'': "application/json" }
conn.request("POST", "/rest/v1.0/bim_plans", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))'
- id: shell_curl
mimeType: application/json
title: Curl
content: "curl --request POST \\\n --url https://api.procore.com/rest/v1.0/bim_plans \\\n --header 'content-type: application/json' \\\n --data '{\"project_id\":126,\"view\":\"compact\",\"bim_plan\":{\"bim_level_id\":16,\"drawing_id\":16,\"upload_uuid\":\"1ZE258W9K804SAJJZX19JVAB3R\",\"sheet_map_start\":{\"x\":6.24,\"y\":12.48},\"sheet_map_end\":{\"x\":6.24,\"y\":12.48},\"model_map_start\":{\"x\":6.24,\"y\":12.48,\"z\":24.96},\"model_map_end\":{\"x\":6.24,\"y\":12.48,\"z\":24.96}}}'"
- id: csharp_httpclient
mimeType: application/json
title: C#
content: "var client = new HttpClient();\nvar request = new HttpRequestMessage\n{\n Method = HttpMethod.Post,\n RequestUri = new Uri(\"https://api.procore.com/rest/v1.0/bim_plans\"),\n Content = new StringContent(\"{\\\"project_id\\\":126,\\\"view\\\":\\\"compact\\\",\\\"bim_plan\\\":{\\\"bim_level_id\\\":16,\\\"drawing_id\\\":16,\\\"upload_uuid\\\":\\\"1ZE258W9K804SAJJZX19JVAB3R\\\",\\\"sheet_map_start\\\":{\\\"x\\\":6.24,\\\"y\\\":12.48},\\\"sheet_map_end\\\":{\\\"x\\\":6.24,\\\"y\\\":12.48},\\\"model_map_start\\\":{\\\"x\\\":6.24,\\\"y\\\":12.48,\\\"z\\\":24.96},\\\"model_map_end\\\":{\\\"x\\\":6.24,\\\"y\\\":12.48,\\\"z\\\":24.96}}}\")\n {\n Headers =\n {\n ContentType = new MediaTypeHeaderValue(\"application/json\")\n }\n }\n};\nusing (var response = await client.SendAsync(request))\n{\n response.EnsureSuccessStatusCode();\n var body = await response.Content.ReadAsStringAsync();\n Console.WriteLine(body);\n}"
x-rate-limit-enabled: true
x-procore-kong-tags:
- rate-limit:enabled
operationId: createBimPlan
components:
securitySchemes:
bearerAuth:
type: http
scheme: bearer