Nectar Analytics API
The Analytics API from Nectar — 1 operation(s) for analytics.
The Analytics API from Nectar — 1 operation(s) for analytics.
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/nectar-hr:nectar-hr-analytics-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: Nectar Public Analytics API
version: 0.1.0
description: 'Welcome to the Nectar Public API. Here you can view and test the provided endpoints before integrating them into
your automated systems/tools.
After requesting access to the API through support, you can generate your API key from the integrations tab in Nectar.
You can access the Swagger Definition here.
### Authentication
All endpoints require an API Key. Be sure to set the `Authorization` header key to `Bearer `'
contact:
name: Nectar Support
url: https://nectarhr.com/contact-us
servers:
- url: https://api.nectarhr.com
description: Nectar API Documentation
security:
- BearerAuth: []
tags:
- name: Analytics
paths:
/v1/analytics/financial/redemptions:
get:
summary: Generates a summary of redemptions made by all users
description: 'Date rules:
If you do not specify a start or end date, it will generate a report of the first of the current month to present.
If you specify a start date and an end date, they cannot span more than a year.
If you specify a start date without an end date, it will fetch either a month from start date, or the current day. Whichever is less.
If you specify an end date without a start date, it will error.
All requests will include the applied start and end date.'
security:
- BearerAuth: []
responses:
'200':
description: OK
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/SuccessfulResponse'
- $ref: '#/components/schemas/CompanyRedemptions'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/TooManyRequests'
'500':
$ref: '#/components/responses/InternalServerError'
'501':
$ref: '#/components/responses/NotImplemented'
parameters:
- name: expand
in: query
schema:
type: array
items:
type: string
enum:
- user
explode: false
style: form
description: Return each users' expanded data
- name: sort
in: query
schema:
type: string
enum:
- gift_card_redemptions
- swag_redemptions
- amazon_us
- amazon_uk
- amazon_ca
description: Sorts output by specified value in descending order.
- name: start-date
in: query
schema:
type: string
format: date
description: 'Start Date of range to get data from as defined by RFC 3339,
section 5.6, for example, 2017-07-21.'
- name: end-date
in: query
schema:
type: string
format: date
description: 'End Date of range to get data from as defined by RFC 3339,
section 5.6, for example, 2017-07-21.
If defined, start-date is required.'
tags:
- Analytics
operationId: getV1AnalyticsFinancialRedemptions
x-operation-id-source: derived
components:
schemas:
FailedResponse:
allOf:
- $ref: '#/components/schemas/Response'
- type: object
properties:
status:
type: string
default: failure
error:
type: object
properties:
message:
type: string
code:
type: string
enum:
- N0001
- N0002
- N0003
- N1001
- N1002
- N1003
Links:
type: object
properties:
self:
type: string
format: uri
related:
type: array
items:
type: object
properties:
type:
type: string
href:
type: string
format: uri
Response:
type: object
properties:
status:
type: string
enum:
- success
- failure
SuccessfulResponse:
allOf:
- $ref: '#/components/schemas/Response'
- type: object
properties:
status:
type: string
enum:
- success
links:
$ref: '#/components/schemas/Links'
BaseUser:
allOf:
- type: object
properties:
id:
type: string
email:
type: string
format: email
employee_id:
type:
- string
- 'null'
first_name:
type: string
last_name:
type: string
username:
type: string
phone_number:
type:
- string
- 'null'
example: 123-456-7890
department:
type:
- string
- 'null'
office_location:
type:
- string
- 'null'
job_title:
type:
- string
- 'null'
language:
type:
- string
- 'null'
active:
type: boolean
invite_email_sent:
type: boolean
description: Indicates whether an invite email was sent for this user during this request. Only present in PUT responses. Returns true when the send_invites query parameter is present and user_invited is true in the request body for this user.
- $ref: '#/components/schemas/Links'
ExpandedUser:
allOf:
- $ref: '#/components/schemas/BaseUser'
- type: object
properties:
user_role:
type: string
enum:
- Administrator
- Manager
- Employee
preferred_name:
type:
- string
- 'null'
birth_date:
type:
- string
- 'null'
hire_date:
type:
- string
- 'null'
format: date
inactive_date:
type:
- string
- 'null'
format: date
user_invited:
type: boolean
user_onboarded:
type: boolean
manager_email:
type:
- string
- 'null'
format: email
workspaces:
type: array
items:
type: string
giveable_points:
type: number
redeemable_points:
type: number
logged_in_once:
type: boolean
custom_properties:
type: object
additionalProperties: true
example:
custom_property_1: string
CompanyRedemptions:
type: object
properties:
data:
type: object
properties:
meta:
type: object
properties:
startDate:
type: string
format: date
endDate:
type: string
format: date
total:
type: string
financialRedemptionReport:
type: array
items:
type: object
properties:
gift_card_redemptions:
type: string
swag_redemptions:
type: string
amazon_redemptions:
type: object
properties:
US:
type: string
UK:
type: string
CA:
type: string
user:
anyOf:
- $ref: '#/components/schemas/BaseUser'
- $ref: '#/components/schemas/ExpandedUser'
responses:
NotImplemented:
description: '`NOT IMPLEMENTED`: Method is not implemented on that endpoint.'
content:
application/json:
schema:
$ref: '#/components/schemas/FailedResponse'
examples:
body:
value:
status: failure
error:
message: Bad Request
code: N0000
NotFound:
description: '`NOT FOUND`: The requested resource was not found'
content:
application/json:
schema:
$ref: '#/components/schemas/FailedResponse'
examples:
body:
value:
status: failure
error:
message: Not Found
code: N0005
TooManyRequests:
description: '`TOO MANY REQUESTS`: Company is being rate limited'
content:
application/json:
schema:
$ref: '#/components/schemas/FailedResponse'
examples:
body:
value:
status: failure
error:
message: TOO MANY REQUESTS
code: N0000
Forbidden:
description: '`FORBIDDEN`: Request was authenticated but the resource requested is missing or not accessible with that key'
content:
application/json:
schema:
$ref: '#/components/schemas/FailedResponse'
examples:
body:
value:
status: failure
error:
message: UNAUTHORIZED
code: N0002
BadRequest:
description: '`BAD REQUEST`: Body or Query Params are malformed (missing, extra, or invalid values)'
content:
application/json:
schema:
$ref: '#/components/schemas/FailedResponse'
examples:
body:
value:
status: failure
error:
message: Bad Request
code: N0003
InternalServerError:
description: '`INTERNAL SERVER ERROR`: Request was unable to be processed due to a server error. Contact our support team.'
content:
application/json:
schema:
$ref: '#/components/schemas/FailedResponse'
examples:
body:
value:
status: failure
error:
message: Bad Request
code: N0001
Unauthorized:
description: '`UNAUTHORIZED`: Request was sent with an expired or missing API Key'
content:
application/json:
schema:
$ref: '#/components/schemas/FailedResponse'
examples:
body:
value:
status: failure
error:
message: UNAUTHORIZED
code: N0002
securitySchemes:
BearerAuth:
type: http
scheme: bearer
bearerFormat: JWT