Skip to content
Snippets Groups Projects
Commit 37eb4616 authored by Jared Balkman's avatar Jared Balkman
Browse files

Upload spec for Workday Funding Verification API (still only in dev)

parent dabe87aa
No related branches found
No related tags found
No related merge requests found
{
"openapi": "3.0.2",
"info": {
"title": "funding",
"version": "1.0.0",
"contact": {
"name": "DoIT ASP Integration API Team",
"email": "asp-integrations-api-team@g-groups.wisc.edu"
},
"description": "A implementation of the Funding API. It is used to verify the funding used in Workday."
},
"servers": [
{
"url": "https://mock.dev.api.wisc.edu"
}
],
"paths": {
"/funding/validate-funding": {
"post": {
"description": "Send in WorkDay funding and get back if it is valid.",
"tags": [
"WorkDay Funding"
],
"requestBody": {
"$ref": "#/components/requestBodies/journal"
},
"responses": {
"200": {
"description": "OK. Validation completed successfully.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/results"
}
}
}
},
"400": {
"description": "Bad Request.",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"errors": {
"type": "array"
},
"items": {
"$ref": "#/components/schemas/errors"
}
}
},
"examples": {
"application/json": {
"value": {
"errors": [
{
"status": 400,
"title": "Bad Request",
"detail": "You supplied data that could not be processed. See response body for more detail."
}
]
}
}
}
}
}
},
"503": {
"description": "Service Unavailable.",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"errors": {
"type": "array"
},
"items": {
"$ref": "#/components/schemas/errors"
}
}
},
"examples": {
"application/json": {
"value": {
"errors": [
{
"status": 503,
"title": "Service Unavailable",
"detail": "The Workday server did not respond. Try again later."
}
]
}
}
}
}
}
}
}
}
}
},
"components": {
"requestBodies": {
"journal": {
"description": "A journal request body.",
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "object",
"required": [
"type",
"attributes"
],
"properties": {
"lid": {
"type": "string",
"example": "1"
},
"type": {
"type": "string",
"example": "journals"
},
"attributes": {
"$ref": "#/components/schemas/fundingAttributes"
}
}
}
}
}
}
}
}
},
"schemas": {
"fundingAttributes": {
"type": "object",
"required": [
"company"
],
"properties": {
"company": {
"description": "",
"type": "string",
"minLength": 5,
"maxLength": 5,
"example": "UWMSN"
},
"accountingDate": {
"type": "string",
"example": "2023-02-17",
"format": "date"
},
"ledger": {
"type": "string",
"example": "ACTUALS",
"default": "ACTUALS"
},
"lines": {
"type": "array",
"items": {
"type": "object",
"required": [
"costCenter"
],
"properties": {
"costCenter": {
"type": "string",
"example": "CC000127"
},
"fund": {
"type": "string",
"example": "FD0102"
},
"functionId": {
"type": "string",
"example": "FN0500"
},
"ledgerAccount": {
"type": "string",
"example": "6015"
},
"projectType": {
"type": "string",
"enum": [
"GIFT",
"GRANT",
"NONE",
"PROJECT"
]
},
"project": {
"type": "string",
"example": "20493043"
},
"program": {
"type": "string",
"example": "PG000005076"
},
"spendCategory": {
"type": "string",
"example": "SC00244"
}
}
}
}
}
},
"results": {
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"lid": {
"type": "string",
"example": "1"
},
"type": {
"type": "string",
"example": "journals"
},
"attributes": {
"type": "object",
"properties": {
"valid": {
"type": "boolean"
},
"journalErrors": {
"type": "array",
"items": {
"type": "string"
}
},
"lines": {
"type": "array",
"items": {
"type": "object",
"properties": {
"valid": {
"type": "boolean"
},
"errors": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
}
}
}
}
}
}
},
"errors": {
"type": "object",
"properties": {
"errors": {
"type": "array",
"items": {
"description": "An error",
"properties": {
"status": {
"type": "string"
},
"title": {
"type": "string"
},
"detail": {
"type": "string"
}
}
}
}
}
}
}
}
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment