lib/swagger/external/members-vernonkeenan.yaml

3411 lines
86 KiB
YAML

swagger: "2.0"
info:
version: 0.3.0
title: "members"
description: "Membership Microservice"
termsOfService: "https://salesforcedevops.net/terms/"
contact:
email: "vern@vernonkeenan.com"
license:
name: "Proprietary - Copyright (c) 2018-2023 by Vernon Keenan"
securityDefinitions:
ApiKeyAuth:
type: "apiKey"
in: "header"
name: "X-API-Key"
schemes:
- "https"
basePath: "/vk/members/v1"
host: "gw.tnxs.net"
consumes:
- "application/json"
produces:
- "application/json"
parameters:
AttendeeRequest:
description: An array of new Attendee records
in: body
name: attendeeRequest
required: true
schema:
$ref: "#/definitions/AttendeeRequest"
CertificateRequest:
description: An array of new Certificate records
in: body
name: certificateRequest
required: true
schema:
$ref: "#/definitions/CertificateRequest"
CourseLessonRequest:
description: An array of new CourseLesson records
in: body
name: courselessonRequest
required: true
schema:
$ref: "#/definitions/CourseLessonRequest"
clusterIdQuery:
description: Record Id of a Cluster
in: query
name: clusterId
required: false
type: string
ClusterRequest:
description: An array of Cluster records
in: body
name: ClusterRequest
required: true
schema:
$ref: "#/definitions/ClusterRequest"
CourseRequest:
description: An array of new Course records
in: body
name: courseRequest
required: true
schema:
$ref: "#/definitions/CourseRequest"
CourseSectionRequest:
description: An array of new CourseSection records
in: body
name: coursesectionRequest
required: true
schema:
$ref: "#/definitions/CourseSectionRequest"
EnrollmentRequest:
description: An array of new Enrollment records
in: body
name: enrollmentRequest
required: true
schema:
$ref: "#/definitions/EnrollmentRequest"
EventCategoryAssignmentRequest:
description: An array of new EventCategoryAssignment records
in: body
name: eventcategoryassignmentRequest
required: true
schema:
$ref: "#/definitions/EventCategoryAssignmentRequest"
EventCategoryRequest:
description: An array of new EventCategory records
in: body
name: eventcategoryRequest
required: true
schema:
$ref: "#/definitions/EventCategoryRequest"
EventRequest:
description: An array of new Event records
in: body
name: eventRequest
required: true
schema:
$ref: "#/definitions/EventRequest"
FavoriteRequest:
description: An array of new Favorite records
in: body
name: favoriteRequest
required: true
schema:
$ref: "#/definitions/FavoriteRequest"
InvoiceRequest:
description: An array of new Invoice records
in: body
name: invoiceRequest
required: true
schema:
$ref: "#/definitions/InvoiceRequest"
IssuedCertificateRequest:
description: An array of new IssuedCertificate records
in: body
name: issuedcertificateRequest
required: true
schema:
$ref: "#/definitions/IssuedCertificateRequest"
LessonProgressRequest:
description: An array of new LessonProgress records
in: body
name: lessonprogressRequest
required: true
schema:
$ref: "#/definitions/LessonProgressRequest"
OrderRequest:
description: An array of new Order records
in: body
name: orderRequest
required: true
schema:
$ref: "#/definitions/OrderRequest"
PaymentMethodRequest:
description: An array of new PaymentMethod records
in: body
name: paymentmethodRequest
required: true
schema:
$ref: "#/definitions/PaymentMethodRequest"
ResearchProjectCompanyRequest:
description: An array of new ResearchProjectCompany records
in: body
name: researchprojectcompanyRequest
required: true
schema:
$ref: "#/definitions/ResearchProjectCompanyRequest"
ResearchProjectRequest:
description: An array of new ResearchProject records
in: body
name: researchprojectRequest
required: true
schema:
$ref: "#/definitions/ResearchProjectRequest"
ResearchProjectTopicRequest:
description: An array of new ResearchProjectTopic records
in: body
name: researchprojecttopicRequest
required: true
schema:
$ref: "#/definitions/ResearchProjectTopicRequest"
templateIdQuery:
description: Template ID
in: query
name: templateId
type: string
TemplateRequest:
description: An array of Template records
in: body
name: TemplateRequest
required: true
schema:
$ref: "#/definitions/TemplateRequest"
tenantIdQuery:
description: Record Id of a Tenant
in: query
name: tenantId
required: false
type: string
tenantRequest:
description: An array of Tenant records
in: body
name: TenantRequest
required: true
schema:
$ref: "#/definitions/TenantRequest"
TicketRequest:
description: An array of new Ticket records
in: body
name: ticketRequest
required: true
schema:
$ref: "#/definitions/TicketRequest"
TransactionRequest:
description: An array of new Transaction records
in: body
name: transactionRequest
required: true
schema:
$ref: "#/definitions/TransactionRequest"
UserRequest:
description: An array of User records
in: body
name: UserRequest
required: true
schema:
$ref: "#/definitions/UserRequest"
WebhookClerkRequest:
description: An array of new WebhookClerk records
in: body
name: webhookclerkRequest
required: true
schema:
$ref: "#/definitions/WebhookClerkRequest"
activeQuery:
description: Retrieve active records only?
in: query
name: active
required: false
type: boolean
auth0UserIdQuery:
description: External Auth0 User ID
in: query
name: auth0UserId
required: false
type: string
userIdQuery:
description: Internal User ID
in: query
name: userId
required: false
type: string
contactIdQuery:
description: Internal Contact ID (links to Account)
in: query
name: contactId
required: false
type: string
databaseIdQuery:
description: Record Id of a Database
in: query
name: databaseId
type: string
required: true
databaseRequest:
description: An array of Database records
in: body
name: DatabaseRequest
required: true
schema:
$ref: "#/definitions/DatabaseRequest"
emailQuery:
description: Email address
in: query
name: email
required: false
type: string
idQuery:
description: Unique Record ID
in: query
name: id
required: false
type: string
objectTypeQuery:
description: Object Type Name
in: query
name: objectType
type: string
isMasterQuery:
description: Is Master Template?
in: query
name: isMaster
type: boolean
limitQuery:
description: How many objects to return at one time
format: int64
in: query
name: limit
required: false
type: integer
offsetQuery:
description: How many objects to skip?
format: int64
in: query
name: offset
required: false
type: integer
responses:
AccessForbidden:
description: Access forbidden, account lacks access
headers:
Access-Control-Allow-Origin:
type: string
schema:
$ref: "#/definitions/Error"
AttendeeResponse:
description: Attendee Response Object
schema:
$ref: "#/definitions/AttendeeResponse"
CertificateResponse:
description: Certificate Response Object
schema:
$ref: "#/definitions/CertificateResponse"
ClusterResponse:
description: Response with Cluster objects
schema:
$ref: "#/definitions/ClusterResponse"
CourseLessonResponse:
description: CourseLesson Response Object
schema:
$ref: "#/definitions/CourseLessonResponse"
CourseResponse:
description: Course Response Object
schema:
$ref: "#/definitions/CourseResponse"
CourseSectionResponse:
description: CourseSection Response Object
schema:
$ref: "#/definitions/CourseSectionResponse"
DatabaseResponse:
headers:
Access-Control-Allow-Origin:
type: string
description: Response with Database objects
schema:
$ref: "#/definitions/DatabaseResponse"
EnrollmentResponse:
description: Enrollment Response Object
schema:
$ref: "#/definitions/EnrollmentResponse"
EventCategoryAssignmentResponse:
description: EventCategoryAssignment Response Object
schema:
$ref: "#/definitions/EventCategoryAssignmentResponse"
EventCategoryResponse:
description: EventCategory Response Object
schema:
$ref: "#/definitions/EventCategoryResponse"
EventResponse:
description: Event Response Object
schema:
$ref: "#/definitions/EventResponse"
FavoriteResponse:
description: Favorite Response Object
schema:
$ref: "#/definitions/FavoriteResponse"
InvoiceResponse:
description: Invoice Response Object
schema:
$ref: "#/definitions/InvoiceResponse"
IssuedCertificateResponse:
description: IssuedCertificate Response Object
schema:
$ref: "#/definitions/IssuedCertificateResponse"
LessonProgressResponse:
description: LessonProgress Response Object
schema:
$ref: "#/definitions/LessonProgressResponse"
NotFound:
description: Resource was not found
headers:
Access-Control-Allow-Origin:
type: string
schema:
$ref: "#/definitions/Error"
OrderResponse:
description: Order Response Object
schema:
$ref: "#/definitions/OrderResponse"
PaymentMethodResponse:
description: PaymentMethod Response Object
schema:
$ref: "#/definitions/PaymentMethodResponse"
ResearchProjectCompanyResponse:
description: ResearchProjectCompany Response Object
schema:
$ref: "#/definitions/ResearchProjectCompanyResponse"
ResearchProjectResponse:
description: ResearchProject Response Object
schema:
$ref: "#/definitions/ResearchProjectResponse"
ResearchProjectTopicResponse:
description: ResearchProjectTopic Response Object
schema:
$ref: "#/definitions/ResearchProjectTopicResponse"
ServerError:
description: Server Internal Error
headers:
Access-Control-Allow-Origin:
type: string
schema:
$ref: "#/definitions/Error"
TenantResponse:
headers:
Access-Control-Allow-Origin:
type: string
description: Response with Tenant objects
schema:
$ref: "#/definitions/TenantResponse"
TemplateResponse:
description: Response with Template objects
schema:
$ref: "#/definitions/TemplateResponse"
TicketResponse:
description: Ticket Response Object
schema:
$ref: "#/definitions/TicketResponse"
TransactionResponse:
description: Transaction Response Object
schema:
$ref: "#/definitions/TransactionResponse"
Unauthorized:
description: Access Unauthorized, invalid API-KEY was used
schema:
$ref: "#/definitions/Error"
UnprocessableEntity:
description: Unprocessable Entity, likely a bad parameter
schema:
$ref: "#/definitions/Error"
UserResponse:
description: Response with User objects
schema:
$ref: "#/definitions/UserResponse"
WebhookClerkResponse:
description: WebhookClerk Response Object
schema:
$ref: "#/definitions/WebhookClerkResponse"
paths:
/attendees:
delete:
operationId: deleteAttendee
parameters:
- $ref: "#/parameters/idQuery"
responses:
"204":
description: No Content
summary: Delete a Attendee
tags:
- Attendees
get:
operationId: getAttendees
parameters:
- $ref: "#/parameters/idQuery"
- $ref: "#/parameters/limitQuery"
- $ref: "#/parameters/offsetQuery"
responses:
"200":
description: OK
summary: Get a list of Attendees
tags:
- Attendees
post:
operationId: createAttendee
parameters:
- $ref: "#/parameters/AttendeeRequest"
responses:
"201":
description: Created
summary: Create a new Attendee
tags:
- Attendees
put:
operationId: updateAttendee
parameters:
- $ref: "#/parameters/idQuery"
responses:
"200":
description: OK
summary: Update an existing Attendee
tags:
- Attendees
/certificates:
delete:
operationId: deleteCertificate
parameters:
- $ref: "#/parameters/idQuery"
responses:
"204":
description: No Content
summary: Delete a Certificate
tags:
- Certificates
get:
operationId: getCertificates
parameters:
- $ref: "#/parameters/idQuery"
- $ref: "#/parameters/limitQuery"
- $ref: "#/parameters/offsetQuery"
responses:
"200":
description: OK
summary: Get a list of Certificates
tags:
- Certificates
post:
operationId: createCertificate
parameters:
- $ref: "#/parameters/CertificateRequest"
responses:
"201":
description: Created
summary: Create a new Certificate
tags:
- Certificates
put:
operationId: updateCertificate
parameters:
- $ref: "#/parameters/idQuery"
responses:
"200":
description: OK
summary: Update an existing Certificate
tags:
- Certificates
/clusters:
get:
description: Return a list of Cluster records from the datastore
operationId: getClusters
parameters:
- $ref: "#/parameters/clusterIdQuery"
- $ref: "#/parameters/limitQuery"
- $ref: "#/parameters/offsetQuery"
responses:
"200":
$ref: "#/responses/ClusterResponse"
"401":
$ref: "#/responses/Unauthorized"
"403":
$ref: "#/responses/AccessForbidden"
"404":
$ref: "#/responses/NotFound"
"422":
$ref: "#/responses/UnprocessableEntity"
"500":
$ref: "#/responses/ServerError"
security:
- ApiKeyAuth: []
summary: Get a list Clusters
tags:
- Clusters
post:
description: Create Clusters in Taxnexus
operationId: postClusters
parameters:
- $ref: "#/parameters/ClusterRequest"
responses:
"200":
$ref: "#/responses/ClusterResponse"
"401":
$ref: "#/responses/Unauthorized"
"403":
$ref: "#/responses/AccessForbidden"
"404":
$ref: "#/responses/NotFound"
"422":
$ref: "#/responses/UnprocessableEntity"
"500":
$ref: "#/responses/ServerError"
security:
- ApiKeyAuth: []
summary: Create new Clusters
tags:
- Clusters
put:
description: Update Cluster in Taxnexus
operationId: putClusters
parameters:
- $ref: "#/parameters/ClusterRequest"
responses:
"200":
$ref: "#/responses/ClusterResponse"
"401":
$ref: "#/responses/Unauthorized"
"403":
$ref: "#/responses/AccessForbidden"
"404":
$ref: "#/responses/NotFound"
"422":
$ref: "#/responses/UnprocessableEntity"
"500":
$ref: "#/responses/ServerError"
security:
- ApiKeyAuth: []
summary: Update Clustera
tags:
- Clusters
/courselessons:
delete:
operationId: deleteCourseLesson
parameters:
- $ref: "#/parameters/idQuery"
responses:
"204":
description: No Content
summary: Delete a CourseLesson
tags:
- CourseLessons
get:
operationId: getCourseLessons
parameters:
- $ref: "#/parameters/idQuery"
- $ref: "#/parameters/limitQuery"
- $ref: "#/parameters/offsetQuery"
responses:
"200":
description: OK
summary: Get a list of CourseLessons
tags:
- CourseLessons
post:
operationId: createCourseLesson
parameters:
- $ref: "#/parameters/CourseLessonRequest"
responses:
"201":
description: Created
summary: Create a new CourseLesson
tags:
- CourseLessons
put:
operationId: updateCourseLesson
parameters:
- $ref: "#/parameters/idQuery"
responses:
"200":
description: OK
summary: Update an existing CourseLesson
tags:
- CourseLessons
/courses:
delete:
operationId: deleteCourse
parameters:
- $ref: "#/parameters/idQuery"
responses:
"204":
description: No Content
summary: Delete a Course
tags:
- Courses
get:
operationId: getCourses
parameters:
- $ref: "#/parameters/idQuery"
- $ref: "#/parameters/limitQuery"
- $ref: "#/parameters/offsetQuery"
responses:
"200":
description: OK
summary: Get a list of Courses
tags:
- Courses
post:
operationId: createCourse
parameters:
- $ref: "#/parameters/CourseRequest"
responses:
"201":
description: Created
summary: Create a new Course
tags:
- Courses
put:
operationId: updateCourse
parameters:
- $ref: "#/parameters/idQuery"
responses:
"200":
description: OK
summary: Update an existing Course
tags:
- Courses
/coursesections:
delete:
operationId: deleteCourseSection
parameters:
- $ref: "#/parameters/idQuery"
responses:
"204":
description: No Content
summary: Delete a CourseSection
tags:
- CourseSections
get:
operationId: getCourseSections
parameters:
- $ref: "#/parameters/idQuery"
- $ref: "#/parameters/limitQuery"
- $ref: "#/parameters/offsetQuery"
responses:
"200":
description: OK
summary: Get a list of CourseSections
tags:
- CourseSections
post:
operationId: createCourseSection
parameters:
- $ref: "#/parameters/CourseSectionRequest"
responses:
"201":
description: Created
summary: Create a new CourseSection
tags:
- CourseSections
put:
operationId: updateCourseSection
parameters:
- $ref: "#/parameters/idQuery"
responses:
"200":
description: OK
summary: Update an existing CourseSection
tags:
- CourseSections
/databases:
get:
description: Return a list of Database records from the datastore
operationId: getDatabases
parameters:
- $ref: "#/parameters/databaseIdQuery"
- $ref: "#/parameters/limitQuery"
- $ref: "#/parameters/offsetQuery"
responses:
"200":
$ref: "#/responses/DatabaseResponse"
"401":
$ref: "#/responses/Unauthorized"
"403":
$ref: "#/responses/AccessForbidden"
"404":
$ref: "#/responses/NotFound"
"422":
$ref: "#/responses/UnprocessableEntity"
"500":
$ref: "#/responses/ServerError"
security:
- ApiKeyAuth: []
summary: Get a list Databases
tags:
- Databases
post:
description: Create Databases in Taxnexus
operationId: postDatabases
parameters:
- $ref: "#/parameters/databaseRequest"
responses:
"200":
$ref: "#/responses/DatabaseResponse"
"401":
$ref: "#/responses/Unauthorized"
"403":
$ref: "#/responses/AccessForbidden"
"404":
$ref: "#/responses/NotFound"
"422":
$ref: "#/responses/UnprocessableEntity"
"500":
$ref: "#/responses/ServerError"
security:
- ApiKeyAuth: []
summary: Create new Databases
tags:
- Databases
put:
description: Update Database in Taxnexus
operationId: putDatabases
parameters:
- $ref: "#/parameters/databaseRequest"
responses:
"200":
$ref: "#/responses/DatabaseResponse"
"401":
$ref: "#/responses/Unauthorized"
"403":
$ref: "#/responses/AccessForbidden"
"404":
$ref: "#/responses/NotFound"
"422":
$ref: "#/responses/UnprocessableEntity"
"500":
$ref: "#/responses/ServerError"
security:
- ApiKeyAuth: []
summary: Update Databases
tags:
- Databases
/enrollments:
delete:
operationId: deleteEnrollment
parameters:
- $ref: "#/parameters/idQuery"
responses:
"204":
description: No Content
summary: Delete a Enrollment
tags:
- Enrollments
get:
operationId: getEnrollments
parameters:
- $ref: "#/parameters/idQuery"
- $ref: "#/parameters/limitQuery"
- $ref: "#/parameters/offsetQuery"
responses:
"200":
description: OK
summary: Get a list of Enrollments
tags:
- Enrollments
post:
operationId: createEnrollment
parameters:
- $ref: "#/parameters/EnrollmentRequest"
responses:
"201":
description: Created
summary: Create a new Enrollment
tags:
- Enrollments
put:
operationId: updateEnrollment
parameters:
- $ref: "#/parameters/idQuery"
responses:
"200":
description: OK
summary: Update an existing Enrollment
tags:
- Enrollments
/eventcategories:
delete:
operationId: deleteEventCategory
parameters:
- $ref: "#/parameters/idQuery"
responses:
"204":
description: No Content
summary: Delete a EventCategory
tags:
- EventCategories
get:
operationId: getEventCategorys
parameters:
- $ref: "#/parameters/limitQuery"
- $ref: "#/parameters/offsetQuery"
- $ref: "#/parameters/idQuery"
responses:
"200":
description: OK
summary: Get a list of EventCategories
tags:
- EventCategories
post:
operationId: createEventCategory
parameters:
- $ref: "#/parameters/EventCategoryRequest"
responses:
"201":
description: Created
summary: Create a new EventCategory
tags:
- EventCategories
put:
operationId: updateEventCategory
parameters:
- $ref: "#/parameters/idQuery"
responses:
"200":
description: OK
summary: Update an existing EventCategory
tags:
- EventCategories
/eventcategoryassignments:
delete:
operationId: deleteEventCategoryAssignment
parameters:
- $ref: "#/parameters/idQuery"
responses:
"204":
description: No Content
summary: Delete a EventCategoryAssignment
tags:
- EventCategoryAssignments
get:
operationId: getEventCategoryAssignments
parameters:
- $ref: "#/parameters/idQuery"
- $ref: "#/parameters/limitQuery"
- $ref: "#/parameters/offsetQuery"
responses:
"200":
description: OK
summary: Get a list of EventCategoryassignments
tags:
- EventCategoryAssignments
post:
operationId: createEventCategoryAssignment
parameters:
- $ref: "#/parameters/EventCategoryAssignmentRequest"
responses:
"201":
description: Created
summary: Create a new EventCategoryAssignment
tags:
- EventCategoryAssignments
put:
operationId: updateEventCategoryAssignment
parameters:
- $ref: "#/parameters/idQuery"
responses:
"200":
description: OK
summary: Update an existing EventCategoryAssignment
tags:
- EventCategoryAssignments
/events:
delete:
operationId: deleteEvent
parameters:
- $ref: "#/parameters/idQuery"
responses:
"204":
description: No Content
summary: Delete a Event
tags:
- Events
get:
operationId: getEvents
parameters:
- $ref: "#/parameters/limitQuery"
- $ref: "#/parameters/offsetQuery"
- $ref: "#/parameters/idQuery"
responses:
"200":
description: OK
summary: Get a list of Events
tags:
- Events
post:
operationId: createEvent
parameters:
- $ref: "#/parameters/EventRequest"
responses:
"201":
description: Created
summary: Create a new Event
tags:
- Events
put:
operationId: updateEvent
parameters:
- $ref: "#/parameters/idQuery"
responses:
"200":
description: OK
summary: Update an existing Event
tags:
- Events
/favorites:
delete:
operationId: deleteFavorite
parameters:
- $ref: "#/parameters/idQuery"
responses:
"204":
description: No Content
summary: Delete a Favorite
tags:
- Favorites
get:
operationId: getFavorites
parameters:
- $ref: "#/parameters/idQuery"
- $ref: "#/parameters/limitQuery"
- $ref: "#/parameters/offsetQuery"
responses:
"200":
description: OK
summary: Get a list of Favorites
tags:
- Favorites
post:
operationId: createFavorite
parameters:
- $ref: "#/parameters/FavoriteRequest"
responses:
"201":
description: Created
summary: Create a new Favorite
tags:
- Favorites
put:
operationId: updateFavorite
parameters:
- $ref: "#/parameters/idQuery"
responses:
"200":
description: OK
summary: Update an existing Favorite
tags:
- Favorites
/invoices:
delete:
operationId: deleteInvoice
parameters:
- $ref: "#/parameters/idQuery"
responses:
"204":
description: No Content
summary: Delete a Invoice
tags:
- Invoices
get:
operationId: getInvoices
parameters:
- $ref: "#/parameters/idQuery"
- $ref: "#/parameters/limitQuery"
- $ref: "#/parameters/offsetQuery"
responses:
"200":
description: OK
summary: Get a list of Invoices
tags:
- Invoices
post:
operationId: createInvoice
parameters:
- $ref: "#/parameters/InvoiceRequest"
responses:
"201":
description: Created
summary: Create a new Invoice
tags:
- Invoices
put:
operationId: updateInvoice
parameters:
- $ref: "#/parameters/idQuery"
responses:
"200":
description: OK
summary: Update an existing Invoice
tags:
- Invoices
/issuedcertificates:
delete:
operationId: deleteIssuedCertificate
parameters:
- $ref: "#/parameters/idQuery"
responses:
"204":
description: No Content
summary: Delete a IssuedCertificate
tags:
- IssuedCertificates
get:
operationId: getIssuedCertificates
parameters:
- $ref: "#/parameters/limitQuery"
- $ref: "#/parameters/offsetQuery"
- $ref: "#/parameters/idQuery"
responses:
"200":
description: OK
summary: Get a list of IssuedCertificates
tags:
- IssuedCertificates
post:
operationId: createIssuedCertificate
parameters:
- $ref: "#/parameters/IssuedCertificateRequest"
responses:
"201":
description: Created
summary: Create a new IssuedCertificate
tags:
- IssuedCertificates
put:
operationId: updateIssuedCertificate
parameters:
- $ref: "#/parameters/idQuery"
responses:
"200":
description: OK
summary: Update an existing IssuedCertificate
tags:
- IssuedCertificates
/lessonprogress:
delete:
operationId: deleteLessonProgress
parameters:
- $ref: "#/parameters/idQuery"
responses:
"204":
description: No Content
summary: Delete a LessonProgress
tags:
- LessonProgress
get:
operationId: getLessonProgress
parameters:
- $ref: "#/parameters/limitQuery"
- $ref: "#/parameters/offsetQuery"
- $ref: "#/parameters/idQuery"
responses:
"200":
description: OK
summary: Get a list of LessonProgress
tags:
- LessonProgress
post:
operationId: createLessonProgress
parameters:
- $ref: "#/parameters/LessonProgressRequest"
responses:
"201":
description: Created
summary: Create a new LessonProgress
tags:
- LessonProgress
put:
operationId: updateLessonProgress
parameters:
- $ref: "#/parameters/idQuery"
responses:
"200":
description: OK
summary: Update an existing LessonProgress
tags:
- LessonProgress
/orders:
delete:
operationId: deleteOrder
parameters:
- $ref: "#/parameters/idQuery"
responses:
"204":
description: No Content
summary: Delete a Order
tags:
- Orders
get:
operationId: getOrders
parameters:
- $ref: "#/parameters/limitQuery"
- $ref: "#/parameters/offsetQuery"
- $ref: "#/parameters/idQuery"
responses:
"200":
description: OK
summary: Get a list of Orders
tags:
- Orders
post:
operationId: createOrder
parameters:
- $ref: "#/parameters/OrderRequest"
responses:
"201":
description: Created
summary: Create a new Order
tags:
- Orders
put:
operationId: updateOrder
parameters:
- $ref: "#/parameters/idQuery"
responses:
"200":
description: OK
summary: Update an existing Order
tags:
- Orders
/paymentmethods:
delete:
operationId: deletePaymentMethod
parameters:
- $ref: "#/parameters/idQuery"
responses:
"204":
description: No Content
summary: Delete a PaymentMethod
tags:
- PaymentMethods
get:
operationId: getPaymentMethods
parameters:
- $ref: "#/parameters/limitQuery"
- $ref: "#/parameters/offsetQuery"
- $ref: "#/parameters/idQuery"
responses:
"200":
description: OK
summary: Get a list of PaymentMethods
tags:
- PaymentMethods
post:
operationId: createPaymentMethod
parameters:
- $ref: "#/parameters/PaymentMethodRequest"
responses:
"201":
description: Created
summary: Create a new PaymentMethod
tags:
- PaymentMethods
put:
operationId: updatePaymentMethod
parameters:
- $ref: "#/parameters/idQuery"
responses:
"200":
description: OK
summary: Update an existing PaymentMethod
tags:
- PaymentMethods
/researchprojectcompanys:
delete:
operationId: deleteResearchProjectCompany
parameters:
- $ref: "#/parameters/idQuery"
responses:
"204":
description: No Content
summary: Delete a ResearchProjectCompany
tags:
- ResearchProjectCompanies
get:
operationId: getResearchProjectCompanies
parameters:
- $ref: "#/parameters/limitQuery"
- $ref: "#/parameters/offsetQuery"
- $ref: "#/parameters/idQuery"
responses:
"200":
description: OK
summary: Get a list of ResearchProjectCompanies
tags:
- ResearchProjectCompanies
post:
operationId: createResearchProjectCompany
parameters:
- $ref: "#/parameters/ResearchProjectCompanyRequest"
responses:
"201":
description: Created
summary: Create a new ResearchProjectCompany
tags:
- ResearchProjectCompanies
put:
operationId: updateResearchProjectCompany
parameters:
- $ref: "#/parameters/idQuery"
responses:
"200":
description: OK
summary: Update an existing ResearchProjectCompany
tags:
- ResearchProjectCompanies
/researchprojects:
delete:
operationId: deleteResearchProject
parameters:
- $ref: "#/parameters/idQuery"
responses:
"204":
description: No Content
summary: Delete a ResearchProject
tags:
- ResearchProjects
get:
operationId: getResearchProjects
parameters:
- $ref: "#/parameters/limitQuery"
- $ref: "#/parameters/offsetQuery"
- $ref: "#/parameters/idQuery"
responses:
"200":
description: OK
summary: Get a list of ResearchProjects
tags:
- ResearchProjects
post:
operationId: createResearchProject
parameters:
- $ref: "#/parameters/ResearchProjectRequest"
responses:
"201":
description: Created
summary: Create a new ResearchProject
tags:
- ResearchProjects
put:
operationId: updateResearchProject
parameters:
- $ref: "#/parameters/idQuery"
responses:
"200":
description: OK
summary: Update an existing ResearchProject
tags:
- ResearchProjects
/researchprojecttopics:
delete:
operationId: deleteResearchProjectTopic
parameters:
- $ref: "#/parameters/idQuery"
responses:
"204":
description: No Content
summary: Delete a ResearchProjectTopic
tags:
- ResearchProjectTopics
get:
operationId: getResearchProjectTopics
parameters:
- $ref: "#/parameters/limitQuery"
- $ref: "#/parameters/offsetQuery"
- $ref: "#/parameters/idQuery"
responses:
"200":
description: OK
summary: Get a list of ResearchProjectTopics
tags:
- ResearchProjectTopics
post:
operationId: createResearchProjectTopic
parameters:
- $ref: "#/parameters/ResearchProjectTopicRequest"
responses:
"201":
description: Created
summary: Create a new ResearchProjectTopic
tags:
- ResearchProjectTopics
put:
operationId: updateResearchProjectTopic
parameters:
- $ref: "#/parameters/idQuery"
responses:
"200":
description: OK
summary: Update an existing ResearchProjectTopic
tags:
- ResearchProjectTopics
/tenants:
get:
description: Return a list of Tenant records from the datastore
operationId: getTenants
parameters:
- $ref: "#/parameters/tenantIdQuery"
- $ref: "#/parameters/limitQuery"
- $ref: "#/parameters/offsetQuery"
responses:
"200":
$ref: "#/responses/TenantResponse"
"401":
$ref: "#/responses/Unauthorized"
"403":
$ref: "#/responses/AccessForbidden"
"404":
$ref: "#/responses/NotFound"
"422":
$ref: "#/responses/UnprocessableEntity"
"500":
$ref: "#/responses/ServerError"
security:
- ApiKeyAuth: []
summary: Get a list Tenants
tags:
- Tenants
post:
description: Create Tenants in Taxnexus
operationId: postTenants
parameters:
- $ref: "#/parameters/tenantRequest"
responses:
"200":
$ref: "#/responses/TenantResponse"
"401":
$ref: "#/responses/Unauthorized"
"403":
$ref: "#/responses/AccessForbidden"
"404":
$ref: "#/responses/NotFound"
"422":
$ref: "#/responses/UnprocessableEntity"
"500":
$ref: "#/responses/ServerError"
security:
- ApiKeyAuth: []
summary: Create new Tenants
tags:
- Tenants
put:
description: Update Tenant in Taxnexus
operationId: putTenants
parameters:
- $ref: "#/parameters/tenantRequest"
responses:
"200":
$ref: "#/responses/TenantResponse"
"401":
$ref: "#/responses/Unauthorized"
"403":
$ref: "#/responses/AccessForbidden"
"404":
$ref: "#/responses/NotFound"
"422":
$ref: "#/responses/UnprocessableEntity"
"500":
$ref: "#/responses/ServerError"
security:
- ApiKeyAuth: []
summary: Update Tenants
tags:
- Tenants
/templates:
get:
description: Return a list of Templates from the datastore
operationId: getTemplates
parameters:
- $ref: "#/parameters/limitQuery"
- $ref: "#/parameters/offsetQuery"
- $ref: "#/parameters/activeQuery"
- $ref: "#/parameters/templateIdQuery"
- $ref: "#/parameters/isMasterQuery"
- $ref: "#/parameters/objectTypeQuery"
responses:
"200":
$ref: "#/responses/TemplateResponse"
"401":
$ref: "#/responses/Unauthorized"
"403":
$ref: "#/responses/AccessForbidden"
"404":
$ref: "#/responses/NotFound"
"422":
$ref: "#/responses/UnprocessableEntity"
"500":
$ref: "#/responses/ServerError"
security:
- ApiKeyAuth: []
summary: Get a list Templates
tags:
- Templates
post:
description: Create new Templates
operationId: postTemplates
parameters:
- $ref: "#/parameters/TemplateRequest"
responses:
"200":
$ref: "#/responses/TemplateResponse"
"401":
$ref: "#/responses/Unauthorized"
"403":
$ref: "#/responses/AccessForbidden"
"404":
$ref: "#/responses/NotFound"
"422":
$ref: "#/responses/UnprocessableEntity"
"500":
$ref: "#/responses/ServerError"
security:
- ApiKeyAuth: []
summary: Create new Templates
tags:
- Templates
/tickets:
delete:
operationId: deleteTicket
parameters:
- $ref: "#/parameters/idQuery"
responses:
"204":
description: No Content
summary: Delete a Ticket
tags:
- Tickets
get:
operationId: getTickets
parameters:
- $ref: "#/parameters/limitQuery"
- $ref: "#/parameters/offsetQuery"
- $ref: "#/parameters/idQuery"
responses:
"200":
description: OK
summary: Get a list of Tickets
tags:
- Tickets
post:
operationId: createTicket
parameters:
- $ref: "#/parameters/TicketRequest"
responses:
"201":
description: Created
summary: Create a new Ticket
tags:
- Tickets
put:
operationId: updateTicket
parameters:
- $ref: "#/parameters/idQuery"
responses:
"200":
description: OK
summary: Update an existing Ticket
tags:
- Tickets
/transactions:
delete:
operationId: deleteTransaction
parameters:
- $ref: "#/parameters/idQuery"
responses:
"204":
description: No Content
summary: Delete a Transaction
tags:
- Transactions
get:
operationId: getTransactions
parameters:
- $ref: "#/parameters/limitQuery"
- $ref: "#/parameters/offsetQuery"
- $ref: "#/parameters/idQuery"
responses:
"200":
description: OK
summary: Get a list of Transactions
tags:
- Transactions
post:
operationId: createTransaction
parameters:
- $ref: "#/parameters/TransactionRequest"
responses:
"201":
description: Created
summary: Create a new Transaction
tags:
- Transactions
put:
operationId: updateTransaction
parameters:
- $ref: "#/parameters/idQuery"
responses:
"200":
description: OK
summary: Update an existing Transaction
tags:
- Transactions
/users/onboard:
post:
description: Async onboard new users
operationId: postUsersOnboard
parameters:
- $ref: "#/parameters/UserRequest"
responses:
"200":
$ref: "#/responses/UserResponse"
"401":
$ref: "#/responses/Unauthorized"
"403":
$ref: "#/responses/AccessForbidden"
"404":
$ref: "#/responses/NotFound"
"422":
$ref: "#/responses/UnprocessableEntity"
"500":
$ref: "#/responses/ServerError"
security:
- ApiKeyAuth: []
summary: Async onboard new users
tags:
- Users
/webhooks/clerk:
post:
description: Clerk webhook
operationId: postWebhooksClerk
parameters:
- $ref: "#/parameters/WebhookClerkRequest"
responses:
"201":
$ref: "#/responses/WebhookClerkResponse"
"401":
$ref: "#/responses/Unauthorized"
"403":
$ref: "#/responses/AccessForbidden"
"404":
$ref: "#/responses/NotFound"
"422":
$ref: "#/responses/UnprocessableEntity"
"500":
$ref: "#/responses/ServerError"
summary: Clerk webhook
tags:
- Webhooks
/users:
get:
description: Return a list of User records from the datastore
operationId: getUsers
parameters:
- $ref: "#/parameters/limitQuery"
- $ref: "#/parameters/offsetQuery"
- $ref: "#/parameters/emailQuery"
- $ref: "#/parameters/auth0UserIdQuery"
- $ref: "#/parameters/userIdQuery"
- $ref: "#/parameters/contactIdQuery"
responses:
"200":
$ref: "#/responses/UserResponse"
"401":
$ref: "#/responses/Unauthorized"
"403":
$ref: "#/responses/AccessForbidden"
"404":
$ref: "#/responses/NotFound"
"422":
$ref: "#/responses/UnprocessableEntity"
"500":
$ref: "#/responses/ServerError"
security:
- ApiKeyAuth: []
summary: Get a list Users
tags:
- Users
post:
description: Create new Users
operationId: postUsers
parameters:
- $ref: "#/parameters/UserRequest"
responses:
"200":
$ref: "#/responses/UserResponse"
"401":
$ref: "#/responses/Unauthorized"
"403":
$ref: "#/responses/AccessForbidden"
"404":
$ref: "#/responses/NotFound"
"422":
$ref: "#/responses/UnprocessableEntity"
"500":
$ref: "#/responses/ServerError"
security:
- ApiKeyAuth: []
summary: Create new Users
tags:
- Users
put:
description: Update existing users
operationId: putUsers
parameters:
- $ref: "#/parameters/UserRequest"
responses:
"200":
$ref: "#/responses/UserResponse"
"401":
$ref: "#/responses/Unauthorized"
"403":
$ref: "#/responses/AccessForbidden"
"404":
$ref: "#/responses/NotFound"
"422":
$ref: "#/responses/UnprocessableEntity"
"500":
$ref: "#/responses/ServerError"
security:
- ApiKeyAuth: []
summary: Update existing users
tags:
- Users
definitions:
Address:
properties:
City:
description: City
type: string
Country:
description: Country full name
type: string
CountryCode:
description: Country Code
type: string
PostalCode:
description: Postal Code
type: string
State:
description: State full name
type: string
StateCode:
description: State Code
type: string
Street:
description: Street number and name
type: string
type: object
Attendee:
properties:
CheckinStatus:
type: integer
CreatedDate:
type: string
x-nullable: true
EventID:
type: string
ID:
type: string
LastModifiedDate:
type: string
x-nullable: true
TicketID:
type: string
UserID:
type: string
type: object
AttendeeRequest:
description: An array of Attendee objects
properties:
Data:
items:
$ref: "#/definitions/Attendee"
type: array
type: object
AttendeeResponse:
description: An array of Attendee objects
properties:
Data:
items:
$ref: "#/definitions/Attendee"
type: array
type: object
Certificate:
properties:
CertificateTemplate:
type: string
CourseID:
type: string
CreatedByID:
type: string
CreatedDate:
type: string
x-nullable: true
Description:
type: string
x-nullable: true
ID:
type: string
LastModifiedByID:
type: string
LastModifiedDate:
type: string
x-nullable: true
Title:
type: string
type: object
CertificateRequest:
description: An array of Certificate objects
properties:
Data:
items:
$ref: "#/definitions/Certificate"
type: array
type: object
CertificateResponse:
description: An array of Certificate objects
properties:
Data:
items:
$ref: "#/definitions/Certificate"
type: array
type: object
Cluster:
properties:
CreatedByID:
description: Created By
type: string
CreatedDate:
description: Created Date
type: string
Description:
description: Description
type: string
Environment:
description: Environment
type: string
Gateway:
description: Gateway
type: string
ID:
description: Record Id
type: string
IPAddress:
description: IP Address
type: string
LastModifiedByID:
description: Last Modified By
type: string
LastModifiedDate:
description: Last Modified Date
type: string
Name:
description: Cluster Name
type: string
OwnerID:
description: Owner
type: string
Ref:
description: External Reference
type: string
Status:
description: Status
type: string
Subnet:
description: Subnet
type: string
TenantID:
description: The ID of the tenant who owns this Database
type: string
Type:
description: Type
type: string
Zone:
description: Zone
type: string
type: object
ClusterRequest:
properties:
Data:
items:
$ref: "#/definitions/Cluster"
type: array
type: object
ClusterResponse:
description: An array of cluster objects
properties:
Data:
items:
$ref: "#/definitions/Cluster"
type: array
Meta:
$ref: "#/definitions/ResponseMeta"
type: object
Course:
properties:
CreatedByID:
type: string
CreatedDate:
type: string
x-nullable: true
Description:
type: string
Fulldescription:
type: string
ID:
type: string
InstructorID:
type: string
LastModifiedByID:
type: string
LastModifiedDate:
type: string
x-nullable: true
Price:
type: number
Title:
type: string
type: object
CourseLesson:
properties:
Content:
type: string
CreatedByID:
type: string
CreatedDate:
type: string
x-nullable: true
ID:
type: string
LastModifiedByID:
type: string
LastModifiedDate:
type: string
x-nullable: true
Order:
type: integer
SectionID:
type: string
Title:
type: string
VideoURL:
type: string
type: object
CourseLessonRequest:
description: An array of CourseLesson objects
properties:
Data:
items:
$ref: "#/definitions/CourseLesson"
type: array
type: object
CourseLessonResponse:
description: An array of CourseLesson objects
properties:
Data:
items:
$ref: "#/definitions/CourseLesson"
type: array
type: object
CourseRequest:
description: An array of Course objects
properties:
Data:
items:
$ref: "#/definitions/Course"
type: array
type: object
CourseResponse:
description: An array of Course objects
properties:
Data:
items:
$ref: "#/definitions/Course"
type: array
type: object
CourseSection:
properties:
CourseID:
type: string
CreatedByID:
type: string
CreatedDate:
type: string
x-nullable: true
Description:
type: string
ID:
type: string
LastModifiedByID:
type: string
LastModifiedDate:
type: string
x-nullable: true
Order:
type: integer
Title:
type: string
type: object
CourseSectionRequest:
description: An array of CourseSection objects
properties:
Data:
items:
$ref: "#/definitions/CourseSection"
type: array
type: object
CourseSectionResponse:
description: An array of CourseSection objects
properties:
Data:
items:
$ref: "#/definitions/CourseSection"
type: array
type: object
Database:
description: A Database provisioned and owned by a Tenant
properties:
Active:
description: Is this database active?
type: boolean
ClusterID:
description: The ID of the Cluster in which this database is deployed
type: string
CreatedByID:
description: Created By
type: string
CreatedDate:
description: Created Date
type: string
DSN:
description: Database connection string
type: string
DatabaseName:
description: The name of the physical database in the cluster
type: string
ID:
description: Record Id
type: string
LastModifiedByID:
description: Last Modified By
type: string
LastModifiedDate:
description: Last Modifed Date
type: string
Status:
description: The current status of this Tenant
type: string
TenantID:
description: The ID of the tenant who owns this Database
type: string
Type:
description: The type of Database (mysql, etc)
type: string
type: object
DatabaseRequest:
description: An array of Database objects
properties:
Data:
items:
$ref: "#/definitions/Database"
type: array
type: object
DatabaseResponse:
description: An array of Database objects
properties:
Data:
items:
$ref: "#/definitions/Database"
type: array
Meta:
$ref: "#/definitions/ResponseMeta"
type: object
Enrollment:
properties:
Completed:
type: integer
CourseID:
type: string
CreatedByID:
type: string
CreatedDate:
type: string
x-nullable: true
EnrollmentDate:
type: string
ID:
type: string
LastModifiedByID:
type: string
LastModifiedDate:
type: string
x-nullable: true
UserID:
type: string
type: object
EnrollmentRequest:
description: An array of Enrollment objects
properties:
Data:
items:
$ref: "#/definitions/Enrollment"
type: array
type: object
EnrollmentResponse:
description: An array of Enrollment objects
properties:
Data:
items:
$ref: "#/definitions/Enrollment"
type: array
type: object
Error:
properties:
code:
format: int64
type: integer
fields:
type: string
message:
type: string
type: object
Event:
properties:
Capacity:
type: integer
x-nullable: true
Createdat:
type: string
x-nullable: true
Description:
type: string
x-nullable: true
EndDate:
type: string
ID:
type: string
Location:
type: string
OrganizeruserID:
type: string
StartDate:
type: string
Title:
type: string
UpDatedat:
type: string
x-nullable: true
type: object
EventCategory:
properties:
CreatedDate:
type: string
x-nullable: true
ID:
type: string
LastModifiedDate:
type: string
x-nullable: true
Name:
type: string
type: object
EventCategoryAssignment:
properties:
Createdat:
type: string
x-nullable: true
EventCategoryID:
type: string
EventID:
type: string
ID:
type: string
UpDatedat:
type: string
x-nullable: true
type: object
EventCategoryAssignmentRequest:
description: An array of EventCategoryAssignment objects
properties:
Data:
items:
$ref: "#/definitions/EventCategoryAssignment"
type: array
type: object
EventCategoryAssignmentResponse:
description: An array of EventCategoryAssignment objects
properties:
Data:
items:
$ref: "#/definitions/EventCategoryAssignment"
type: array
type: object
EventCategoryRequest:
description: An array of EventCategory objects
properties:
Data:
items:
$ref: "#/definitions/EventCategory"
type: array
type: object
EventCategoryResponse:
description: An array of EventCategory objects
properties:
Data:
items:
$ref: "#/definitions/EventCategory"
type: array
type: object
EventRequest:
description: An array of Event objects
properties:
Data:
items:
$ref: "#/definitions/Event"
type: array
type: object
EventResponse:
description: An array of Event objects
properties:
Data:
items:
$ref: "#/definitions/Event"
type: array
type: object
Favorite:
properties:
CreatedByID:
type: string
CreatedDate:
type: string
x-nullable: true
Description:
type: string
FavoriteID:
type: string
Favoritetype:
type: string
x-nullable: true
ID:
type: string
LastModifiedByID:
type: string
LastModifiedDate:
type: string
x-nullable: true
Name:
type: string
Path:
type: string
TenantID:
type: string
UserID:
type: string
type: object
FavoriteRequest:
description: An array of Favorite objects
properties:
Data:
items:
$ref: "#/definitions/Favorite"
type: array
type: object
FavoriteResponse:
description: An array of Favorite objects
properties:
Data:
items:
$ref: "#/definitions/Favorite"
type: array
type: object
Invoice:
properties:
Amount:
type: number
CourseID:
type: string
CreatedByID:
type: string
CreatedDate:
type: string
x-nullable: true
Currency:
type: string
DueDate:
type: string
ID:
type: string
Invoicenumber:
type: string
LastModifiedByID:
type: string
LastModifiedDate:
type: string
x-nullable: true
Status:
type: string
TransactionID:
type: string
UserID:
type: string
type: object
InvoiceRequest:
description: An array of Invoice objects
properties:
Data:
items:
$ref: "#/definitions/Invoice"
type: array
type: object
InvoiceResponse:
description: An array of Invoice objects
properties:
Data:
items:
$ref: "#/definitions/Invoice"
type: array
type: object
IssuedCertificate:
properties:
CertificateID:
type: string
CreatedByID:
type: string
CreatedDate:
type: string
x-nullable: true
EnrollmentID:
type: string
ExpirationDate:
type: string
x-nullable: true
ID:
type: string
IssueDate:
type: string
LastModifiedByID:
type: string
LastModifiedDate:
type: string
x-nullable: true
UserID:
type: string
VerificationCode:
type: string
type: object
IssuedCertificateRequest:
description: An array of IssuedCertificate objects
properties:
Data:
items:
$ref: "#/definitions/IssuedCertificate"
type: array
type: object
IssuedCertificateResponse:
description: An array of IssuedCertificate objects
properties:
Data:
items:
$ref: "#/definitions/IssuedCertificate"
type: array
type: object
LessonProgress:
properties:
Completed:
type: integer
Completedat:
type: string
x-nullable: true
CreatedByID:
type: string
CreatedDate:
type: string
x-nullable: true
EnrollmentID:
type: string
ID:
type: string
LastModifiedByID:
type: string
LastModifiedDate:
type: string
x-nullable: true
LessonID:
type: string
UserID:
type: string
type: object
LessonProgressRequest:
description: An array of LessonProgress objects
properties:
Data:
items:
$ref: "#/definitions/LessonProgress"
type: array
type: object
LessonProgressResponse:
description: An array of LessonProgress objects
properties:
Data:
items:
$ref: "#/definitions/LessonProgress"
type: array
type: object
Message:
properties:
Message:
type: string
Ref:
type: string
Status:
type: integer
type: object
Order:
properties:
AmountpaID:
type: number
x-nullable: true
Createdat:
type: string
x-nullable: true
EventID:
type: string
ID:
type: string
OrderStatus:
type: string
PaymentMethod:
type: string
x-nullable: true
TicketID:
type: string
UpDatedat:
type: string
x-nullable: true
UserID:
type: string
type: object
OrderRequest:
description: An array of Order objects
properties:
Data:
items:
$ref: "#/definitions/Order"
type: array
type: object
OrderResponse:
description: An array of Order objects
properties:
Data:
items:
$ref: "#/definitions/Order"
type: array
type: object
Pagination:
properties:
Limit:
format: int64
type: integer
POffset:
format: int64
type: integer
PageSize:
format: int64
type: integer
SetSize:
format: int64
type: integer
type: object
PaymentMethod:
properties:
CardHolderName:
type: string
CardNumber:
type: string
CardType:
type: string
CreatedByID:
type: string
CreatedDate:
type: string
x-nullable: true
ExpirationMonth:
type: integer
ExpirationYear:
type: integer
ID:
type: string
Isdefault:
type: integer
LastModifiedByID:
type: string
LastModifiedDate:
type: string
x-nullable: true
UserID:
type: string
type: object
PaymentMethodRequest:
description: An array of PaymentMethod objects
properties:
Data:
items:
$ref: "#/definitions/PaymentMethod"
type: array
type: object
PaymentMethodResponse:
description: An array of PaymentMethod objects
properties:
Data:
items:
$ref: "#/definitions/PaymentMethod"
type: array
type: object
RequestMeta:
properties:
TaxnexusAccount:
description: Account Number of the Reseller or OEM
type: string
required:
- TaxnexusAccount
type: object
ResearchProject:
properties:
AccountID:
type: string
CreatedByID:
type: string
CreatedDate:
type: string
x-nullable: true
Description:
type: string
ID:
type: string
LastModifiedByID:
type: string
LastModifiedDate:
type: string
x-nullable: true
Name:
type: string
TenantID:
type: string
UserID:
type: string
type: object
ResearchProjectCompany:
properties:
AccountID:
type: string
CreatedByID:
type: string
CreatedDate:
type: string
x-nullable: true
ID:
type: string
LastModifiedByID:
type: string
LastModifiedDate:
type: string
x-nullable: true
ResearchProjectID:
type: string
TenantID:
type: string
type: object
ResearchProjectCompanyRequest:
description: An array of ResearchProjectCompany objects
properties:
Data:
items:
$ref: "#/definitions/ResearchProjectCompany"
type: array
type: object
ResearchProjectCompanyResponse:
description: An array of ResearchProjectCompany objects
properties:
Data:
items:
$ref: "#/definitions/ResearchProjectCompany"
type: array
type: object
ResearchProjectRequest:
description: An array of ResearchProject objects
properties:
Data:
items:
$ref: "#/definitions/ResearchProject"
type: array
type: object
ResearchProjectResponse:
description: An array of ResearchProject objects
properties:
Data:
items:
$ref: "#/definitions/ResearchProject"
type: array
type: object
ResearchProjectTopic:
properties:
CreatedByID:
type: string
CreatedDate:
type: string
x-nullable: true
ID:
type: string
LastModifiedByID:
type: string
LastModifiedDate:
type: string
x-nullable: true
ResearchProjectID:
type: string
TenantID:
type: string
TopicID:
type: string
type: object
ResearchProjectTopicRequest:
description: An array of ResearchProjectTopic objects
properties:
Data:
items:
$ref: "#/definitions/ResearchProjectTopic"
type: array
type: object
ResearchProjectTopicResponse:
description: An array of ResearchProjectTopic objects
properties:
Data:
items:
$ref: "#/definitions/ResearchProjectTopic"
type: array
type: object
ResponseMeta:
properties:
Contact:
description: Microservice Contact Info
type: string
Copyright:
description: Copyright Info
type: string
License:
description: License Information and Restrictions
type: string
OperationID:
description: Operation ID
type: string
Pagination:
$ref: "#/definitions/Pagination"
RequestIP:
description: Request IP Address
type: string
RequestType:
description: Request Type
type: string
RequestURL:
description: Request URL
type: string
ServerInfo:
description: Data Server Info
type: string
ServerResponseTime:
description: Data Server Response Time (ms)
type: string
ServerTimestamp:
description: Backend Server Timestamp
type: string
TaxnexusAccount:
description: Account Number used for recording transactions
type: string
type: object
TenantUser:
description: Relationship object that connects users to a tenant
properties:
AccessLevel:
description: The makeTenantUser access level for this User
type: string
AccountID:
description: Account ID
type: string
Auth0UserID:
description: Auth0 User ID
type: string
CompanyName:
description: Account Name
type: string
ContactID:
description: Contact ID
type: string
TaxnexusAccount:
description: Account
type: string
TenantActive:
description: Tenant active?
type: boolean
TenantID:
description: The Tenant ID
type: string
TenantName:
description: Tenant Name
type: string
TenantStatus:
description: Tenant Status
type: string
TenantType:
description: Tenant type
type: string
TenantVersion:
description: Tenant Version
type: string
UserEmail:
description: User Email Address
type: string
UserFullName:
description: User Full Name
type: string
UserID:
description: The User ID
type: string
Username:
description: Username
type: string
type: object
Role:
description: A functional role within a Tenant
properties:
Auth0RoleID:
description: The corresponding Auth0 Role
type: string
CreatedByID:
description: Created By
type: string
CreatedDate:
description: Created Date
type: string
Description:
description: Role Description
type: string
ID:
description: Record Id
type: string
LastModifiedByID:
description: Last Modified By
type: string
LastModifiedDate:
description: Last Modifed Date
type: string
RoleName:
description: The name of this role
type: string
TenantID:
description: The ID of the Tenant that owns this Role
type: string
type: object
RoleRequest:
description: An array of Role objects
properties:
Date:
items:
$ref: "#/definitions/Role"
type: array
type: object
RoleResponse:
description: An array of Role objects
properties:
Data:
items:
$ref: "#/definitions/Role"
type: array
Meta:
$ref: "#/definitions/ResponseMeta"
type: object
Template:
properties:
CompanyID:
description: Company
type: string
CreatedByID:
type: string
CreatedDate:
type: string
Description:
description: Description
type: string
HTML:
description: HTML Body
format: byte
type: string
ID:
description: Record Id
type: string
IsActive:
description: Active?
type: boolean
IsMaster:
description: Master Template?
type: boolean
LastModifiedByID:
type: string
LastModifiedDate:
type: string
Name:
description: Template Name
type: string
ObjectType:
description: Object
type: string
RecordTypeName:
description: Record Type Name
type: string
TenantID:
description: Tenant that owns this object instance
type: string
Type:
description: Type
type: string
URL:
description: URL
type: string
type: object
TemplateRequest:
description: An array of Templates
properties:
Data:
items:
$ref: "#/definitions/Template"
type: array
type: object
TemplateResponse:
description: An array of Templates
properties:
Data:
items:
$ref: "#/definitions/Template"
type: array
Meta:
$ref: "#/definitions/ResponseMeta"
type: object
Tenant:
description: Account Tenant
properties:
AccountID:
description: The Account that owns this Tenant
type: string
Active:
description: Is this Tenant currently active?
type: boolean
CreatedByID:
description: Created By
type: string
CreatedDate:
description: Created Date
type: string
Databases:
items:
$ref: "#/definitions/Database"
type: array
ID:
description: Record Id
type: string
LastModifiedByID:
description: Last Modified By
type: string
LastModifiedDate:
description: Last Modifed Date
type: string
Roles:
items:
$ref: "#/definitions/Role"
type: array
Status:
description: The current status of this Tenant
type: string
TenantName:
description: Name of the Tenant Resource
type: string
TenantUsers:
items:
$ref: "#/definitions/TenantUser"
type: array
Type:
description: The type of Tenant
type: string
Version:
description: The version number of the Tenant Onboarding system used to create this tenant
type: string
type: object
TenantRequest:
description: An array of Tenant objects
properties:
Data:
items:
$ref: "#/definitions/Tenant"
type: array
type: object
TenantResponse:
description: An array of Tenant objects
properties:
Data:
items:
$ref: "#/definitions/Tenant"
type: array
Meta:
$ref: "#/definitions/ResponseMeta"
type: object
Ticket:
properties:
CreatedDate:
type: string
x-nullable: true
EventID:
type: string
ID:
type: string
LastModifiedDate:
type: string
x-nullable: true
Price:
type: number
x-nullable: true
Quantity:
type: integer
Tickettype:
type: string
type: object
TicketRequest:
description: An array of Ticket objects
properties:
Data:
items:
$ref: "#/definitions/Ticket"
type: array
type: object
TicketResponse:
description: An array of Ticket objects
properties:
Data:
items:
$ref: "#/definitions/Ticket"
type: array
type: object
Transaction:
properties:
Amount:
type: number
CourseID:
type: string
CreatedByID:
type: string
CreatedDate:
type: string
x-nullable: true
Currency:
type: string
EnrollmentID:
type: string
ID:
type: string
LastModifiedByID:
type: string
LastModifiedDate:
type: string
x-nullable: true
PaymentMethodID:
type: string
Status:
type: string
x-nullable: true
TransactionDate:
type: string
UserID:
type: string
type: object
TransactionRequest:
description: An array of Transaction objects
properties:
Data:
items:
$ref: "#/definitions/Transaction"
type: array
type: object
TransactionResponse:
description: An array of Transaction objects
properties:
Data:
items:
$ref: "#/definitions/Transaction"
type: array
type: object
User:
properties:
APIGatewayURL:
description: API Gateway URL
type: string
APIGatewayUser:
description: API Gateway User
type: string
APIKey:
description: API Key
type: string
AboutMe:
description: About Me
type: string
AccountID:
description: Account ID
type: string
Address:
$ref: "#/definitions/Address"
Alias:
description: Alias
type: string
Auth0UserID:
description: Auth0 User Id
type: string
CommunityNickname:
description: Nickname
type: string
CompanyName:
description: Company Name
type: string
ContactID:
description: Contact
type: string
CreatedByID:
description: Created User ID
type: string
CreatedDate:
description: Date Created
type: string
DelegatedApproverID:
description: Delegated Approver
type: string
Department:
description: Department
type: string
Division:
description: Division
type: string
Email:
description: Email address
type: string
EmployeeNumber:
description: Employee Number
type: string
EndOfDay:
description: Time day ends
type: string
Environment:
description: Environment
type: string
Extension:
description: Extension
type: string
FabricAPIKey:
description: Fabric API Key
type: string
Fax:
description: Fax
type: string
FirstName:
description: The first name
type: string
ForecastEnabled:
description: Allow Forecasting
type: boolean
FullPhotoURL:
description: Full Photo URL
type: string
GitHub:
description: GitHub
type: string
ID:
description: Record ID
type: string
IsActive:
description: Active
type: boolean
IsPortalEnabled:
description: Is the user enabled for Communities?
type: boolean
IsProphilePhotoActive:
description: Has Profile Photo
type: boolean
IsSystemControlled:
type: boolean
LastIP:
description: IP address of last login
type: string
LastLogin:
description: Last login time
type: string
LastModifiedByID:
description: Last Modified User ID
type: string
LastModifiedDate:
description: Last Modified Date
type: string
LastName:
description: The Last Name
type: string
LinkedIn:
description: LinkedIn
type: string
LoginCount:
description: Number of times user has logged in
format: int64
type: number
ManagerID:
description: Manager
type: string
MobilePhone:
description: Mobile
type: string
Name:
description: Name
type: string
OutOfOfficeMessage:
description: Out of office message
type: string
Phone:
description: Phone
type: string
PortalRole:
description: Portal Role Level
type: string
ProfileID:
description: Profile
type: string
ReceivesAdminEmails:
description: Info Emails
type: boolean
ReceivesAdminInfoEmails:
description: Admin Info Emails
type: boolean
SenderEmail:
description: Email Sender Address
type: string
SenderName:
description: Email Sender Name
type: string
Signature:
description: Email Signature
type: string
SmallPhotoURL:
description: Small Photo URL
type: string
StartOfDay:
description: The time day starts
type: string
Status:
description: Onboarding Status
type: string
TaxnexusAccount:
description: Account
type: string
TenantID:
description: Tenant ID associated with this user
type: string
TenantUsers:
items:
$ref: "#/definitions/TenantUser"
type: array
TimeZone:
description: Time Zone
type: string
Title:
description: Title
type: string
Twitter:
description: Twitter
type: string
UserRoleID:
description: Role
type: string
UserRoles:
items:
$ref: "#/definitions/UserRole"
type: array
UserType:
description: User Type
type: string
Username:
description: Username
type: string
type: object
UserRequest:
properties:
Data:
items:
$ref: "#/definitions/User"
type: array
type: object
UserResponse:
description: An array of Print-Ready ingest Objects
properties:
Data:
items:
$ref: "#/definitions/User"
type: array
Meta:
$ref: "#/definitions/ResponseMeta"
type: object
UserRole:
description: Relationship object that connects user to a role
properties:
AccountID:
description: Account Id
type: string
Auth0RoleID:
description: Linked role ID
type: string
Auth0UserID:
description: Auth0 User ID
type: string
CompanyName:
description: Company Name
type: string
ContactID:
description: Contact ID
type: string
RoleDescription:
description: Role description
type: string
RoleID:
description: The Role ID
type: string
RoleName:
description: Role Name
type: string
TaxnexusAccount:
description: Account Number
type: string
UserEmail:
description: User Email Address
type: string
UserFullName:
description: User Full Name
type: string
UserID:
description: The User ID
type: string
Username:
description: Username
type: string
type: object
WebhookClerkRequest:
description: Clerk webhook object
properties:
object:
type: string
type:
description: Clerk Name
type: string
data:
type: object
type: object
ClerkUser:
description: Clerk user object
type: object
properties:
external_id:
type: string
description: |-
The ID of the user as used in your external systems or your previous authentication solution.
Must be unique across your instance.
first_name:
type: string
description: The first name to assign to the user
last_name:
type: string
description: The last name to assign to the user
email_address:
type: array
items:
type: string
description: |-
Email addresses to add to the user.
Must be unique across your instance.
The first email address will be set as the user's primary email address.
phone_number:
type: array
items:
type: string
description: |-
Phone numbers to add to the user.
Must be unique across your instance.
The first phone number will be set as the user's primary phone number.
web3_wallet:
type: array
items:
type: string
description: |-
Web3 wallets to add to the user.
Must be unique across your instance.
The first wallet will be set as the user's primary wallet.
username:
type: string
description: |-
The username to give to the user.
It must be unique across your instance.
password:
type: string
description: |-
The plaintext password to give the user.
Must be at least 8 characters long, and can not be in any list of hacked passwords.
password_digest:
type: string
description: |-
In case you already have the password digests and not the passwords, you can use them for the newly created user via this property.
The digests should be generated with one of the supported algorithms.
The hashing algorithm can be specified using the `password_hasher` property.
password_hasher:
type: string
description: |-
The hashing algorithm that was used to generate the password digest.
The algorithms we support at the moment are [bcrypt](https://en.wikipedia.org/wiki/Bcrypt), md5, pbkdf2_sha256, [pbkdf2_sha256_django](https://docs.djangoproject.com/en/4.0/topics/auth/passwords/), [scrypt_firebase](https://firebaseopensource.com/projects/firebase/scrypt/) and 2 [argon2](https://argon2.online/) variants, argon2i and argon2id.
Each of the above expects the incoming digest to be of a particular format.
More specifically:
**bcrypt:** The digest should be of the following form:
`$<algorithm version>$<cost>$<salt & hash>`
**md5:** The digest should follow the regular form e.g.:
`5f4dcc3b5aa765d61d8327deb882cf99`
**pbkdf2_sha256:** This is the PBKDF2 algorithm using the SHA256 hashing function. The format should be as follows:
`pbkdf2_sha256$<iterations>$<salt>$<hash>`
Note: Both the salt and the hash are expected to be base64-encoded.
**pbkdf2_sha256_django:** This is the Django-specific variant of PBKDF2 and the digest should have the following format (as exported from Django):
`pbkdf2_sha256$<iterations>$<salt>$<hash>`
Note: The salt is expected to be un-encoded, the hash is expected base64-encoded.
**pbkdf2_sha1:** This is similar to pkbdf2_sha256_django, but with two differences:
1. uses sha1 instead of sha256
2. accepts the hash as a hex-encoded string
The format is the following:
`pbkdf2_sha1$<iterations>$<salt>$<hash-as-hex-string>`
**scrypt_firebase:** The Firebase-specific variant of scrypt.
The value is expected to have 6 segments separated by the $ character and include the following information:
_hash:_ The actual Base64 hash. This can be retrieved when exporting the user from Firebase.
_salt:_ The salt used to generate the above hash. Again, this is given when exporting the user.
_signer key:_ The base64 encoded signer key.
_salt separator:_ The base64 encoded salt separator.
_rounds:_ The number of rounds the algorithm needs to run.
_memory cost:_ The cost of the algorithm run
The first 2 (hash and salt) are per user and can be retrieved when exporting the user from Firebase.
The other 4 values (signer key, salt separator, rounds and memory cost) are project-wide settings and can be retrieved from the project's password hash parameters.
Once you have all these, you can combine it in the following format and send this as the digest in order for Clerk to accept it:
`<hash>$<salt>$<signer key>$<salt separator>$<rounds>$<memory cost>`
**argon2i:** Algorithms in the argon2 family generate digests that encode the following information:
_version (v):_ The argon version, version 19 is assumed
_memory (m):_ The memory used by the algorithm (in kibibytes)
_iterations (t):_ The number of iterations to perform
_parallelism (p):_ The number of threads to use
Parts are demarcated by the `$` character, with the first part identifying the algorithm variant.
The middle part is a comma-separated list of the encoding options (memory, iterations, parallelism).
The final part is the actual digest.
`$argon2i$v=19$m=4096,t=3,p=1$4t6CL3P7YiHBtwESXawI8Hm20zJj4cs7/4/G3c187e0$m7RQFczcKr5bIR0IIxbpO2P0tyrLjf3eUW3M3QSwnLc`
**argon2id:** See the previous algorithm for an explanation of the formatting.
For the argon2id case, the value of the algorithm in the first part of the digest is `argon2id`:
`$argon2id$v=19$m=64,t=4,p=8$Z2liZXJyaXNo$iGXEpMBTDYQ8G/71tF0qGjxRHEmR3gpGULcE93zUJVU`
If you need support for any particular hashing algorithm, [please let us know](https://clerk.com/support).
enum:
- bcrypt
- md5
- pbkdf2_sha256
- pbkdf2_sha256_django
- pbkdf2_sha1
- scrypt_firebase
- argon2i
- argon2id
skip_password_checks:
type: boolean
description: |-
When set to `true` all password checks are skipped.
It is recommended to use this method only when migrating plaintext passwords to Clerk.
Upon migration the user base should be prompted to pick stronger password.
skip_password_requirement:
type: boolean
description: |-
When set to `true`, `password` is not required anymore when creating the user and can be omitted.
This is useful when you are trying to create a user that doesn't have a password, in an instance that is using passwords.
Please note that you cannot use this flag if password is the only way for a user to sign into your instance.
totp_secret:
type: string
description: |-
In case TOTP is configured on the instance, you can provide the secret to enable it on the newly created user without the need to reset it.
Please note that currently the supported options are:
* Period: 30 seconds
* Code length: 6 digits
* Algorithm: SHA1
backup_codes:
type: array
items:
type: string
description: |-
If Backup Codes are configured on the instance, you can provide them to enable it on the newly created user without the need to reset them.
You must provide the backup codes in plain format or the corresponding bcrypt digest.
public_metadata:
type: object
description: Metadata saved on the user, that is visible to both
your Frontend and Backend APIs
private_metadata:
type: object
description: Metadata saved on the user, that is only visible to
your Backend API
unsafe_metadata:
type: object
description: |-
Metadata saved on the user, that can be updated from both the Frontend and Backend APIs.
Note: Since this data can be modified from the frontend, it is not guaranteed to be safe.
created_at:
type: string
description: A custom date/time denoting _when_ the user signed
up to the application, specified in RFC3339 format (e.g. `2012-10-20T07:15:20.902Z`).
WebhookClerkResponse:
description: Clerk webhook object
properties:
object:
type: string
type:
description: Clerk Name
type: string
data:
type: object
type: object