Rotageek Demand API
The Demand API from Rotageek — 2 operation(s) for demand.
The Demand API from Rotageek — 2 operation(s) for demand.
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/rotageek:rotageek-demand-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a 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: Rotageek API v1 Demand API
description: Hello World!
contact:
name: Rotageek
email: office@rotageek.com
version: '1.0'
security:
- Bearer: []
tags:
- name: Demand
paths:
/api/v1/demand/{locationId}:
get:
tags:
- Demand
summary: Retrieves raw explicit demand
description: Retrieves raw explicit demand that has been uploaded into the system for location and a given date range
operationId: Demand_GetRawDemand
parameters:
- name: locationId
in: path
description: Target location id
required: true
schema:
type: string
- name: from
in: query
description: Start date from which records are to be fetched
schema:
type: string
format: date-time
- name: to
in: query
description: End date from which records are to be fetched
schema:
type: string
format: date-time
responses:
'200':
description: Raw explicit demand records
content:
text/plain:
schema:
type: array
items:
$ref: '#/components/schemas/Rotageek.AspNetCore.PublicApi.Models.DayDemandModel'
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Rotageek.AspNetCore.PublicApi.Models.DayDemandModel'
text/json:
schema:
type: array
items:
$ref: '#/components/schemas/Rotageek.AspNetCore.PublicApi.Models.DayDemandModel'
'400':
description: Request parameters are invalid
'401':
description: Access to resource denied
'404':
description: Location not found
'500':
description: Internal Server Error
put:
tags:
- Demand
summary: Add or update explicit demand
description: Add or update explicit demand records for a given location
operationId: Demand_AddOrUpdate
parameters:
- name: locationId
in: path
description: Target location id
required: true
schema:
type: string
requestBody:
description: Demand data to be saved
content:
application/json-patch+json:
schema:
type: array
items:
$ref: '#/components/schemas/Rotageek.AspNetCore.PublicApi.Models.DayDemandModel'
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Rotageek.AspNetCore.PublicApi.Models.DayDemandModel'
text/json:
schema:
type: array
items:
$ref: '#/components/schemas/Rotageek.AspNetCore.PublicApi.Models.DayDemandModel'
application/*+json:
schema:
type: array
items:
$ref: '#/components/schemas/Rotageek.AspNetCore.PublicApi.Models.DayDemandModel'
responses:
'200':
description: List of demand records that were successfully saved
content:
text/plain:
schema:
type: array
items:
$ref: '#/components/schemas/Rotageek.AspNetCore.PublicApi.Models.DayDemandModel'
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Rotageek.AspNetCore.PublicApi.Models.DayDemandModel'
text/json:
schema:
type: array
items:
$ref: '#/components/schemas/Rotageek.AspNetCore.PublicApi.Models.DayDemandModel'
'400':
description: Request parameters are invalid
'401':
description: Access to resource denied
'404':
description: Location not found
'500':
description: Internal Server Error
/api/v1/demand/adjusted/{locationId}:
get:
tags:
- Demand
summary: Retrieves adjusted demand
description: Retrieves adjusted demand values that has been calculated for location and a given date range
operationId: Demand_GetAdjustedDemand
parameters:
- name: locationId
in: path
description: Target location id
required: true
schema:
type: string
- name: from
in: query
description: Start date from which records are to be fetched
schema:
type: string
format: date-time
- name: to
in: query
description: End date from which records are to be fetched
schema:
type: string
format: date-time
responses:
'200':
description: Adjusted demand data
content:
text/plain:
schema:
$ref: '#/components/schemas/Rotageek.AspNetCore.PublicApi.Models.AdjustedDemandResultModel'
application/json:
schema:
$ref: '#/components/schemas/Rotageek.AspNetCore.PublicApi.Models.AdjustedDemandResultModel'
text/json:
schema:
$ref: '#/components/schemas/Rotageek.AspNetCore.PublicApi.Models.AdjustedDemandResultModel'
'400':
description: Request parameters are invalid
'401':
description: Access to resource denied
'404':
description: Location not found
'500':
description: Internal Server Error
components:
schemas:
Rotageek.AspNetCore.PublicApi.Models.FlexibleDemandModel:
type: object
properties:
start:
type: string
description: Start date of flexible demand requirement
format: date-time
end:
type: string
description: End date of flexible demand requirement
format: date-time
taskId:
type:
- string
- 'null'
description: ID of associated task
targetHours:
type: number
description: Number of hours required
format: double
additionalProperties: false
description: Container for flexible demand value for a specific date range / task combination
Rotageek.AspNetCore.PublicApi.Models.DayDemandModel:
type: object
properties:
date:
type: string
description: Date for demand data
format: date-time
taskId:
type:
- string
- 'null'
description: ID of associated task
demand:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Rotageek.AspNetCore.PublicApi.Models.DemandModel'
description: Demand data
additionalProperties: false
description: Container for demand data for a specific date / task combination
Rotageek.AspNetCore.PublicApi.Models.DemandType:
enum:
- Target
- Minimum
- Maximum
type: string
description: Describes the type of adjusted demand values
Rotageek.AspNetCore.PublicApi.Models.DemandModel:
type: object
properties:
time:
type: string
description: Time stamp
format: date-span
people:
type: integer
description: Value of the demand figure
format: int32
additionalProperties: false
description: Container for demand value for a specific time frame
Rotageek.AspNetCore.PublicApi.Models.AdjustedDemandResultModel:
type: object
properties:
demand:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Rotageek.AspNetCore.PublicApi.Models.AdjustedDayDemandModel'
description: Demand values segmented by task
flexibleDemand:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Rotageek.AspNetCore.PublicApi.Models.FlexibleDemandModel'
description: 'Flexible demand values. This refers to demand for work that needs to be done at a specific
date range but not at any particular time.'
additionalProperties: false
description: Container for result of query for adjusted demand
Rotageek.AspNetCore.PublicApi.Models.AdjustedDemandModel:
type: object
properties:
time:
type: string
description: Time stamp
format: date-span
people:
type: integer
description: Value of the demand figure
format: int32
type:
$ref: '#/components/schemas/Rotageek.AspNetCore.PublicApi.Models.DemandType'
additionalProperties: false
description: Container for demand value for a specific time frame
Rotageek.AspNetCore.PublicApi.Models.AdjustedDayDemandModel:
type: object
properties:
date:
type: string
description: Date for demand data
format: date-time
taskId:
type:
- string
- 'null'
description: ID of associated task
demand:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Rotageek.AspNetCore.PublicApi.Models.AdjustedDemandModel'
description: Demand data
additionalProperties: false
description: Container for adjusted demand data for a specific date / task combination
securitySchemes:
Bearer:
type: http
description: Paste the JWT access token returned by POST /api/v1/auth. Swagger adds the 'Bearer ' prefix automatically.
scheme: bearer
bearerFormat: JWT
oauth2:
type: oauth2
description: OAuth2 Password Grant
flows:
password:
tokenUrl: /api/v1/auth
scopes: {}