Skedulo Api User API
The Api User API from Skedulo — 4 operation(s) for api user.
The Api User API from Skedulo — 4 operation(s) for api user.
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