IntelyCare Shift Events
Version 1.0.0
Real-time updates on the status of submitted shifts. IntelyCare POSTs a signed JSON payload to a client-configured HTTPS endpoint when a shift is accepted by a healthcare professional (an "IntelyPro") or released back to the marketplace. Every webhook carries an `X-Signature-IC` header containing an HMAC hex digest (SHA256) of the body payload, computed with the webhook secret. Verify it before processing.
Channels
Messages
Servers
AsyncAPI Specification
asyncapi: 3.0.0
# ---------------------------------------------------------------------------
# PROVENANCE
# generated: '2026-08-01'
# method: derived
# source: openapi/intelycare-external-scheduling-openapi.yml (info.x-webhooks)
# docs: https://apidocs.intelycare.com/
#
# IntelyCare does NOT publish an AsyncAPI document. IntelyCare DOES publish a real event
# surface: two HMAC-signed webhooks declared as OpenAPI `x-webhooks` (ShiftAccept,
# ShiftRelease). This document is a faithful AsyncAPI 3.0.0 projection of those two
# declarations — every channel, message, payload property, enum, example and the security
# scheme are carried over verbatim from IntelyCare's own spec. Nothing is invented. The
# webhook delivery URL is configured per client by IntelyCare and is not published, so the
# server below is modelled as a client-hosted receiver.
# ---------------------------------------------------------------------------
info:
title: IntelyCare Shift Events
version: 1.0.0
description: |
Real-time updates on the status of submitted shifts. IntelyCare POSTs a signed JSON payload
to a client-configured HTTPS endpoint when a shift is accepted by a healthcare professional
(an "IntelyPro") or released back to the marketplace.
Every webhook carries an `X-Signature-IC` header containing an HMAC hex digest (SHA256) of
the body payload, computed with the webhook secret. Verify it before processing.
contact:
name: API Support
email: apisupport@intelycare.com
license:
name: Apache 2.0
url: http://www.apache.org/licenses/LICENSE-2.0.html
externalDocs:
description: IntelyCare API Documentation
url: https://apidocs.intelycare.com/
defaultContentType: application/json
servers:
clientReceiver:
host: webhook.example.com
protocol: https
description: >-
Client-hosted HTTPS receiver. IntelyCare delivers webhooks to a URL configured per client;
the endpoint is not published in the API documentation. Replace with your own host.
channels:
shiftAccept:
address: /
title: Shift Accept
description: Webhook event for shift accept.
messages:
ShiftAccept:
$ref: '#/components/messages/ShiftAccept'
shiftRelease:
address: /
title: Shift Release
description: Webhook event for shift release.
messages:
ShiftRelease:
$ref: '#/components/messages/ShiftRelease'
operations:
receiveShiftAccept:
action: receive
channel:
$ref: '#/channels/shiftAccept'
summary: Shift Accept
description: Webhook event for shift accept.
security:
- $ref: '#/components/securitySchemes/HMACSignature'
messages:
- $ref: '#/channels/shiftAccept/messages/ShiftAccept'
receiveShiftRelease:
action: receive
channel:
$ref: '#/channels/shiftRelease'
summary: Shift Release
description: Webhook event for shift release.
security:
- $ref: '#/components/securitySchemes/HMACSignature'
messages:
- $ref: '#/channels/shiftRelease/messages/ShiftRelease'
components:
securitySchemes:
HMACSignature:
type: httpApiKey
in: header
name: X-Signature-IC
description: >-
The hash signature of the payload. IntelyCare webhooks use a HMAC hex digest (SHA256) to
compute the signature of the body payload with the webhook secret.
messages:
ShiftAccept:
name: ShiftAccept
title: Shift Accept
summary: A shift request has been accepted by a healthcare professional.
contentType: application/json
headers:
type: object
required: [X-Signature-IC]
properties:
X-Signature-IC:
type: string
description: >-
The hash signature of the payload. IntelyCare webhooks uses a HMAC hex digest
(SHA256) to compute the signature of the body payload with the webhook secret.
examples:
- a0b1c1d2e3f5a8b13c21d34e55f89a144b233c377d610e987f1597a2584b4181
payload:
$ref: '#/components/schemas/ShiftAcceptPayload'
examples:
- name: shiftAccepted
payload:
clientId: 1234
externalShiftId: '2546810'
shiftStatus: Accepted
healthcareProfessional:
id: '456789'
externalId: '111124'
lastName: Nightengale
firstName: Florence
healthcareProfessionalType: LPN
phoneNumber: (800) 900-1234
email: florence.nightengale@gmail.com
profilePicture: XfPy2KmGiZTQySSS3OHCWw==
statusTimestamp: '2024-01-17T15:01:00'
ShiftRelease:
name: ShiftRelease
title: Shift Release
summary: A previously accepted shift has been released back to the marketplace.
contentType: application/json
headers:
type: object
required: [X-Signature-IC]
properties:
X-Signature-IC:
type: string
description: >-
The hash signature of the payload. IntelyCare webhooks uses a HMAC hex digest
(SHA256) to compute the signature of the body payload with the webhook secret.
examples:
- a0b1c1d2e3f5a8b13c21d34e55f89a144b233c377d610e987f1597a2584b4181
payload:
$ref: '#/components/schemas/ShiftReleasePayload'
examples:
- name: shiftReleased
payload:
clientId: 1234
externalShiftId: '2546810'
shiftStatus: Released
statusTimestamp: '2024-01-17T15:01:00'
schemas:
ShiftStatus:
type: string
description: Status of the shift.
enum: [Accepted, Completed, Released, Deleted]
HealthcareProfessional:
type: object
description: >-
Healthcare Professional object containing all information about the assigned worker.
required:
- id
- externalId
- lastName
- firstName
- healthcareProfessionalType
- phoneNumber
- email
properties:
id:
type: integer
description: Unique identifier of the shift.
externalId:
type: integer
description: External identifier for the shift.
lastName:
type: string
description: Last name of the assigned worker.
firstName:
type: string
description: First name of the assigned worker.
healthcareProfessionalType:
type: string
description: Healthcare professional qualification needed for the given shift.
phoneNumber:
type: string
description: Phone number for the assigned worker.
examples: ['(800) 900-1234']
email:
type: string
description: Email for the assigned worker.
profilePicture:
type: string
description: Base64 encoded string of the assigned workers profile image.
examples: ['XfPy2KmGiZTQySSS3OHCWw==']
ShiftAcceptPayload:
type: object
required: [clientId, externalShiftId, shiftStatus, healthcareProfessional, statusTimestamp]
properties:
clientId:
type: integer
description: Unique identifier of the client.
externalShiftId:
type: integer
description: Unique identifier for the shift.
shiftStatus:
$ref: '#/components/schemas/ShiftStatus'
healthcareProfessional:
$ref: '#/components/schemas/HealthcareProfessional'
statusTimestamp:
type: string
description: Status timestamp in ISO 8601 format and in UTC timezone.
examples: ['2024-01-17T15:01:00']
ShiftReleasePayload:
type: object
required: [clientId, externalShiftId, shiftStatus, statusTimestamp]
properties:
clientId:
type: integer
description: Unique identifier of the client.
externalShiftId:
type: integer
description: Unique identifier for the shift.
shiftStatus:
$ref: '#/components/schemas/ShiftStatus'
statusTimestamp:
type: string
description: Status timestamp in ISO 8601 format and in UTC timezone.
examples: ['2024-01-17T15:01:00']
Work with this as data
Every AsyncAPI spec 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 asyncapi
4 MCP tools reach this
find_asyncapisBrowse and filter every AsyncAPI spec in the catalog.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.
Call it yourself
curl for this page
curl "https://apis.io/api/v1/asyncapis/intelycare-shift-events-asyncapi"
curl "https://apis.io/api/v1/asyncapis?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.