COR Resource Allocation API
The Resource Allocation API from COR — 4 operation(s) for resource allocation.
The Resource Allocation API from COR — 4 operation(s) for resource allocation.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/cor-resource-allocation-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: COR Resource Allocation API
description: The Resource Allocation API is a dedicated service for managing the capacity of users on the COR platform. This API uses the same authentication as the main COR API.
version: 1.0.0
servers:
- url: https://planner.svc.v2.projectcor.com
description: Resource Allocation Service
security:
- bearerAuth: []
tags:
- name: Resource Allocation
paths:
/allocation/saveAllocation:
post:
tags:
- Resource Allocation
summary: Save Allocation
description: 'Creates a new resource allocation for a user on a project.
**Request Body Requirements:**
All values in the object are required.
**Known Errors:**
- `InvalidAllocationError` — The allocation is invalid:
- Empty `allocatedHours` field
- The `from` date is greater than or equal to the `to` date
- The date range exceeds 12 months
- `AllocationAlreadyExistInDatesRangeError` — An allocation already exists within the specified date range
- `UserNotFoundError` — The specified user cannot be found
- `UserNotHaveWorkDaysError` — The user does not have any work days configured
- `ProjectNotFoundError` — The specified project cannot be found'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AllocationInput'
example:
userId: 1111
companyId: 1111
email: email@email.com
resource:
typeId: Project
entityId: 1111
from: '2024-06-01'
to: '2024-10-31'
assignedByUserId: 11111
allocatedHours: 20
responses:
'200':
description: Allocation saved successfully
'400':
description: Invalid allocation error
content:
application/json:
schema:
$ref: '#/components/schemas/AllocationError'
examples:
invalid_allocation:
summary: Invalid allocation data
value:
error: InvalidAllocationError
message: Empty allocated hours field
user_not_found:
summary: User not found
value:
error: UserNotFoundError
message: The specified user cannot be found
allocation_exists:
summary: Allocation already exists
value:
error: AllocationAlreadyExistInDatesRangeError
message: An allocation already exists within the specified date range
operationId: postAllocationSaveAllocation
x-operation-id-source: derived
/allocation/updateAllocation:
put:
tags:
- Resource Allocation
summary: Update Allocation
description: 'Updates an existing resource allocation. Requires both the old allocation data and the new allocation data.
**Known Errors:**
- `InvalidAllocationError` — The new allocation is invalid:
- Empty `allocatedHours` field
- The `from` date is greater than or equal to the `to` date
- The date range exceeds 12 months
- `AllocationNotFoundError` — The specified old allocation cannot be found
- `AllocationAlreadyExistInDatesRangeError` — The new allocation already exists within the specified date range
- `UserNotFoundError` — The specified user in new allocation cannot be found
- `UserNotHaveWorkDaysError` — The user does not have any work days in the new allocation dates range
- `ProjectNotFoundError` — The specified project in new allocation cannot be found
**Note:** You can use this endpoint to change a project allocation, as long as there isn''t an existing allocation for the same user in the target project for any date within the range of the new allocation.'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AllocationUpdateInput'
example:
oldAllocation:
userId: 1111
companyId: 11
resource:
entityId: 11111
typeId: Project
from: '2024-01-01'
to: '2024-03-31'
assignedByUserId: 1111
allocatedHours: 0
newAllocation:
userId: 1111
companyId: 11
resource:
entityId: 11111
typeId: Project
from: '2024-01-01'
to: '2024-03-31'
assignedByUserId: 1111
allocatedHours: 10
responses:
'200':
description: Allocation updated successfully
'400':
description: Invalid allocation error
content:
application/json:
schema:
$ref: '#/components/schemas/AllocationError'
examples:
allocation_not_found:
summary: Old allocation not found
value:
error: AllocationNotFoundError
message: The specified allocation cannot be found
operationId: putAllocationUpdateAllocation
x-operation-id-source: derived
/allocation/removeAllocation:
delete:
tags:
- Resource Allocation
summary: Delete Allocation
description: 'Removes an existing resource allocation.
**Request Body Requirements:**
All values in the object are required.
**Known Errors:**
- `AllocationNotFoundError` — The specified allocation cannot be found
- `ProjectNotFoundError` — The specified project cannot be found
Please ensure that your request is valid and all specified resources exist to avoid these errors.'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AllocationInput'
example:
userId: 1111
companyId: 111
resource:
typeId: Project
entityId: 1111
from: '2024-01-01'
to: '2024-03-31'
assignedByUserId: 11111
allocatedHours: 20
responses:
'200':
description: Allocation deleted successfully
'400':
description: Allocation not found error
content:
application/json:
schema:
$ref: '#/components/schemas/AllocationError'
example:
error: AllocationNotFoundError
message: The specified allocation cannot be found
operationId: deleteAllocationRemoveAllocation
x-operation-id-source: derived
/allocation/getAllocations/{projectId}:
get:
tags:
- Resource Allocation
summary: Get Allocations By Project
description: Gets information about user allocations for a given project. Returns all users allocated to the project along with their allocation details and allocations in other projects.
parameters:
- name: projectId
in: path
required: true
schema:
type: integer
description: Project ID to get allocations for
example: 12345
responses:
'200':
description: List of user allocations for the project
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectAllocationsResponse'
example:
users:
- userId: 1234
firstName: John
lastName: Doe
positionName: Developer
categoryName: Engineering
categoryId: '10'
picture: ''
userPositionId: '5'
companyId: 41195
hidden: false
isDeleted: false
labelsByCategory: []
createdAt: '2024-01-15T10:00:00'
allocations:
- primaryKey: '00000001'
from: '2024-06-01T00:00:00'
to: '2024-08-31T00:00:00'
allocatedHours: 20
capacity: 160
availabilityLeft: 140
createdAt: '2024-05-20T14:30:00'
allocationUserAnotherProjects:
- projectId: 5678
projectName: Project Alpha
clientName: Client ABC
allocatedHours: 15
- projectId: 5679
projectName: Project Beta
clientName: Client XYZ
allocatedHours: 5
totalAllocatedHours: 20
operationId: getAllocationGetAllocationsByProjectId
x-operation-id-source: derived
components:
schemas:
AllocationResource:
type: object
required:
- typeId
- entityId
properties:
typeId:
type: string
enum:
- Project
description: Type of resource (currently only Project is supported)
entityId:
type: integer
description: Project ID
AllocationUpdateInput:
type: object
required:
- oldAllocation
- newAllocation
properties:
oldAllocation:
$ref: '#/components/schemas/AllocationInput'
description: The existing allocation to be updated
newAllocation:
$ref: '#/components/schemas/AllocationInput'
description: The new allocation data
AllocationError:
type: object
properties:
error:
type: string
description: Error type
enum:
- InvalidAllocationError
- AllocationAlreadyExistInDatesRangeError
- UserNotFoundError
- UserNotHaveWorkDaysError
- ProjectNotFoundError
- AllocationNotFoundError
message:
type: string
description: Error description
AllocationInput:
type: object
required:
- userId
- companyId
- resource
- from
- to
- assignedByUserId
- allocatedHours
properties:
userId:
type: integer
description: ID of the user being allocated
companyId:
type: integer
description: Company ID
email:
type: string
format: email
description: User email (optional)
resource:
$ref: '#/components/schemas/AllocationResource'
from:
type: string
format: date
description: Start date (YYYY-MM-DD)
to:
type: string
format: date
description: End date (YYYY-MM-DD). Must be after 'from' date and within 12 months.
assignedByUserId:
type: integer
description: ID of the user who assigned the allocation
allocatedHours:
type: number
description: Number of hours allocated
ProjectAllocationsResponse:
type: object
properties:
users:
type: array
description: List of users allocated to the project
items:
$ref: '#/components/schemas/AllocatedUser'
AllocatedUser:
type: object
properties:
userId:
type: integer
description: User ID
firstName:
type: string
description: User's first name
lastName:
type: string
description: User's last name
positionName:
type: string
description: User's position name
categoryName:
type: string
description: User's category name
categoryId:
type: string
description: User's category ID
picture:
type: string
description: URL to user's profile picture
userPositionId:
type: string
description: User's position ID
companyId:
type: integer
description: Company ID
hidden:
type: boolean
description: Whether the user is hidden
isDeleted:
type: boolean
description: Whether the user is deleted
labelsByCategory:
type: array
description: Labels assigned to the user grouped by category
items:
type: object
createdAt:
type: string
format: date-time
description: When the user was created
allocations:
type: array
description: User's allocations for this project
items:
$ref: '#/components/schemas/UserAllocation'
totalAllocatedHours:
type: number
description: Total hours allocated to this user for the project
UserAllocation:
type: object
properties:
primaryKey:
type: string
description: Unique identifier for the allocation
from:
type: string
format: date-time
description: Start date of the allocation
to:
type: string
format: date-time
description: End date of the allocation
allocatedHours:
type: number
description: Number of hours allocated
capacity:
type: number
description: Total capacity in hours
availabilityLeft:
type: number
description: Remaining availability (can be negative if overallocated)
createdAt:
type: string
format: date-time
description: When the allocation was created
allocationUserAnotherProjects:
type: array
description: Other project allocations for this user in the same period
items:
type: object
properties:
projectId:
type: integer
description: Project ID
projectName:
type: string
description: Name of the project
clientName:
type: string
description: Name of the client
allocatedHours:
type: number
description: Hours allocated to this project
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
description: Uses the same authentication as the main COR API. Obtain a token from https://api.projectcor.com/v1/oauth/token