Skedulo Api User API

The Api User API from Skedulo — 4 operation(s) for api user.

OpenAPI Specification

skedulo-api-user-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Authentication Admin Api User API
  description: Skedulo Authentication API
  version: 1.0.0
servers:
- url: https://api.skedulo.com/auth
- url: https://api.uk.skedulo.com/auth
- url: https://api.ca.skedulo.com/auth
- url: https://api.au.skedulo.com/auth
tags:
- name: Api User
paths:
  /api_user:
    post:
      security:
      - Authorization: []
      summary: Set API User
      description: Sets a user as the API User for this tenant. The user assigning the API user must be an Administrator.
      operationId: setApiUser
      responses:
        '200':
          description: The user was successfully setup as the API User.
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ClientCredentialsInstructions'
        '403':
          description: If the user does not have the required permissions
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - userId
              properties:
                userId:
                  type: string
                  description: Skedulo User ID of the user to be setup as the API User
        required: true
      tags:
      - Api User
    delete:
      security:
      - Authorization: []
      summary: Remove the API User for this tenant
      description: Removes the API User for this tenant if they have one. If the tenant is on Standalone this will reset their API user to the system user. The caller must be an administrator.
      operationId: removeApiUser
      responses:
        '200':
          description: successful result
        '403':
          description: If the user does not have the required permissions
      tags:
      - Api User
  /api_user/client_credentials:
    get:
      security:
      - Authorization: []
      summary: Get client credentials information for the API user
      description: The user requesting this information must be an Administrator for their organization.
      operationId: getApiUserClientCredentials
      responses:
        '200':
          description: Client credentials information of the API user
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ClientCredentialsInstructions'
        '403':
          description: User is not an administrator
        '404':
          description: API user is not setup
      tags:
      - Api User
  /api_user/candidates:
    get:
      security:
      - Authorization: []
      summary: List API user candidates
      description: List candidates that can be set as the API user and the current API user. Only users with role `administrator` are returned.
      operationId: listApiUserCandidates
      responses:
        '200':
          description: List of candidates that can be assigned as the API User
          content:
            application/json:
              schema:
                type: object
                required:
                - result
                properties:
                  result:
                    type: object
                    required:
                    - candidates
                    properties:
                      currentApiUserId:
                        type: string
                        description: User ID of the current API User
                      moreCandidatesExist:
                        type: boolean
                        description: True if only a subset of all available candidates is being returned
                      candidates:
                        type: array
                        items:
                          type: object
                          required:
                          - userId
                          - vendorUserId
                          - lastName
                          - username
                          - roles
                          - email
                          - emailVerified
                          properties:
                            userId:
                              type: string
                            vendorUserId:
                              type: string
                            firstName:
                              type: string
                            lastName:
                              type: string
                            username:
                              type: string
                            resourceId:
                              type: string
                            roles:
                              $ref: '#/components/schemas/Roles'
                            email:
                              type: string
                              format: email
                            emailVerified:
                              type: boolean
      tags:
      - Api User
  /api_user/verify:
    get:
      security:
      - Authorization: []
      summary: Check if the API user is verified
      description: ''
      operationId: verifyApiUser
      responses:
        '200':
          description: If the result contains success equal to true the API user is verified, otherwise it is not.
          content:
            application/json:
              schema:
                type: object
                required:
                - result
                properties:
                  result:
                    type: object
                    required:
                    - success
                    properties:
                      success:
                        type: boolean
                      code:
                        type: string
                      message:
                        type: boolean
                      extraFields:
                        type: object
                        description: Additional information about the error
                        additionalProperties: true
      tags:
      - Api User
components:
  schemas:
    ClientCredentialsInstructions:
      type: object
      required:
      - result
      properties:
        result:
          type: object
          required:
          - authEndpoint
          - authBody
          properties:
            authEndpoint:
              type: string
              description: The endpoint to obtain the Skedulo API access token using the body given in authBody. The authorization flow is called client credentials flow.
            authBody:
              type: object
              description: The content of this object should be sent verbatim to the authEndpoint (POST) to obtain a Skedulo API access token.
              required:
              - grant_type
              - client_id
              - client_secret
              - audience
              properties:
                grant_type:
                  type: string
                  example: client_credentials
                client_id:
                  type: string
                client_secret:
                  type: string
                audience:
                  type: string
    Roles:
      type: array
      items:
        type: string
        enum:
        - administrator
        - scheduler
        - resource
  securitySchemes:
    Authorization:
      type: http
      scheme: bearer
      bearerFormat: JWT