AlayaCare Skills API

The Skills API from AlayaCare — 2 operation(s) for skills.

Operations 4

GET /skills Get a list of skills
POST /skills Create a skill
GET /skills/{skill_id} Get skill details using its AlayaCare Skill ID
PUT /skills/{skill_id} Modify skill details using its AlayaCare Skill ID

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/alayacare-skills-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

alayacare-skills-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: AlayaCare Skills API
  version: 1.0.0
  description: '**AlayaCare IDs:**

    The following terms are used to reference IDs that identify resources in AlayaCare:

    - employee_id

    - skill_id


    **External IDs**

    The following terms are used to reference IDs that identify resources systems external to AlayaCare:

    - external_employee_id


    External IDs are required to be unique.

    No other assumptions are made regarding their format they are treated as strings.


    **Remarks**

    - All dates must be in ISO 8601 format with timezone data


    **Skills Considerations**

    - The skill master list and employee skills management are supported by this API

    - Client specific skills are not supported by this API

    '
servers:
- url: https://homecare.alayacare.ca/ext/api/v2/employees
tags:
- name: Skills
paths:
  /skills:
    get:
      tags:
      - Skills
      parameters:
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/count'
      - $ref: '#/components/parameters/branch_id'
      - $ref: '#/components/parameters/filter'
      - $ref: '#/components/parameters/category_id'
      summary: Get a list of skills
      responses:
        '200':
          description: A list of skills
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SkillList'
        '401':
          $ref: '#/components/responses/ErrorResponseAuthentication'
    post:
      tags:
      - Skills
      summary: 'Create a skill

        '
      description: '- `branch_id` is optional, if omitted the skill will be created in the default branch.

        - `branch_id` can only be set at creation.

        - Skill fields (`acquired_date`, `expired_date`,  `label_1` and `label_2`) are optional depending on business needs.

        '
      responses:
        '201':
          description: An employee specific skill
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SkillDetails'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                code: 400
                message: Field category_id is required
        '401':
          $ref: '#/components/responses/ErrorResponseAuthentication'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SkillCreate'
        description: Skill definition in JSON format
        required: true
  /skills/{skill_id}:
    parameters:
    - name: skill_id
      description: AlayaCare ID of the skill
      in: path
      required: true
      schema:
        type: string
    get:
      tags:
      - Skills
      summary: Get skill details using its AlayaCare Skill ID
      responses:
        '200':
          description: Skill details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SkillDetails'
        '401':
          $ref: '#/components/responses/ErrorResponseAuthentication'
        '404':
          $ref: '#/components/responses/ErrorResponseSkillNotFound'
    put:
      tags:
      - Skills
      summary: Modify skill details using its AlayaCare Skill ID
      description: '- Changing the `branch_id` of a skill is not supported by this API. Any `branch_id` sent will be ignored.

        - Skill fields sent in the payload will overwrite existing fields on the skill.

        '
      responses:
        '200':
          description: Skill updated successfuly
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SkillDetails'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                code: 400
                message: Custom field name invalid.
        '401':
          $ref: '#/components/responses/ErrorResponseAuthentication'
        '404':
          $ref: '#/components/responses/ErrorResponseSkillNotFound'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SkillUpdate'
        description: Object with fields to be updated
components:
  schemas:
    SkillDetails:
      description: AlayaCare skill entity
      type: object
      required:
      - id
      - name
      - category
      - branch
      properties:
        id:
          type: integer
          description: Skill ID
          example: 1
        name:
          type: string
          description: Skill Name
          example: Hoyer lift
        category:
          $ref: '#/components/schemas/SkillCategory'
        branch:
          $ref: '#/components/schemas/BranchSummary'
        fields:
          type: array
          items:
            allOf:
            - $ref: '#/components/schemas/SkillField'
    SkillCreate:
      properties:
        name:
          type: string
          description: Skill Name
          example: Hoyer lift
        category_id:
          type: integer
          description: 'Set the skill category.

            '
          example: 4
        branch_id:
          type: integer
          description: 'Set skill branch. If not specified, will default to branch of the user creating the employee.

            '
          example: 1
        fields:
          type: array
          items:
            allOf:
            - $ref: '#/components/schemas/SkillFieldCreate'
      required:
      - name
      - category_id
    ErrorResponse:
      description: Error response
      type: object
      properties:
        code:
          type: integer
          description: Response code
        message:
          type: string
          description: Detailed error message
      required:
      - code
      - message
    SkillCategory:
      description: Skill Category
      type: object
      required:
      - id
      - name
      properties:
        id:
          type: integer
          description: ID of the skill category
          example: 1
        name:
          type: string
          description: Name of the skill category
          example: Languages
    SkillUpdate:
      properties:
        name:
          type: string
          description: Skill Name
          example: Hoyer lift
        category_id:
          type: integer
          description: 'Set the skill category.

            '
          example: 4
        fields:
          type: array
          items:
            allOf:
            - $ref: '#/components/schemas/SkillFieldCreate'
    SkillFieldCreate:
      description: Skill custom field attributes
      type: object
      required:
      - name
      - label
      properties:
        name:
          type: string
          description: Name of the customizable field
          example: acquired_date
          enum:
          - acquired_date
          - expired_date
          - label_1
          - label_2
        label:
          type: string
          description: Label of the customizable field
          example: Acquired date
    BranchSummary:
      description: Branch summary
      type: object
      properties:
        id:
          type: integer
          description: ID of the branch
          example: 1
        name:
          type: string
          description: Name of the branch
          example: Headquarters
    SkillList:
      allOf:
      - $ref: '#/components/schemas/PaginatedList'
      description: 'List of skills

        '
      type: object
      properties:
        items:
          type: array
          items:
            allOf:
            - $ref: '#/components/schemas/SkillDetails'
    PaginatedList:
      description: Base model of all paginated lists
      type: object
      properties:
        count:
          type: integer
          description: Number of items in the response
          example: 1
        page:
          type: integer
          description: Current page number
          example: 1
        total_pages:
          type: integer
          description: Total number of pages availbale
          example: 1
      required:
      - count
      - page
      - total_pages
      - items
    SkillField:
      description: Skill custom field attributes
      type: object
      required:
      - name
      - type
      - label
      properties:
        name:
          type: string
          description: Name of the customizable field
          example: acquired_date
          enum:
          - acquired_date
          - expired_date
          - label_1
          - label_2
        label:
          type: string
          description: Label of the customizable field
          example: Acquired date
        type:
          type: string
          description: Type of the customizable field
          example: Date
          enum:
          - date
          - text
  parameters:
    filter:
      description: Substring search on skill category and name
      name: filter
      in: query
      required: false
      schema:
        type: string
    branch_id:
      description: Filter by branch ID
      name: branch_id
      in: query
      required: false
      schema:
        type: integer
    page:
      description: Filter by page number.
      name: page
      in: query
      required: false
      schema:
        type: integer
        default: 1
    category_id:
      description: Filter skills by category ID, one or more using **OR**
      name: category_id
      in: query
      required: false
      schema:
        type: integer
    count:
      description: Number of items per page.
      name: count
      in: query
      required: false
      schema:
        type: integer
        default: 100
  responses:
    ErrorResponseSkillNotFound:
      description: Skill not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            code: 404
            message: Skill not found.
    ErrorResponseAuthentication:
      description: Authorization required
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            code: 401
            message: Authorization required.
  securitySchemes:
    basic_auth:
      type: http
      scheme: basic
      description: Basic HTTP auth over https