COR

COR Resource Allocation API

The Resource Allocation API from COR — 4 operation(s) for resource allocation.

Operations 4

POST /allocation/saveAllocation Save Allocation #
PUT /allocation/updateAllocation Update Allocation #
DELETE /allocation/removeAllocation Delete Allocation #
GET /allocation/getAllocations/{projectId} Get Allocations By Project #

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/cor-resource-allocation-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

cor-resource-allocation-api-openapi.yml Raw ↑
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