AlayaCare offer inbox API
The offer inbox API from AlayaCare — 4 operation(s) for offer inbox.
The offer inbox API from AlayaCare — 4 operation(s) for offer inbox.
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/alayacare-offer-inbox-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: Alayacare offer inbox API
version: '1.0'
servers:
- url: https://api.{env}.alayamarket.{region}/offers
variables:
env:
description: The server environment.
enum:
- staging
- sandbox
- prod
default: prod
region:
description: The server top-level domain indicating the region.
enum:
- ca
- com
- com.au
default: ca
security:
- CognitoAuthorizer: []
tags:
- name: offer inbox
paths:
/v1/inbox/offers:
get:
tags:
- offer inbox
description: '# Authorization
Required role: `org_admin`
# Description
Get a collection of Offers matched to the Supply Organization.
'
parameters:
- in: query
name: status
description: 'Filter on an Offer Match status. Filtering on multiple statuses is not supported.
'
schema:
$ref: '#/components/schemas/OfferMatchStatusCore'
- $ref: '#/components/parameters/ShiftIdQueryParam'
- $ref: '#/components/parameters/PageNumberParam'
- $ref: '#/components/parameters/ItemsPerPageParam'
- $ref: '#/components/parameters/SortByParam'
- $ref: '#/components/parameters/SortOrderParam'
responses:
200:
description: Successfully returned Offer Inbox Collection.
content:
application/json:
schema:
$ref: '#/components/schemas/InboxOfferPageResponse'
x-amazon-apigateway-integration:
uri:
Fn::Sub: arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${OfferApiFunctionV2.Arn}:live/invocations
httpMethod: POST
passthroughBehavior: when_no_match
type: aws_proxy
/v1/inbox/offers/{offer_id}:
parameters:
- $ref: '#/components/parameters/OfferIdPathParam'
get:
tags:
- offer inbox
description: '# Authorization
Required role: `org_admin`
# Description
Get the anonamyzed details of Offers matched to the Supply
organization. This must contain no PHI.
'
responses:
200:
description: Successfully returned Offer Inbox Scalar
content:
application/json:
schema:
$ref: '#/components/schemas/InboxOfferDetailResponse'
x-amazon-apigateway-integration:
uri:
Fn::Sub: arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${OfferApiFunctionV2.Arn}:live/invocations
httpMethod: POST
passthroughBehavior: when_no_match
type: aws_proxy
/v1/inbox/offers/{offer_id}/accept:
parameters:
- $ref: '#/components/parameters/OfferIdPathParam'
post:
tags:
- offer inbox
description: '# Authorization
Required role: `org_admin`
Required offer state: `sent`
# Description
Accept an Offer matched to the Supply organization.
'
requestBody:
required: false
content:
application/json:
schema:
$ref: '#/components/schemas/InboxOfferAcceptRequest'
responses:
204:
description: Successfully marked Offer as Accepted
x-amazon-apigateway-integration:
uri:
Fn::Sub: arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${OfferApiFunctionV2.Arn}:live/invocations
httpMethod: POST
passthroughBehavior: when_no_match
type: aws_proxy
/v1/inbox/offers/{offer_id}/decline:
parameters:
- $ref: '#/components/parameters/OfferIdPathParam'
post:
tags:
- offer inbox
description: '# Authorization
Required role: `org_admin`
Required offer state: `sent`
# Description
Decline an Offer matched to the Supply organization.
'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/InboxOfferDeclineRequest'
responses:
204:
description: Successfully marked Offer as Declined
x-amazon-apigateway-integration:
uri:
Fn::Sub: arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${OfferApiFunctionV2.Arn}:live/invocations
httpMethod: POST
passthroughBehavior: when_no_match
type: aws_proxy
components:
schemas:
InboxOfferVisitTaskResponse:
type: object
properties:
id:
type: string
format: uuid
name:
type: string
minLength: 1
description:
type: string
is_required:
type: boolean
required:
- id
- name
- is_required
CareTypeCore:
type: string
enum:
- psw
- nursing
PriceCore:
type: object
properties:
rate:
type: number
format: decimal
description: The dollar amount for offer per unit.
example: 30.0
unit:
type: string
description: The unit for the rate.
enum:
- per_visit
- per_hour
- amount
required:
- rate
- unit
CarePlanInterventionCore:
type: object
properties:
description:
type: string
end_date:
type: string
format: date
external_link:
title: CarePlanInterventionExternalLinkCore
type: object
properties:
label:
type: string
url:
type: string
required:
- label
- url
has_duration:
type: boolean
is_from_library:
type: boolean
is_required:
type: boolean
name:
type: string
rank:
type: integer
recurrence:
title: CarePlanInterventionRecurrenceCore
type: object
properties:
count:
type: integer
frequency:
type: string
interval:
type: integer
weekdays:
type: array
items:
type: string
monthday:
type: integer
available_from:
type: string
available_to:
type: string
required:
- frequency
- interval
recurrence_type:
type: string
start_date:
type: string
format: date
status:
type: string
timezone:
type: string
type:
type: string
updated_at:
type: string
format: date-time
required:
- has_duration
- is_required
- name
- rank
- recurrence_type
- start_date
- status
- type
PageNumberCore:
type: integer
minimum: 1
default: 1
InboxOfferVisitResponse:
type: object
properties:
id:
type: string
format: uuid
start_at:
type: string
format: date-time
end_at:
type: string
format: date-time
instructions:
type: string
tasks:
type: array
items:
$ref: '#/components/schemas/InboxOfferVisitTaskResponse'
required:
- id
- start_at
- end_at
OfferReasonCodeCore:
description: '`reason_code` and `reason_comment` associated to a cancelled or closed offer.
'
type: object
properties:
reason_code:
type: string
enum:
- datetime_change
- client_request
- client_hospitalization
- client_passed_away
- client_refused_service
- processing_error
- other
reason_comment:
type: string
CaseManagerCore:
type: object
properties:
name:
type: string
phone_number:
type: string
fax_number:
type: string
email:
type: string
InboxOfferFormTemplateResponse:
allOf:
- $ref: '#/components/schemas/FormTemplateCore'
- type: object
properties:
fields:
type: array
items:
$ref: '#/components/schemas/FormTemplateFieldCore'
InboxOfferAcceptRequest:
type: object
properties:
comment:
type: string
OfferTypeCore:
type: string
enum:
- visit
- service
AuthorizationCore:
type: object
properties:
authorization_number:
type: string
authorization_status:
type: string
end_date:
type: string
format: date
first_day_of_week:
type: integer
id:
type: integer
import_id:
type: string
member_number:
type: string
notes:
type: string
program_id:
type: string
custom_number_of_days:
type: integer
rule_type:
type: string
rule_custom:
type: number
format: decimal
rule_daily:
type: number
format: decimal
rule_weekly:
type: number
format: decimal
rule_monthly:
type: number
format: decimal
rule_period:
type: number
format: decimal
rule_monday:
type: number
format: decimal
rule_tuesday:
type: number
format: decimal
rule_wednesday:
type: number
format: decimal
rule_thursday:
type: number
format: decimal
rule_friday:
type: number
format: decimal
rule_saturday:
type: number
format: decimal
rule_sunday:
type: number
format: decimal
start_date:
type: string
format: date
required:
- authorization_status
- first_day_of_week
- rule_type
- start_date
PageCore:
description: Root page schema for returning collections.
type: object
properties:
page:
$ref: '#/components/schemas/PageNumberCore'
items_per_page:
$ref: '#/components/schemas/ItemsPerPageCore'
total_items:
type: integer
minimum: 0
total_pages:
type: integer
minimum: 0
required:
- page
- items_per_page
- total_items
- total_pages
AllergyCore:
type: object
properties:
name:
type: string
category:
type: string
severity:
type: string
start_date:
type: string
format: date
treatment:
type: string
InboxOfferDeclineRequest:
allOf:
- $ref: '#/components/schemas/OfferMatchReasonCodeCore'
ServiceCore:
type: object
properties:
name:
type: string
minLength: 1
start_at:
type: string
format: date-time
expected_start_at:
type: string
format: date-time
end_at:
type: string
format: date-time
instructions:
type: string
notes:
type: string
skills:
type: array
items:
type: string
custom_fields:
type: array
items:
$ref: '#/components/schemas/CustomFieldCore'
required:
- name
SortOrderCore:
type: string
enum:
- asc
- desc
default: desc
OfferMatchStatusCore:
type:
- string
- 'null'
enum:
- open
- expired
- closed
- assigned
- fulfilled
InboxOfferDetailResponse:
description: 'API response for the anonymous representation of an offer on the inbox API.
Similarly to the `InboxOfferCore`, this schema is meant to be used in the nested `offer`
in a top level (API) response schema, e.g. the `InboxOfferScalarApiResponse`
This includes everything from the `InboxOfferCore` along with some additional information
on the client, service and visits.
Not all client information is included here, hence the "anon" (anonymous) prefix.
'
type: object
properties:
offer:
$ref: '#/components/schemas/InboxOfferCore'
alayacare:
$ref: '#/components/schemas/InboxOfferAlayaCareResponse'
case_manager:
$ref: '#/components/schemas/CaseManagerCore'
price:
$ref: '#/components/schemas/PriceCore'
client:
title: InboxOfferDetailClientResponse
type: object
properties:
address:
$ref: '#/components/schemas/AddressAnonCore'
allergies:
type: array
items:
$ref: '#/components/schemas/AllergyCore'
risks:
type: array
items:
$ref: '#/components/schemas/RiskCore'
custom_fields:
type: array
items:
$ref: '#/components/schemas/CustomFieldCore'
required:
- address
service:
title: InboxOfferDetailServiceResponse
allOf:
- $ref: '#/components/schemas/ServiceCore'
- type: object
properties:
id:
type: string
format: uuid
use_client_address:
type: boolean
address:
$ref: '#/components/schemas/AddressAnonCore'
required:
- id
visits:
type: array
items:
$ref: '#/components/schemas/InboxOfferVisitResponse'
match:
$ref: '#/components/schemas/OfferMatchCore'
demand:
$ref: '#/components/schemas/OrganizationLeanCore'
required:
- offer
- match
- demand
- client
- service
CustomFieldCore:
type: object
properties:
name:
type: string
type:
type: string
value:
type: string
required:
- name
- value
InboxOfferPageResponse:
allOf:
- $ref: '#/components/schemas/PageCore'
- type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/InboxOfferCollectionResponse'
required:
- items
OfferMatchResponseCore:
type: string
enum:
- pending
- accepted
- declined
ItemsPerPageCore:
type: integer
minimum: 1
default: 100
InboxOfferCarePlanResponse:
type: object
properties:
name:
type: string
start_date:
type: string
format: date
end_date:
type: string
format: date
status:
type: string
interventions:
type: array
items:
$ref: '#/components/schemas/CarePlanInterventionCore'
updated_at:
type: string
format: date-time
required:
- name
- start_date
InboxOfferAlayaCareResponse:
type: object
properties:
authorizations:
type: array
items:
$ref: '#/components/schemas/AuthorizationCore'
care_plan:
$ref: '#/components/schemas/InboxOfferCarePlanResponse'
form_templates:
type: array
items:
$ref: '#/components/schemas/InboxOfferFormTemplateResponse'
OfferMatchReasonCodeCore:
description: '`reason_code` associated with a declined Offer Match.
'
type: object
properties:
reason_code:
type: string
comment:
type: string
InboxOfferCollectionResponse:
description: 'API response for the core representation of an offer response on the inbox API.
'
type: object
properties:
offer:
$ref: '#/components/schemas/InboxOfferCore'
match:
$ref: '#/components/schemas/OfferMatchCore'
InboxOfferCore:
description: 'Core representation of an offer on the inbox API.
Meant to be used in the nested `offer` in a top level (API) response schema.
'
allOf:
- $ref: '#/components/schemas/OfferReasonCodeCore'
- type: object
properties:
id:
type: string
format: uuid
shift_id:
type: string
format: uuid
care_type:
$ref: '#/components/schemas/CareTypeCore'
offer_type:
$ref: '#/components/schemas/OfferTypeCore'
expires_at:
type: string
format: date-time
start_at:
type: string
format: date-time
end_at:
type: string
format: date-time
comment:
type: string
created_at:
type: string
format: date-time
updated_at:
type: string
format: date-time
required:
- id
- care_type
- offer_type
- expires_at
- start_at
- created_at
FormTemplateCore:
type: object
properties:
admin_eyes_only:
type: boolean
approve_automatically:
type: boolean
clinical_event_name:
type: string
display_instructions_in_pdf:
type: boolean
display_report:
type: boolean
exclude_from_shift_report:
type: boolean
form_type:
type: string
id:
type: integer
instructions:
type: string
language_code:
type: string
name:
type: string
notify_alert_queue:
type: boolean
pre_populate:
type: boolean
requires_clock_in:
type: boolean
schema_id:
type: string
format: uuid
schema_version:
type: integer
visit_link_required:
type: boolean
required:
- admin_eyes_only
- approve_automatically
- display_instructions_in_pdf
- display_report
- exclude_from_shift_report
- form_type
- id
- language_code
- name
- notify_alert_queue
- pre_populate
- requires_clock_in
- schema_id
- schema_version
- visit_link_required
RiskCore:
type: object
properties:
name:
type: string
category:
type: string
example: allergy
severity:
type: integer
start_date:
type: string
format: date
AddressAnonCore:
type: object
properties:
city:
type: string
minLength: 1
state:
type: string
minLength: 1
zip:
type: string
minLength: 1
country:
type: string
minLength: 1
approx_latitude:
type: number
format: double
minimum: -90
maximum: 90
approx_longitude:
type: number
format: double
minimum: -180
maximum: 180
approx_radius_meters:
type: number
format: double
minimum: 0
required:
- city
- state
- zip
- country
FormTemplateFieldCore:
type: object
properties:
field_tag:
type: string
field_type:
type: string
id:
type: integer
instructions:
type: string
json_logic:
type: object
label:
type: string
parent_id:
type: integer
rank:
type: integer
required:
type: boolean
settings:
type: object
required:
- field_type
- id
- label
- parent_id
- rank
- required
OrganizationLeanCore:
type: object
properties:
id:
type: string
format: uuid
name:
type: string
minLength: 1
required:
- id
- name
OfferMatchCore:
description: 'Core representation of an Offer Match.
Meant to be used in the nested `match` in a top level (API) response schema.
'
allOf:
- $ref: '#/components/schemas/OfferMatchReasonCodeCore'
- type: object
properties:
id:
type: string
format: uuid
response:
$ref: '#/components/schemas/OfferMatchResponseCore'
status:
$ref: '#/components/schemas/OfferMatchStatusCore'
sequence_id:
type: string
format: uuid
created_at:
type: string
format: date-time
updated_at:
type: string
format: date-time
required:
- id
- response
- status
- sequence_id
- created_at
SortByCore:
type: string
enum:
- last_modified
default: last_modified
parameters:
OfferIdPathParam:
in: path
name: offer_id
schema:
type: string
format: uuid
required: true
description: ID of an offer
ItemsPerPageParam:
in: query
name: items_per_page
schema:
$ref: '#/components/schemas/ItemsPerPageCore'
ShiftIdQueryParam:
in: query
name: shift_id
schema:
type: string
format: uuid
PageNumberParam:
in: query
name: page
schema:
$ref: '#/components/schemas/PageNumberCore'
SortOrderParam:
in: query
name: sort_order
schema:
$ref: '#/components/schemas/SortOrderCore'
SortByParam:
in: query
name: sort_by
schema:
$ref: '#/components/schemas/SortByCore'
securitySchemes:
CognitoAuthorizer:
type: apiKey
name: Authorization
in: header
x-amazon-apigateway-authtype: cognito_user_pools
x-amazon-apigateway-authorizer:
type: cognito_user_pools
providerARNs:
- Fn::Sub: '{{resolve:ssm:/${StackName}/${UserPoolArnSSMParameterName}}}'
x-amazon-apigateway-request-validators:
body:
validateRequestBody: true
validateRequestParameters: false
params:
validateRequestBody: false
validateRequestParameters: true
params-and-body:
validateRequestBody: true
validateRequestParameters: true
x-amazon-apigateway-request-validator: params
x-amazon-apigateway-gateway-responses:
BAD_REQUEST_BODY:
statusCode: 400
responseTemplates:
application/json: '{"message": $context.error.messageString, "description": "$context.error.validationErrorString"}'