27137 lines
1 MiB
27137 lines
1 MiB
{
|
|
"components": {
|
|
"responses": {
|
|
"AddIssueFollowersResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AddIssueFollowersResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"CreateAccountHighlightResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CreateAccountHighlightResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"CreateAccountResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CreateAccountResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"CreateActivityResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CreateActivityResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"CreateArticleResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CreateArticleResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"CreateAttachmentResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CreateAttachmentResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"CreateCallRecordingResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CreateCallRecordingResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"CreateCollectionResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CreateCollectionResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"CreateContactResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CreateContactResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"CreateCustomFieldResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CreateCustomFieldResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"CreateIssueAIResponseResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CreateIssueAIResponseResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"CreateIssueNoteResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CreateIssueNoteResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"CreateIssueReplyResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CreateIssueReplyResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"CreateIssueResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CreateIssueResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"CreateIssueThreadResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CreateIssueThreadResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"CreateMilestoneResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CreateMilestoneResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"CreateMilestoneResponseBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Milestone"
|
|
}
|
|
}
|
|
},
|
|
"description": "",
|
|
"headers": {
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"CreateProjectResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CreateProjectResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"CreateProjectResponseBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Project"
|
|
}
|
|
}
|
|
},
|
|
"description": "",
|
|
"headers": {
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"CreateRouteRedirectResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CreateRouteRedirectResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"CreateTagResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CreateTagResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"CreateTaskResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CreateTaskResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"CreateTaskResponseBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Task"
|
|
}
|
|
}
|
|
},
|
|
"description": "",
|
|
"headers": {
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"CreateTeamResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CreateTeamResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"CreateTrainingDataResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CreateTrainingDataResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"DeleteAccountHighlightResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/DeleteAccountHighlightResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": "",
|
|
"headers": {
|
|
"Body": {
|
|
"schema": {
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"DeleteAccountResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/DeleteAccountResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"DeleteArticleResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/DeleteArticleResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"DeleteContactResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/DeleteContactResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"DeleteIssueResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/DeleteIssueResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"DeleteMilestoneResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/DeleteMilestoneResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"DeleteProjectResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/DeleteProjectResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"DeleteTagResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/DeleteTagResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"DeleteTaskResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/DeleteTaskResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"DeleteTrainingDataDocumentsResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/DeleteTrainingDataDocumentsResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"ErrorApiResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ErrorApiResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"GetAccountResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/GetAccountResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"GetAccountsResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/GetAccountsResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"GetActivityTypesResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/GetActivityTypesResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"GetArticleResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/GetArticleResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"GetArticlesResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/GetArticlesResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"GetCollectionResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/GetCollectionResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"GetCollectionsResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/GetCollectionsResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"GetContactResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/GetContactResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"GetContactsResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/GetContactsResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"GetCustomFieldResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/GetCustomFieldResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"GetCustomFieldsResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/GetCustomFieldsResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"GetIssueFollowersResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/GetIssueFollowersResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"GetIssueMessagesResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/GetIssueMessagesResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"GetIssueResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/GetIssueResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"GetIssueStatusesResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/GetIssueStatusesResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"GetIssueThreadsResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/GetIssueThreadsResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"GetIssuesResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/GetIssuesResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"GetKnowledgeBaseResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/GetKnowledgeBaseResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"GetKnowledgeBasesResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/GetKnowledgeBasesResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"GetMeResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/GetMeResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"GetTagResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/GetTagResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"GetTagsResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/GetTagsResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"GetTeamResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/GetTeamResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"GetTeamsResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/GetTeamsResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"GetTicketFormResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/GetTicketFormResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"GetTicketFormsResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/GetTicketFormsResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"GetTrainingDataResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/GetTrainingDataResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"GetUserResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/GetUserResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"GetUserRolesResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/GetUserRolesResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"GetUsersResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/GetUsersResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"ImportContactResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ImportContactResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"ImportIssueResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ImportIssueResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"ImportMessagesResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ImportMessagesResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"LinkExternalIssueResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/LinkExternalIssueResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"ListTrainingDataResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ListTrainingDataResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"RedactMessageResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/RedactMessageResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"SearchAccountsResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SearchAccountsResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"SearchContactsResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SearchContactsResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"SearchIssuesResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SearchIssuesResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"SearchUsersResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SearchUsersResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"SnoozeIssueResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SnoozeIssueResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"TrainingDataUploadResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/TrainingDataUploadResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": "",
|
|
"headers": {
|
|
"Body": {
|
|
"schema": {
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"UpdateAccountHighlightResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UpdateAccountHighlightResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"UpdateAccountResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UpdateAccountResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"UpdateAccountsResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UpdateAccountsResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"UpdateArticleResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UpdateArticleResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"UpdateContactResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UpdateContactResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"UpdateCustomFieldResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UpdateCustomFieldResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"UpdateIssueResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UpdateIssueResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"UpdateMilestoneResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UpdateMilestoneResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"UpdateMilestoneResponseBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Milestone"
|
|
}
|
|
}
|
|
},
|
|
"description": "",
|
|
"headers": {
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"UpdateProjectResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UpdateProjectResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"UpdateProjectResponseBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Project"
|
|
}
|
|
}
|
|
},
|
|
"description": "",
|
|
"headers": {
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"UpdateTagResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UpdateTagResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"UpdateTaskResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UpdateTaskResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"UpdateTaskResponseBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Task"
|
|
}
|
|
}
|
|
},
|
|
"description": "",
|
|
"headers": {
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"UpdateTeamResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UpdateTeamResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"UpdateUserResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UpdateUserResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"UploadAccountFileResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UploadAccountFileResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"UploadTrainingDataFileContentResponse": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/TrainingDataUploadResponseBody"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"schemas": {
|
|
"Account": {
|
|
"properties": {
|
|
"channels": {
|
|
"description": "Channels associated with the account.",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Channel"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Channels"
|
|
},
|
|
"created_at": {
|
|
"description": "The creation time of the account.",
|
|
"type": "string",
|
|
"x-go-name": "CreatedAt"
|
|
},
|
|
"crm_settings": {
|
|
"$ref": "#/components/schemas/CRMSettings"
|
|
},
|
|
"custom_fields": {
|
|
"additionalProperties": {
|
|
"$ref": "#/components/schemas/CustomFieldValue"
|
|
},
|
|
"description": "Custom fields associated with the account.",
|
|
"type": "object",
|
|
"x-go-name": "CustomFields"
|
|
},
|
|
"domain": {
|
|
"description": "The primary domain of the account.",
|
|
"type": "string",
|
|
"x-go-name": "Domain"
|
|
},
|
|
"domains": {
|
|
"description": "The list of domains associated with the account.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Domains"
|
|
},
|
|
"external_ids": {
|
|
"description": "External IDs associated with the account.",
|
|
"items": {
|
|
"$ref": "#/components/schemas/ExternalID"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "ExternalIDs"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the account.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"latest_customer_activity_time": {
|
|
"description": "The time of the latest customer activity.",
|
|
"type": "string",
|
|
"x-go-name": "LatestCustomerActivityTime"
|
|
},
|
|
"name": {
|
|
"description": "The name of the account.",
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"owner": {
|
|
"$ref": "#/components/schemas/MiniUser"
|
|
},
|
|
"primary_domain": {
|
|
"description": "The primary domain of the account.",
|
|
"type": "string",
|
|
"x-go-name": "PrimaryDomain"
|
|
},
|
|
"tags": {
|
|
"description": "Tags associated with the account.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Tags"
|
|
},
|
|
"type": {
|
|
"description": "The type of the account.",
|
|
"type": "string",
|
|
"x-go-name": "Type"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"AccountHighlight": {
|
|
"properties": {
|
|
"account_id": {
|
|
"description": "The ID of the account this highlight belongs to.",
|
|
"type": "string",
|
|
"x-go-name": "AccountID"
|
|
},
|
|
"content_html": {
|
|
"description": "The HTML content of the highlight.",
|
|
"type": "string",
|
|
"x-go-name": "ContentHTML"
|
|
},
|
|
"created_at": {
|
|
"description": "The timestamp of when the highlight was created.",
|
|
"type": "string",
|
|
"x-go-name": "CreatedAt"
|
|
},
|
|
"expires_at": {
|
|
"description": "The timestamp of when the highlight expires, if set.",
|
|
"type": "string",
|
|
"x-go-name": "ExpiresAt"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the account highlight.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"updated_at": {
|
|
"description": "The timestamp of when the highlight was last updated.",
|
|
"type": "string",
|
|
"x-go-name": "UpdatedAt"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"ActivityType": {
|
|
"properties": {
|
|
"icon_url": {
|
|
"description": "The icon url of the activity type.",
|
|
"type": "string",
|
|
"x-go-name": "IconURL"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the activity type.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"label": {
|
|
"description": "The label of the activity type.",
|
|
"type": "string",
|
|
"x-go-name": "Label"
|
|
},
|
|
"slug": {
|
|
"description": "The slug of the activity type.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"AddIssueFollowersRequestBody": {
|
|
"properties": {
|
|
"contact_ids": {
|
|
"description": "The IDs of contacts to add as followers.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "ContactIDs"
|
|
},
|
|
"operation": {
|
|
"description": "Operation to perform. Use \"add\" to add followers (default) or \"remove\" to remove followers.",
|
|
"type": "string",
|
|
"x-go-name": "Operation"
|
|
},
|
|
"user_ids": {
|
|
"description": "The IDs of users to add as followers.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "UserIDs"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"AddIssueFollowersResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"description": "The data payload of the response.",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Follower"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Data"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"Article": {
|
|
"properties": {
|
|
"current_published_content_html": {
|
|
"description": "The current published content of the article in HTML.",
|
|
"type": "string",
|
|
"x-go-name": "CurrentPublishedContentHTML"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the article.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"identifier": {
|
|
"description": "The identifier of the article",
|
|
"type": "string",
|
|
"x-go-name": "Identifier"
|
|
},
|
|
"is_published": {
|
|
"description": "IsPublished indicates if the article is published.",
|
|
"type": "boolean",
|
|
"x-go-name": "IsPublished"
|
|
},
|
|
"last_published_at": {
|
|
"description": "The last published at time of the article.",
|
|
"type": "string",
|
|
"x-go-name": "LastPublishedAt"
|
|
},
|
|
"slug": {
|
|
"description": "The slug of the article.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
},
|
|
"title": {
|
|
"description": "The name of the article.",
|
|
"type": "string",
|
|
"x-go-name": "Title"
|
|
},
|
|
"url": {
|
|
"description": "The URL of the article.",
|
|
"type": "string",
|
|
"x-go-name": "URL"
|
|
},
|
|
"visibility_config": {
|
|
"$ref": "#/components/schemas/VisibilityConfig"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"ArticleTranslationInput": {
|
|
"properties": {
|
|
"body_html": {
|
|
"description": "The translated HTML body of the article.",
|
|
"type": "string",
|
|
"x-go-name": "BodyHTML"
|
|
},
|
|
"language": {
|
|
"description": "The language code of the translation. Supported language codes can be found in https://docs.usepylon.com/pylon-docs/knowledge-base/translation#supported-language-codes.",
|
|
"type": "string",
|
|
"x-go-name": "Language"
|
|
},
|
|
"title": {
|
|
"description": "The translated title of the article.",
|
|
"type": "string",
|
|
"x-go-name": "Title"
|
|
}
|
|
},
|
|
"required": [
|
|
"body_html",
|
|
"language",
|
|
"title"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"Attachment": {
|
|
"properties": {
|
|
"description": {
|
|
"description": "The description of the attachment.",
|
|
"type": "string",
|
|
"x-go-name": "Description"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the attachment.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"name": {
|
|
"description": "The name of the attachment.",
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"url": {
|
|
"description": "The URL of the attachment.",
|
|
"type": "string",
|
|
"x-go-name": "URL"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"CRMDetails": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the CRM for that source.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"source": {
|
|
"description": "The source of the CRM.",
|
|
"type": "string",
|
|
"x-go-name": "Source"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"CRMSettings": {
|
|
"properties": {
|
|
"details": {
|
|
"description": "List of all CRM details for the account.",
|
|
"items": {
|
|
"$ref": "#/components/schemas/CRMDetails"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Details"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"CSATResponse": {
|
|
"properties": {
|
|
"comment": {
|
|
"description": "The comment of the CSAT response.",
|
|
"type": "string",
|
|
"x-go-name": "Comment"
|
|
},
|
|
"score": {
|
|
"description": "The score of the CSAT response.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "Score"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"CallRecording": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the call recording.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"url": {
|
|
"description": "The URL of the call recording.",
|
|
"type": "string",
|
|
"x-go-name": "URL"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"Channel": {
|
|
"properties": {
|
|
"channel_id": {
|
|
"description": "The ID of the channel. If this is a Microsoft Teams channel, the ID must be in the format of `{team_id}|{channel_id}`.",
|
|
"type": "string",
|
|
"x-go-name": "ChannelID"
|
|
},
|
|
"is_primary": {
|
|
"description": "Whether this channel is the primary channel for the account.",
|
|
"type": "boolean",
|
|
"x-go-name": "IsPrimary"
|
|
},
|
|
"mirror_to": {
|
|
"$ref": "#/components/schemas/MirrorChannel"
|
|
},
|
|
"source": {
|
|
"description": "The source, which can be one of `[\"slack\", \"microsoft_teams\", \"discord\"]`.",
|
|
"type": "string",
|
|
"x-go-name": "Source"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"Collection": {
|
|
"properties": {
|
|
"created_at": {
|
|
"description": "The created at time of the collection.",
|
|
"type": "string",
|
|
"x-go-name": "CreatedAt"
|
|
},
|
|
"description": {
|
|
"description": "The description of the collection.",
|
|
"type": "string",
|
|
"x-go-name": "Description"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the collection.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"parent_collection_id": {
|
|
"description": "The ID of the parent collection.",
|
|
"type": "string",
|
|
"x-go-name": "ParentCollectionID"
|
|
},
|
|
"slug": {
|
|
"description": "The slug of the collection.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
},
|
|
"title": {
|
|
"description": "The name of the collection.",
|
|
"type": "string",
|
|
"x-go-name": "Title"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"Contact": {
|
|
"properties": {
|
|
"account": {
|
|
"$ref": "#/components/schemas/MiniAccount"
|
|
},
|
|
"avatar_url": {
|
|
"description": "Avatar URL of the contact.",
|
|
"type": "string",
|
|
"x-go-name": "AvatarURL"
|
|
},
|
|
"custom_fields": {
|
|
"additionalProperties": {
|
|
"$ref": "#/components/schemas/CustomFieldValue"
|
|
},
|
|
"description": "Custom field values associated with the issue.",
|
|
"type": "object",
|
|
"x-go-name": "CustomFields"
|
|
},
|
|
"email": {
|
|
"description": "The primary email of the contact, if it exists.",
|
|
"type": "string",
|
|
"x-go-name": "Email"
|
|
},
|
|
"emails": {
|
|
"description": "The list of all emails of the contact.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Emails"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the contact.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"name": {
|
|
"description": "The name of the contact.",
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"portal_role": {
|
|
"description": "Portal role assigned to the contact.\n\n* no_access PortalRoleNoAccess\n\n* member PortalRoleMember\n\n* admin PortalRoleAdmin",
|
|
"enum": [
|
|
"no_access",
|
|
"member",
|
|
"admin"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "no_access PortalRoleNoAccess\nmember PortalRoleMember\nadmin PortalRoleAdmin",
|
|
"x-go-name": "PortalRole"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"CreateAccountHighlightRequestBody": {
|
|
"properties": {
|
|
"content_html": {
|
|
"description": "The HTML content for this highlight.",
|
|
"type": "string",
|
|
"x-go-name": "ContentHTML"
|
|
},
|
|
"expires_at": {
|
|
"description": "Optional RFC3339 timestamp of when this highlight will expire.",
|
|
"type": "string",
|
|
"x-go-name": "ExpiresAt"
|
|
}
|
|
},
|
|
"required": [
|
|
"content_html"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"CreateAccountHighlightResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/AccountHighlight"
|
|
},
|
|
"request_id": {
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"CreateAccountRequest": {
|
|
"properties": {
|
|
"channels": {
|
|
"description": "An array of channels to be linked to this account.",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Channel"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Channels"
|
|
},
|
|
"custom_fields": {
|
|
"description": "An array of custom fields to be used on this account.",
|
|
"items": {
|
|
"$ref": "#/components/schemas/CustomFieldValue"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "CustomFields"
|
|
},
|
|
"domain": {
|
|
"description": "Deprecated. Please use Domains and PrimaryDomain instead.",
|
|
"type": "string",
|
|
"x-go-name": "Domain"
|
|
},
|
|
"domains": {
|
|
"description": "The domains of the account, without any leading scheme, for example stripe.com. Must specify one domain as primary.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Domains"
|
|
},
|
|
"external_ids": {
|
|
"description": "An array of external IDs to be used on this account. If provided, the accounts external IDs will be updated to the given external IDs.",
|
|
"items": {
|
|
"$ref": "#/components/schemas/ExternalID"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "ExternalIDs"
|
|
},
|
|
"logo_url": {
|
|
"description": "The logo URL of the account. Must be a square .png, .jpg or .jpeg.",
|
|
"type": "string",
|
|
"x-go-name": "LogoURL"
|
|
},
|
|
"name": {
|
|
"description": "The name of the account.",
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"owner_id": {
|
|
"description": "The ID of the owner of the account.",
|
|
"type": "string",
|
|
"x-go-name": "OwnerID"
|
|
},
|
|
"primary_domain": {
|
|
"description": "Must be in the list of domains. If there are any domains, there must be exactly one primary domain.",
|
|
"type": "string",
|
|
"x-go-name": "PrimaryDomain"
|
|
},
|
|
"tags": {
|
|
"description": "An array of strings to use as tags on this account. If provided, the accounts tags will be updated to the given tags.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Tags"
|
|
}
|
|
},
|
|
"required": [
|
|
"name"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"CreateAccountResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/Account"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"CreateActivityRequest": {
|
|
"properties": {
|
|
"body_html": {
|
|
"description": "Optional HTML content to display in the activity.",
|
|
"type": "string",
|
|
"x-go-name": "BodyHTML"
|
|
},
|
|
"contact_id": {
|
|
"description": "Optional contact ID of the actor of the activity.",
|
|
"type": "string",
|
|
"x-go-name": "ContactID"
|
|
},
|
|
"happened_at": {
|
|
"description": "Timestamp (RFC3339) of when the activity happened. Defaults to the current time if empty.",
|
|
"type": "string",
|
|
"x-go-name": "HappenedAt"
|
|
},
|
|
"link": {
|
|
"description": "Optional link to add to the activity.",
|
|
"type": "string",
|
|
"x-go-name": "Link"
|
|
},
|
|
"link_text": {
|
|
"description": "Optional link text to display on the activity. Defaults to \"Open link\" if not provided. Applies only if a link is provided.",
|
|
"type": "string",
|
|
"x-go-name": "LinkText"
|
|
},
|
|
"slug": {
|
|
"description": "The slug of the activity to create.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
},
|
|
"user_id": {
|
|
"description": "Optional user ID of the actor of the activity.",
|
|
"type": "string",
|
|
"x-go-name": "UserID"
|
|
}
|
|
},
|
|
"required": [
|
|
"slug"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"CreateActivityResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/CreateActivityResponseData"
|
|
},
|
|
"request_id": {
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"CreateActivityResponseData": {
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean",
|
|
"x-go-name": "Success"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"CreateArticleRequestBody": {
|
|
"properties": {
|
|
"author_user_id": {
|
|
"description": "The ID of the user attributed as the author of the article.",
|
|
"type": "string",
|
|
"x-go-name": "AuthorUserId"
|
|
},
|
|
"body_html": {
|
|
"description": "The HTML body of the article.",
|
|
"type": "string",
|
|
"x-go-name": "BodyHTML"
|
|
},
|
|
"collection_id": {
|
|
"description": "The id of the collection associated to the article",
|
|
"type": "string",
|
|
"x-go-name": "CollectionID"
|
|
},
|
|
"is_published": {
|
|
"description": "Whether the article should be published. Defaults to false.",
|
|
"type": "boolean",
|
|
"x-go-name": "IsPublished"
|
|
},
|
|
"is_unlisted": {
|
|
"description": "Whether the article can only be accessible only via direct link. Defaults to false.",
|
|
"type": "boolean",
|
|
"x-go-name": "IsUnlisted"
|
|
},
|
|
"slug": {
|
|
"description": "The slug of the article. Defaults to a slug based on the title.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
},
|
|
"title": {
|
|
"description": "The title of the article.",
|
|
"type": "string",
|
|
"x-go-name": "Title"
|
|
},
|
|
"translations": {
|
|
"description": "Translations of the article content in different languages",
|
|
"items": {
|
|
"$ref": "#/components/schemas/ArticleTranslationInput"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Translations"
|
|
},
|
|
"visibility_config": {
|
|
"$ref": "#/components/schemas/VisibilityConfig"
|
|
}
|
|
},
|
|
"required": [
|
|
"author_user_id",
|
|
"body_html",
|
|
"title"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"CreateArticleResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/Article"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"CreateAttachmentResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/Attachment"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"CreateCallRecordingMessageRequest": {
|
|
"properties": {
|
|
"message_at_ms": {
|
|
"description": "The timestamp of the message in milliseconds from the start of the recording.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "MessageAtMs"
|
|
},
|
|
"message_content": {
|
|
"description": "The content of the message.",
|
|
"type": "string",
|
|
"x-go-name": "MessageContent"
|
|
},
|
|
"speaker_email": {
|
|
"description": "The email of the speaker.",
|
|
"type": "string",
|
|
"x-go-name": "SpeakerEmail"
|
|
},
|
|
"speaker_name": {
|
|
"description": "The name of the speaker.",
|
|
"type": "string",
|
|
"x-go-name": "SpeakerName"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"CreateCallRecordingRequest": {
|
|
"properties": {
|
|
"app_type": {
|
|
"description": "The app type of the call recording.",
|
|
"type": "string",
|
|
"x-go-name": "AppType"
|
|
},
|
|
"call_recording_messages": {
|
|
"description": "The structured messages for custom call integration.",
|
|
"items": {
|
|
"$ref": "#/components/schemas/CreateCallRecordingMessageRequest"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "CallRecordingMessages"
|
|
},
|
|
"end_time": {
|
|
"description": "The end time of the call recording in the format of 2025-01-01T00:00:00Z.",
|
|
"type": "string",
|
|
"x-go-name": "EndTime"
|
|
},
|
|
"participant_emails": {
|
|
"description": "The emails of all participants in the call recording.",
|
|
"type": "string",
|
|
"x-go-name": "ParticipantEmails"
|
|
},
|
|
"primary_user_email": {
|
|
"description": "The email of the primary user in the call recording.",
|
|
"type": "string",
|
|
"x-go-name": "PrimaryUserEmail"
|
|
},
|
|
"recording_id": {
|
|
"description": "The external ID of the call recording.",
|
|
"type": "string",
|
|
"x-go-name": "RecordingID"
|
|
},
|
|
"recording_url": {
|
|
"description": "The URL of the call recording.",
|
|
"type": "string",
|
|
"x-go-name": "RecordingURL"
|
|
},
|
|
"start_time": {
|
|
"description": "The start time of the call recording in the format of 2025-01-01T00:00:00Z.",
|
|
"type": "string",
|
|
"x-go-name": "StartTime"
|
|
},
|
|
"title": {
|
|
"description": "The title of the call recording.",
|
|
"type": "string",
|
|
"x-go-name": "Title"
|
|
}
|
|
},
|
|
"required": [
|
|
"app_type"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"CreateCallRecordingResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/CallRecording"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"CreateCollectionRequestBody": {
|
|
"properties": {
|
|
"description": {
|
|
"description": "Description of the collection.",
|
|
"type": "string",
|
|
"x-go-name": "Description"
|
|
},
|
|
"parent_collection_id": {
|
|
"description": "The id of the collection associated to the article",
|
|
"type": "string",
|
|
"x-go-name": "ParentCollectionID"
|
|
},
|
|
"slug": {
|
|
"description": "The slug of the collection. Defaults to a slug based on the title.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
},
|
|
"title": {
|
|
"description": "The title of the collection.",
|
|
"type": "string",
|
|
"x-go-name": "Title"
|
|
}
|
|
},
|
|
"required": [
|
|
"title"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"CreateCollectionResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/Collection"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"CreateContactRequestBody": {
|
|
"properties": {
|
|
"account_external_id": {
|
|
"description": "The external ID of the account that this contact belongs to. Cannot be used together with account_id.",
|
|
"type": "string",
|
|
"x-go-name": "AccountExternalID"
|
|
},
|
|
"account_id": {
|
|
"description": "The account that this contact belongs to.",
|
|
"type": "string",
|
|
"x-go-name": "AccountID"
|
|
},
|
|
"avatar_url": {
|
|
"description": "The avatar URL of the contact. Must be a square .png, .jpg or .jpeg.",
|
|
"type": "string",
|
|
"x-go-name": "AvatarUrl"
|
|
},
|
|
"custom_fields": {
|
|
"description": "An array of custom fields to be applied to this contact.",
|
|
"items": {
|
|
"$ref": "#/components/schemas/CustomFieldValue"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "CustomFields"
|
|
},
|
|
"email": {
|
|
"description": "The email of the contact.",
|
|
"type": "string",
|
|
"x-go-name": "Email"
|
|
},
|
|
"name": {
|
|
"description": "The name of the contact.",
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"portal_role": {
|
|
"description": "The portal role to assign to the contact. If not provided uses the default portal role from the portal settings.\n\n* no_access PortalRoleNoAccess\n\n* member PortalRoleMember\n\n* admin PortalRoleAdmin",
|
|
"enum": [
|
|
"no_access",
|
|
"member",
|
|
"admin"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "no_access PortalRoleNoAccess\nmember PortalRoleMember\nadmin PortalRoleAdmin",
|
|
"x-go-name": "PortalRole"
|
|
}
|
|
},
|
|
"required": [
|
|
"name"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"CreateContactResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/Contact"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"CreateCustomFieldRequestBody": {
|
|
"properties": {
|
|
"default_value": {
|
|
"description": "The default value for single-valued custom fields.",
|
|
"type": "string",
|
|
"x-go-name": "DefaultValue"
|
|
},
|
|
"default_values": {
|
|
"description": "The default values for multi-valued custom fields.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "DefaultValues"
|
|
},
|
|
"description": {
|
|
"description": "The description of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Description"
|
|
},
|
|
"label": {
|
|
"description": "The label of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Label"
|
|
},
|
|
"object_type": {
|
|
"description": "The object type of the custom field. Can be \"account\", \"issue\", or \"contact\"",
|
|
"type": "string",
|
|
"x-go-name": "ObjectType"
|
|
},
|
|
"select_options": {
|
|
"description": "The list options of the select custom field. This is only present for select and multiselect custom fields.",
|
|
"items": {
|
|
"$ref": "#/components/schemas/CustomFieldDefinitionSelectOption"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "SelectOptions"
|
|
},
|
|
"slug": {
|
|
"description": "The slug of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
},
|
|
"type": {
|
|
"description": "The type of the custom field. Can be one of `text`, `number`, `decimal`, `boolean`, `date`, `datetime`, `user`, `url`, `select`, or `multiselect`.",
|
|
"type": "string",
|
|
"x-go-name": "Type"
|
|
}
|
|
},
|
|
"required": [
|
|
"label",
|
|
"object_type",
|
|
"type"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"CreateCustomFieldResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/CustomFieldDefinition"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"CreateIssueAIResponseRequestBody": {
|
|
"properties": {
|
|
"ai_agent_id": {
|
|
"description": "The ID of the AI agent to use to create the AI response.",
|
|
"type": "string",
|
|
"x-go-name": "AIAgentID"
|
|
},
|
|
"post_as_internal_note": {
|
|
"description": "Whether to post the AI response as an internal note on the issue.",
|
|
"type": "boolean",
|
|
"x-go-name": "PostAsInternalNote"
|
|
}
|
|
},
|
|
"required": [
|
|
"ai_agent_id"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"CreateIssueAIResponseResponseBody": {
|
|
"properties": {
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
},
|
|
"response_html": {
|
|
"description": "The HTML content of the AI response.",
|
|
"type": "string",
|
|
"x-go-name": "ResponseHTML"
|
|
},
|
|
"response_valid": {
|
|
"description": "Whether the AI was able to answer the question.",
|
|
"type": "boolean",
|
|
"x-go-name": "ResponseValid"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"CreateIssueNoteRequestBody": {
|
|
"properties": {
|
|
"attachment_urls": {
|
|
"description": "An array of attachment URLs to attach to this issue.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "AttachmentURLs"
|
|
},
|
|
"body_html": {
|
|
"description": "The body of the message in HTML.",
|
|
"type": "string",
|
|
"x-go-name": "BodyHTML"
|
|
},
|
|
"message_id": {
|
|
"description": "The ID of the message to reply to. This message must be an internal note. You can find this from the GET /issues/{id}/messages endpoint. Either this or thread_id must be provided.",
|
|
"type": "string",
|
|
"x-go-name": "MessageID"
|
|
},
|
|
"thread_id": {
|
|
"description": "The ID of the thread to post the note to. You can find this from the GET /issues/{id}/threads endpoint. Either this or message_id must be provided.",
|
|
"type": "string",
|
|
"x-go-name": "ThreadID"
|
|
},
|
|
"user_id": {
|
|
"description": "Optional user ID to post the message as. If not provided, the API token user will be used.",
|
|
"type": "string",
|
|
"x-go-name": "UserID"
|
|
}
|
|
},
|
|
"required": [
|
|
"body_html"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"CreateIssueNoteResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/CreateIssueNoteResponseData"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"CreateIssueNoteResponseData": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the message.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"issue_id": {
|
|
"description": "The ID of the issue.",
|
|
"type": "string",
|
|
"x-go-name": "IssueID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"CreateIssueReplyEmailInfo": {
|
|
"properties": {
|
|
"bcc_emails": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "BccEmails"
|
|
},
|
|
"cc_emails": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "CcEmails"
|
|
},
|
|
"to_emails": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "ToEmails"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"CreateIssueReplyRequestBody": {
|
|
"properties": {
|
|
"attachment_urls": {
|
|
"description": "An array of attachment URLs to attach to this issue.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "AttachmentURLs"
|
|
},
|
|
"body_html": {
|
|
"description": "The body of the message in HTML.",
|
|
"type": "string",
|
|
"x-go-name": "BodyHTML"
|
|
},
|
|
"contact_id": {
|
|
"description": "Optional contact ID to post the message as. Only one of user_id or contact_id can be provided.",
|
|
"type": "string",
|
|
"x-go-name": "ContactID"
|
|
},
|
|
"email_info": {
|
|
"$ref": "#/components/schemas/CreateIssueReplyEmailInfo"
|
|
},
|
|
"message_id": {
|
|
"description": "The ID of the message to reply to.",
|
|
"type": "string",
|
|
"x-go-name": "MessageID"
|
|
},
|
|
"user_id": {
|
|
"description": "Optional user ID to post the message as. Only one of user_id or contact_id can be provided.",
|
|
"type": "string",
|
|
"x-go-name": "UserID"
|
|
}
|
|
},
|
|
"required": [
|
|
"body_html",
|
|
"message_id"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"CreateIssueReplyResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/CreateIssueReplyResponseData"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"CreateIssueReplyResponseData": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the message.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"issue_id": {
|
|
"description": "The ID of the issue.",
|
|
"type": "string",
|
|
"x-go-name": "IssueID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"CreateIssueRequest": {
|
|
"properties": {
|
|
"account_id": {
|
|
"description": "The account that this issue belongs to.",
|
|
"type": "string",
|
|
"x-go-name": "AccountID"
|
|
},
|
|
"assignee_id": {
|
|
"description": "The user the issue should be assigned to.",
|
|
"type": "string",
|
|
"x-go-name": "AssigneeID"
|
|
},
|
|
"attachment_urls": {
|
|
"description": "An array of attachment URLs to attach to this issue.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "AttachmentURLs"
|
|
},
|
|
"body_html": {
|
|
"description": "The HTML content of the body of the issue.",
|
|
"type": "string",
|
|
"x-go-name": "BodyHTML"
|
|
},
|
|
"contact_id": {
|
|
"description": "Optional contact ID to post the message as. Only one of user_id or contact_id can be provided.",
|
|
"type": "string",
|
|
"x-go-name": "ContactID"
|
|
},
|
|
"created_at": {
|
|
"description": "Timestamp of when the issue was created. If not specified, the current time will be used. (RFC3339)",
|
|
"type": "string",
|
|
"x-go-name": "CreatedAt"
|
|
},
|
|
"custom_fields": {
|
|
"description": "An array of custom fields to be used on this issue.",
|
|
"items": {
|
|
"$ref": "#/components/schemas/CustomFieldValue"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "CustomFields"
|
|
},
|
|
"destination_metadata": {
|
|
"$ref": "#/components/schemas/DestinationMetadata"
|
|
},
|
|
"priority": {
|
|
"description": "The priority of the issue. Can be one of: urgent, high, medium, or low.",
|
|
"type": "string",
|
|
"x-go-name": "Priority"
|
|
},
|
|
"requester_avatar_url": {
|
|
"description": "The URL of an avatar of the requester.",
|
|
"type": "string",
|
|
"x-go-name": "RequesterAvatarUrl"
|
|
},
|
|
"requester_email": {
|
|
"description": "The email of the user that this issue is on behalf of. Include one of requester_id or requester_email to create an issue with a requester.",
|
|
"type": "string",
|
|
"x-go-name": "RequesterEmail"
|
|
},
|
|
"requester_id": {
|
|
"description": "The requester that this issue is on behalf of. Include one of requester_id or requester_email to create an issue with a requester.",
|
|
"type": "string",
|
|
"x-go-name": "RequesterID"
|
|
},
|
|
"requester_name": {
|
|
"description": "The full name of the user that this issue is on behalf of.",
|
|
"type": "string",
|
|
"x-go-name": "RequesterName"
|
|
},
|
|
"tags": {
|
|
"description": "An array of strings to use as tags on this issue. If provided, the issue tags will be updated to the given tags.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Tags"
|
|
},
|
|
"team_id": {
|
|
"description": "The ID of the team this issue should be assigned to.",
|
|
"type": "string",
|
|
"x-go-name": "TeamID"
|
|
},
|
|
"title": {
|
|
"description": "The title of the issue.",
|
|
"type": "string",
|
|
"x-go-name": "Title"
|
|
},
|
|
"user_id": {
|
|
"description": "Optional user ID to post the message as. Only one of user_id or contact_id can be provided.",
|
|
"type": "string",
|
|
"x-go-name": "UserID"
|
|
}
|
|
},
|
|
"required": [
|
|
"body_html",
|
|
"title"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"CreateIssueResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/Issue"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"CreateIssueThreadRequestBody": {
|
|
"properties": {
|
|
"name": {
|
|
"description": "The name of the thread.",
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"CreateIssueThreadResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/IssueThread"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"CreateMilestoneResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/Milestone"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"CreateProjectResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/Project"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"CreateRouteRedirectRequestBody": {
|
|
"properties": {
|
|
"from_path": {
|
|
"description": "The path to redirect from.",
|
|
"type": "string",
|
|
"x-go-name": "FromPath"
|
|
},
|
|
"language": {
|
|
"description": "Language of the object to redirect to. If not specified, the default language of the knowledge base will be used.",
|
|
"type": "string",
|
|
"x-go-name": "Language"
|
|
},
|
|
"object_id": {
|
|
"description": "The ID of the object to redirect to.",
|
|
"type": "string",
|
|
"x-go-name": "ObjectID"
|
|
},
|
|
"object_type": {
|
|
"description": "The type of the object to redirect to. This must be \"article\".",
|
|
"type": "string",
|
|
"x-go-name": "ObjectType"
|
|
}
|
|
},
|
|
"required": [
|
|
"from_path",
|
|
"object_id",
|
|
"object_type"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"CreateRouteRedirectResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/RouteRedirect"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"CreateTagRequestBody": {
|
|
"properties": {
|
|
"hex_color": {
|
|
"description": "The hex code of the tag's color.",
|
|
"type": "string",
|
|
"x-go-name": "HexColor"
|
|
},
|
|
"object_type": {
|
|
"description": "The object type of the associated object. Can be \"account\", \"issue\", or \"contact\".",
|
|
"type": "string",
|
|
"x-go-name": "ObjectType"
|
|
},
|
|
"value": {
|
|
"description": "The tag value.",
|
|
"type": "string",
|
|
"x-go-name": "Value"
|
|
}
|
|
},
|
|
"required": [
|
|
"object_type",
|
|
"value"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"CreateTagResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/Tag"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"CreateTaskResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/Task"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"CreateTeamRequestBody": {
|
|
"properties": {
|
|
"name": {
|
|
"description": "The name of the team.",
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"user_ids": {
|
|
"description": "The list of user IDs to add to the team.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "UserIDs"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"CreateTeamResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/Team"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"CreateTrainingDataRequestBody": {
|
|
"properties": {
|
|
"training_data_name": {
|
|
"description": "The name of the training data container.",
|
|
"type": "string",
|
|
"x-go-name": "TrainingDataName"
|
|
},
|
|
"visibility": {
|
|
"description": "The visibility of the training data. Defaults to \"everyone\".\n\nValid values: \"everyone\", \"user_only\", \"ai_agent_only\"",
|
|
"type": "string",
|
|
"x-go-name": "Visibility"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"CreateTrainingDataResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/TrainingData"
|
|
},
|
|
"request_id": {
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"CustomFieldDefinition": {
|
|
"properties": {
|
|
"created_at": {
|
|
"description": "When the custom field was created.",
|
|
"type": "string",
|
|
"x-go-name": "CreatedAt"
|
|
},
|
|
"default_value": {
|
|
"description": "The default value for single-valued custom fields.",
|
|
"type": "string",
|
|
"x-go-name": "DefaultValue"
|
|
},
|
|
"default_values": {
|
|
"description": "The default values for multi-valued custom fields.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "DefaultValues"
|
|
},
|
|
"description": {
|
|
"description": "The description of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Description"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"is_read_only": {
|
|
"description": "Whether the custom field is read only. Fields synced from apps and integrations are read-only.",
|
|
"type": "boolean",
|
|
"x-go-name": "IsReadOnly"
|
|
},
|
|
"label": {
|
|
"description": "The label of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Label"
|
|
},
|
|
"number_metadata": {
|
|
"$ref": "#/components/schemas/NumberMetadata"
|
|
},
|
|
"object_type": {
|
|
"description": "The type of object this custom field is for. Can be \"account\", \"issue\", or \"contact\".",
|
|
"type": "string",
|
|
"x-go-name": "ObjectType"
|
|
},
|
|
"select_metadata": {
|
|
"$ref": "#/components/schemas/SelectMetadata"
|
|
},
|
|
"slug": {
|
|
"description": "The slug of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
},
|
|
"source": {
|
|
"description": "The source of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Source"
|
|
},
|
|
"type": {
|
|
"description": "The type of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Type"
|
|
},
|
|
"updated_at": {
|
|
"description": "When the custom field was last updated.",
|
|
"type": "string",
|
|
"x-go-name": "UpdatedAt"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"CustomFieldDefinitionSelectOption": {
|
|
"properties": {
|
|
"label": {
|
|
"description": "The label of the option.",
|
|
"type": "string",
|
|
"x-go-name": "Label"
|
|
},
|
|
"slug": {
|
|
"description": "The slug of the option.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"CustomFieldValue": {
|
|
"properties": {
|
|
"slug": {
|
|
"description": "The slug of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
},
|
|
"value": {
|
|
"description": "The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint.",
|
|
"type": "string",
|
|
"x-go-name": "Value"
|
|
},
|
|
"values": {
|
|
"description": "The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Values"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"DeleteAccountHighlightResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/DeleteAccountHighlightResponseData"
|
|
},
|
|
"request_id": {
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"DeleteAccountHighlightResponseData": {
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean",
|
|
"x-go-name": "Success"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"DeleteAccountResponseBody": {
|
|
"properties": {
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"DeleteArticleResponseBody": {
|
|
"properties": {
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"DeleteContactResponseBody": {
|
|
"properties": {
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"DeleteIssueResponseBody": {
|
|
"properties": {
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"DeleteMilestoneResponseBody": {
|
|
"properties": {
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"DeleteProjectResponseBody": {
|
|
"properties": {
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"DeleteTagResponseBody": {
|
|
"properties": {
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"DeleteTaskResponseBody": {
|
|
"properties": {
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"DeleteTrainingDataDocumentsResponseBody": {
|
|
"properties": {
|
|
"deleted_count": {
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "DeletedCount"
|
|
},
|
|
"request_id": {
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"DestinationMetadata": {
|
|
"description": "You can configure the issue to contact the requester via email, Slack, in-app chat, or not at all.\n\nIf a destination other than `internal` is specified, a message with the issue's BodyHTML will be delivered to the requester. If you don't wish to immediately contact the requester, you can specify the `internal` destination.",
|
|
"properties": {
|
|
"chat_widget_app_id": {
|
|
"description": "The ID of the chat widget app to use for in-app chat.",
|
|
"type": "string",
|
|
"x-go-name": "ChatWidgetAppID"
|
|
},
|
|
"destination": {
|
|
"description": "The destination type of the issue. Can be \"email\", \"slack\", \"in_app_chat\", or \"internal\". Defaults to \"internal\".\n\n* slack APIIssueDestinationSlack Deliver to the issue's account's Slack channel.\n\n* email APIIssueDestinationEmail Deliver messages to the issue requester via email.\n\n* in_app_chat APIIssueDestinationChatWidget Deliver messages to the issue requester via in-app chat.\n\n* internal APIIssueDestinationInternal Keep the issue internal and don't contact the requester at all.",
|
|
"enum": [
|
|
"slack",
|
|
"email",
|
|
"in_app_chat",
|
|
"internal"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "slack APIIssueDestinationSlack Deliver to the issue's account's Slack channel.\nemail APIIssueDestinationEmail Deliver messages to the issue requester via email.\nin_app_chat APIIssueDestinationChatWidget Deliver messages to the issue requester via in-app chat.\ninternal APIIssueDestinationInternal Keep the issue internal and don't contact the requester at all.",
|
|
"x-go-name": "Destination"
|
|
},
|
|
"email": {
|
|
"description": "The email that emails to the requester will be sent from. You must configure an email app in Pylon with this address.",
|
|
"type": "string",
|
|
"x-go-name": "Email"
|
|
},
|
|
"email_bccs": {
|
|
"description": "Emails that will be BCCed on emails to the requester.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "EmailBCCs"
|
|
},
|
|
"email_ccs": {
|
|
"description": "Emails that will be CCed on emails to the requester.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "EmailCCs"
|
|
}
|
|
},
|
|
"title": "DestinationMetadata specifies if/how communication will be delivered to the customer.",
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"EmailMessageInfo": {
|
|
"properties": {
|
|
"bcc_emails": {
|
|
"description": "The email addresses of the BCC recipients of the message.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "BccEmails"
|
|
},
|
|
"cc_emails": {
|
|
"description": "The email addresses of the CC recipients of the message.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "CcEmails"
|
|
},
|
|
"from_email": {
|
|
"description": "The email address of the sender of the message.",
|
|
"type": "string",
|
|
"x-go-name": "FromEmail"
|
|
},
|
|
"to_emails": {
|
|
"description": "The email addresses of the recipients of the message.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "ToEmails"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"ErrorApiResponseBody": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"ExternalID": {
|
|
"properties": {
|
|
"external_id": {
|
|
"description": "The external ID. Must be unique per object type (ex. account).",
|
|
"type": "string",
|
|
"x-go-name": "ExternalID"
|
|
},
|
|
"label": {
|
|
"description": "The label of the external ID. Must be unique per object.",
|
|
"type": "string",
|
|
"x-go-name": "Label"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"ExternalIssue": {
|
|
"properties": {
|
|
"external_id": {
|
|
"description": "The external ID of the external issue.\n\nJira: ID of the issue (autoincrementing number from 10000).\n\nGitHub: Owner/Repo/IssueID.\n\nLinear: ID of the issue (UUID).\n\nAsana: ID of the task (Long number).",
|
|
"type": "string",
|
|
"x-go-name": "ExternalID"
|
|
},
|
|
"link": {
|
|
"description": "Link to the product issue.",
|
|
"type": "string",
|
|
"x-go-name": "Link"
|
|
},
|
|
"source": {
|
|
"description": "The source of the external issue.",
|
|
"type": "string",
|
|
"x-go-name": "Source"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"Filter": {
|
|
"properties": {
|
|
"field": {
|
|
"description": "The field for this filter. For allowed fields, see the documentation for\n\nthe specific endpoint you are using.\n\nFor non-compound filters (any operators other than \"and\" or \"or\"),\n\nField must be set, along with either Value or Values, depending on the operator.",
|
|
"type": "string",
|
|
"x-go-name": "Field"
|
|
},
|
|
"operator": {
|
|
"description": "The operator for this filter.\n\n* equals FilterOperatorEquals Matches objects that are exactly equal to the value in the field.\n\n* not_equals FilterOperatorNotEquals Matches objects that are not exactly equal to the value in the field.\n\n* contains FilterOperatorContains For a multi-valued field, such as tags, this operator will match objects that contain any of the values in the field.\n\n* does_not_contain FilterOperatorDoesNotContain For a multi-valued field, such as tags, this operator will match objects that do not contain any of the values in the field.\n\n* in FilterOperatorIn Matches objects if the field is one of several possible values, as specified in the values array.\n\n* not_in FilterOperatorNotIn Matches objects if the field is none of several possible values, as specified in the values array.\n\n* and FilterOperatorAnd Matches objects only if all subfilters match.\n\n* or FilterOperatorOr Matches objects if any subfilter matches.\n\n* time_is_after FilterOperatorTimeIsAfter Matches objects if the field is after the given time.\n\n* time_is_before FilterOperatorTimeIsBefore Matches objects if the field is before the given time.\n\n* time_range FilterOperatorTimeRange Matches objects if the field is between the given times.\n\n* string_contains FilterOperatorStringContains Matches objects if the field contains the given string.\n\n* string_does_not_contain FilterOperatorStringDoesNotContain Matches objects if the field does not contain the given string.\n\n* is_set FilterOperatorIsSet FilterOperatorIsSet matches objects if the field is set.\n\n* is_unset FilterOperatorIsUnset FilterOperatorIsUnset matches objects if the field is unset.",
|
|
"enum": [
|
|
"equals",
|
|
"not_equals",
|
|
"contains",
|
|
"does_not_contain",
|
|
"in",
|
|
"not_in",
|
|
"and",
|
|
"or",
|
|
"time_is_after",
|
|
"time_is_before",
|
|
"time_range",
|
|
"string_contains",
|
|
"string_does_not_contain",
|
|
"is_set",
|
|
"is_unset"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "equals FilterOperatorEquals Matches objects that are exactly equal to the value in the field.\nnot_equals FilterOperatorNotEquals Matches objects that are not exactly equal to the value in the field.\ncontains FilterOperatorContains For a multi-valued field, such as tags, this operator will match objects that contain any of the values in the field.\ndoes_not_contain FilterOperatorDoesNotContain For a multi-valued field, such as tags, this operator will match objects that do not contain any of the values in the field.\nin FilterOperatorIn Matches objects if the field is one of several possible values, as specified in the values array.\nnot_in FilterOperatorNotIn Matches objects if the field is none of several possible values, as specified in the values array.\nand FilterOperatorAnd Matches objects only if all subfilters match.\nor FilterOperatorOr Matches objects if any subfilter matches.\ntime_is_after FilterOperatorTimeIsAfter Matches objects if the field is after the given time.\ntime_is_before FilterOperatorTimeIsBefore Matches objects if the field is before the given time.\ntime_range FilterOperatorTimeRange Matches objects if the field is between the given times.\nstring_contains FilterOperatorStringContains Matches objects if the field contains the given string.\nstring_does_not_contain FilterOperatorStringDoesNotContain Matches objects if the field does not contain the given string.\nis_set FilterOperatorIsSet FilterOperatorIsSet matches objects if the field is set.\nis_unset FilterOperatorIsUnset FilterOperatorIsUnset matches objects if the field is unset.",
|
|
"x-go-name": "Operator"
|
|
},
|
|
"subfilters": {
|
|
"description": "Sub-filters for this filter. Valid only when operator is \"and\" or \"or\".\n\nThe maximum allowed depth for a tree of filters is 3.",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Filter"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Subfilters"
|
|
},
|
|
"value": {
|
|
"description": "The value for this filter. Only used for single-valued operators\n\n(\"equals\", \"not_equals\", \"contains\", \"does_not_contain\")",
|
|
"type": "string",
|
|
"x-go-name": "Value"
|
|
},
|
|
"values": {
|
|
"description": "The values for this filter. Only used for multi-valued operators (\"in\", \"not_in\").",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Values"
|
|
}
|
|
},
|
|
"required": [
|
|
"field",
|
|
"operator"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"Follower": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the follower. Either a user or contact ID.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"type": {
|
|
"description": "The type of follower. Either \"user\" or \"contact\".\n\n* user FollowerTypeUser\n\n* contact FollowerTypeContact",
|
|
"enum": [
|
|
"user",
|
|
"contact"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "user FollowerTypeUser\ncontact FollowerTypeContact",
|
|
"x-go-name": "Type"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"GetAccountResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/Account"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"GetAccountsResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"description": "The data payload of the response.",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Account"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Data"
|
|
},
|
|
"pagination": {
|
|
"$ref": "#/components/schemas/Pagination"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"GetActivityTypesResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"description": "The data payload of the response.",
|
|
"items": {
|
|
"$ref": "#/components/schemas/ActivityType"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Data"
|
|
},
|
|
"pagination": {
|
|
"$ref": "#/components/schemas/Pagination"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"GetArticleResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/Article"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"GetArticlesResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"description": "The data payload of the response.",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Article"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Data"
|
|
},
|
|
"pagination": {
|
|
"$ref": "#/components/schemas/Pagination"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"GetCollectionResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/Collection"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"GetCollectionsResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"description": "The data payload of the response.",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Collection"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Data"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"GetContactResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/Contact"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"GetContactsResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"description": "The data payload of the response.",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Contact"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Data"
|
|
},
|
|
"pagination": {
|
|
"$ref": "#/components/schemas/Pagination"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"GetCustomFieldResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/CustomFieldDefinition"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"GetCustomFieldsResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"description": "The data payload of the response.",
|
|
"items": {
|
|
"$ref": "#/components/schemas/CustomFieldDefinition"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Data"
|
|
},
|
|
"pagination": {
|
|
"$ref": "#/components/schemas/Pagination"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"GetIssueFollowersResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"description": "The data payload of the response.",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Follower"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Data"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"GetIssueMessagesResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"description": "The data payload of the response.",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Message"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Data"
|
|
},
|
|
"pagination": {
|
|
"$ref": "#/components/schemas/Pagination"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"GetIssueResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/Issue"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"GetIssueStatusesResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"description": "The data payload of the response.",
|
|
"items": {
|
|
"$ref": "#/components/schemas/IssueStatus"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Data"
|
|
},
|
|
"pagination": {
|
|
"$ref": "#/components/schemas/Pagination"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"GetIssueThreadsResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"description": "The data payload of the response.",
|
|
"items": {
|
|
"$ref": "#/components/schemas/IssueThread"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Data"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"GetIssuesResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"description": "The data payload of the response.",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Issue"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Data"
|
|
},
|
|
"pagination": {
|
|
"$ref": "#/components/schemas/Pagination"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"GetKnowledgeBaseResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/KnowledgeBase"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"GetKnowledgeBasesResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"description": "The data payload of the response.",
|
|
"items": {
|
|
"$ref": "#/components/schemas/KnowledgeBase"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Data"
|
|
},
|
|
"pagination": {
|
|
"$ref": "#/components/schemas/Pagination"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"GetMeResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/Me"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"GetTagResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/Tag"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"GetTagsResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"description": "The data payload of the response.",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Tag"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Data"
|
|
},
|
|
"pagination": {
|
|
"$ref": "#/components/schemas/Pagination"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"GetTeamResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/Team"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"GetTeamsResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"description": "The data payload of the response.",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Team"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Data"
|
|
},
|
|
"pagination": {
|
|
"$ref": "#/components/schemas/Pagination"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"GetTicketFormResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/TicketForm"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"GetTicketFormsResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"description": "The data payload of the response.",
|
|
"items": {
|
|
"$ref": "#/components/schemas/TicketForm"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Data"
|
|
},
|
|
"pagination": {
|
|
"$ref": "#/components/schemas/Pagination"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"GetTrainingDataResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/TrainingData"
|
|
},
|
|
"request_id": {
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"GetUserResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/User"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"GetUserRolesResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"description": "The data payload of the response.",
|
|
"items": {
|
|
"$ref": "#/components/schemas/UserRole"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Data"
|
|
},
|
|
"pagination": {
|
|
"$ref": "#/components/schemas/Pagination"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"GetUsersResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"description": "The data payload of the response.",
|
|
"items": {
|
|
"$ref": "#/components/schemas/User"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Data"
|
|
},
|
|
"pagination": {
|
|
"$ref": "#/components/schemas/Pagination"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"ImportContactRequestBody": {
|
|
"properties": {
|
|
"account_id": {
|
|
"description": "The account that this contact belongs to.",
|
|
"type": "string",
|
|
"x-go-name": "AccountID"
|
|
},
|
|
"avatar_url": {
|
|
"description": "The avatar URL of the contact. Must be a square .png, .jpg or .jpeg.",
|
|
"type": "string",
|
|
"x-go-name": "AvatarUrl"
|
|
},
|
|
"custom_fields": {
|
|
"description": "An array of custom fields to be applied to this contact.",
|
|
"items": {
|
|
"$ref": "#/components/schemas/CustomFieldValue"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "CustomFields"
|
|
},
|
|
"email": {
|
|
"description": "The email of the contact.",
|
|
"type": "string",
|
|
"x-go-name": "Email"
|
|
},
|
|
"name": {
|
|
"description": "The name of the contact.",
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"portal_role": {
|
|
"description": "The portal role to assign to the contact. If not provided uses the default portal role from the portal settings.\n\n* no_access PortalRoleNoAccess\n\n* member PortalRoleMember\n\n* admin PortalRoleAdmin",
|
|
"enum": [
|
|
"no_access",
|
|
"member",
|
|
"admin"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "no_access PortalRoleNoAccess\nmember PortalRoleMember\nadmin PortalRoleAdmin",
|
|
"x-go-name": "PortalRole"
|
|
}
|
|
},
|
|
"required": [
|
|
"email",
|
|
"name"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"ImportContactResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/Contact"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"ImportExternalIssue": {
|
|
"properties": {
|
|
"external_issue_id": {
|
|
"description": "The ID of the external issue in the source system.",
|
|
"type": "string",
|
|
"x-go-name": "ExternalIssueID"
|
|
},
|
|
"source": {
|
|
"description": "The source system of the external issue (e.g., \"linear\", \"asana\", \"jira\", \"github\").",
|
|
"type": "string",
|
|
"x-go-name": "Source"
|
|
}
|
|
},
|
|
"required": [
|
|
"external_issue_id",
|
|
"source"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"ImportIssueExternalRefs": {
|
|
"properties": {
|
|
"intercom_conversation_id": {
|
|
"description": "The Intercom conversation ID associated with this issue, if any.",
|
|
"type": "string",
|
|
"x-go-name": "IntercomConversationID"
|
|
},
|
|
"zendesk_ticket_id": {
|
|
"description": "The Zendesk ticket ID associated with this issue, if any.",
|
|
"type": "string",
|
|
"x-go-name": "ZendeskTicketID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"ImportIssueMessage": {
|
|
"properties": {
|
|
"attachment_urls": {
|
|
"description": "An array of attachment URLs to attach to this message.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "AttachmentURLs"
|
|
},
|
|
"body_html": {
|
|
"description": "The HTML content of the message.",
|
|
"type": "string",
|
|
"x-go-name": "BodyHTML"
|
|
},
|
|
"contact_id": {
|
|
"description": "The contact that sent the message. Only one of user_id or contact_id can be specified.",
|
|
"type": "string",
|
|
"x-go-name": "ContactID"
|
|
},
|
|
"created_at": {
|
|
"description": "CreatedAt is the time the message was created (RFC3339).",
|
|
"type": "string",
|
|
"x-go-name": "CreatedAt"
|
|
},
|
|
"is_private": {
|
|
"description": "Whether the message is private.",
|
|
"type": "boolean",
|
|
"x-go-name": "IsPrivate"
|
|
},
|
|
"user_id": {
|
|
"description": "The user that sent the message. Only one of user_id or contact_id can be specified.",
|
|
"type": "string",
|
|
"x-go-name": "UserID"
|
|
}
|
|
},
|
|
"required": [
|
|
"body_html",
|
|
"is_private"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"ImportIssueRequest": {
|
|
"properties": {
|
|
"account_id": {
|
|
"description": "AccountID that the issue should belong to.",
|
|
"type": "string",
|
|
"x-go-name": "AccountID"
|
|
},
|
|
"assignee_id": {
|
|
"description": "UserID that the issue should be assigned to.",
|
|
"type": "string",
|
|
"x-go-name": "AssigneeID"
|
|
},
|
|
"attachment_urls": {
|
|
"description": "An array of attachment URLs to attach to this issue.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "AttachmentURLs"
|
|
},
|
|
"created_at": {
|
|
"description": "CreatedAt is the time the issue was created (RFC3339).",
|
|
"type": "string",
|
|
"x-go-name": "CreatedAt"
|
|
},
|
|
"custom_fields": {
|
|
"description": "An array of custom fields to be used on this issue.",
|
|
"items": {
|
|
"$ref": "#/components/schemas/CustomFieldValue"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "CustomFields"
|
|
},
|
|
"external_issues": {
|
|
"description": "External issues to link to this issue.",
|
|
"items": {
|
|
"$ref": "#/components/schemas/ImportExternalIssue"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "ExternalIssues"
|
|
},
|
|
"external_refs": {
|
|
"$ref": "#/components/schemas/ImportIssueExternalRefs"
|
|
},
|
|
"first_response_time": {
|
|
"description": "FirstResponseTime is the time the issue was first responded to (RFC3339).",
|
|
"type": "string",
|
|
"x-go-name": "FirstResponseTime"
|
|
},
|
|
"messages": {
|
|
"description": "Messages to be imported for this issue. At least one message is required.",
|
|
"items": {
|
|
"$ref": "#/components/schemas/ImportIssueMessage"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Messages"
|
|
},
|
|
"requester_id": {
|
|
"description": "ContactID that the issue should be on behalf of.",
|
|
"type": "string",
|
|
"x-go-name": "RequesterID"
|
|
},
|
|
"resolution_time": {
|
|
"description": "ResolutionTime is the time the issue was resolved (RFC3339).",
|
|
"type": "string",
|
|
"x-go-name": "ResolutionTime"
|
|
},
|
|
"state": {
|
|
"description": "The state of the issue. Can be one of new, waiting_on_you, waiting_on_customer, on_hold, closed, or a custom status.",
|
|
"type": "string",
|
|
"x-go-name": "State"
|
|
},
|
|
"tags": {
|
|
"description": "An array of strings to use as tags on this issue.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Tags"
|
|
},
|
|
"team_id": {
|
|
"description": "TeamID that the issue should be assigned to.",
|
|
"type": "string",
|
|
"x-go-name": "TeamID"
|
|
},
|
|
"title": {
|
|
"description": "The title of the issue.",
|
|
"type": "string",
|
|
"x-go-name": "Title"
|
|
},
|
|
"updated_at": {
|
|
"description": "UpdatedAt is the time the issue was last updated (RFC3339).",
|
|
"type": "string",
|
|
"x-go-name": "UpdatedAt"
|
|
}
|
|
},
|
|
"required": [
|
|
"messages",
|
|
"state",
|
|
"title"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"ImportIssueResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/Issue"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"ImportMessagesRequest": {
|
|
"properties": {
|
|
"messages": {
|
|
"description": "Messages to be imported for this issue. At least one message is required.",
|
|
"items": {
|
|
"$ref": "#/components/schemas/ImportIssueMessage"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Messages"
|
|
}
|
|
},
|
|
"required": [
|
|
"messages"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"ImportMessagesResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/Issue"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"Issue": {
|
|
"properties": {
|
|
"account": {
|
|
"$ref": "#/components/schemas/MiniAccount"
|
|
},
|
|
"assignee": {
|
|
"$ref": "#/components/schemas/MiniUser"
|
|
},
|
|
"attachment_urls": {
|
|
"description": "The attachment URLs attached to this issue, if any.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "AttachmentURLs"
|
|
},
|
|
"body_html": {
|
|
"description": "The body of the issue in HTML format.",
|
|
"type": "string",
|
|
"x-go-name": "BodyHTML"
|
|
},
|
|
"business_hours_first_response_seconds": {
|
|
"description": "The business hours time in seconds it took for the first response to the issue, if any.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "BusinessHoursFirstResponseSeconds"
|
|
},
|
|
"business_hours_resolution_seconds": {
|
|
"description": "The business hours time in seconds it took for the issue to be resolved, if any.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "BusinessHoursResolutionSeconds"
|
|
},
|
|
"chat_widget_info": {
|
|
"$ref": "#/components/schemas/IssueChatWidgetInfo"
|
|
},
|
|
"created_at": {
|
|
"description": "The time the issue was created.",
|
|
"type": "string",
|
|
"x-go-name": "CreatedAt"
|
|
},
|
|
"csat_responses": {
|
|
"description": "The CSAT responses of the issue, if any.",
|
|
"items": {
|
|
"$ref": "#/components/schemas/CSATResponse"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "CSATResponses"
|
|
},
|
|
"custom_fields": {
|
|
"additionalProperties": {
|
|
"$ref": "#/components/schemas/CustomFieldValue"
|
|
},
|
|
"description": "Custom field values associated with the issue.",
|
|
"type": "object",
|
|
"x-go-name": "CustomFields"
|
|
},
|
|
"customer_portal_visible": {
|
|
"description": "Whether the issue is visible in the customer portal.",
|
|
"type": "boolean",
|
|
"x-go-name": "CustomerPortalVisible"
|
|
},
|
|
"external_issues": {
|
|
"description": "The external issues associated with the issue, if any.",
|
|
"items": {
|
|
"$ref": "#/components/schemas/ExternalIssue"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "ExternalIssues"
|
|
},
|
|
"first_response_seconds": {
|
|
"description": "The time in seconds it took for the first response to the issue, if any.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "FirstResponseSeconds"
|
|
},
|
|
"first_response_time": {
|
|
"description": "The time of the first response to the issue, if any.",
|
|
"type": "string",
|
|
"x-go-name": "FirstResponseTime"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the issue.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"latest_message_time": {
|
|
"description": "The time of the latest message in the issue.",
|
|
"type": "string",
|
|
"x-go-name": "LatestMessageTime"
|
|
},
|
|
"link": {
|
|
"description": "The link to the issue in Pylon.",
|
|
"type": "string",
|
|
"x-go-name": "Link"
|
|
},
|
|
"number": {
|
|
"description": "The number of the issue.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "Number"
|
|
},
|
|
"number_of_touches": {
|
|
"description": "The number of times the issue has been touched.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "NumberOfTouches"
|
|
},
|
|
"requester": {
|
|
"$ref": "#/components/schemas/MiniContact"
|
|
},
|
|
"resolution_seconds": {
|
|
"description": "The time in seconds it took for the issue to be resolved, if any.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "ResolutionSeconds"
|
|
},
|
|
"resolution_time": {
|
|
"description": "The time of the resolution of the issue, if any.",
|
|
"type": "string",
|
|
"x-go-name": "ResolutionTime"
|
|
},
|
|
"slack": {
|
|
"$ref": "#/components/schemas/SlackInfo"
|
|
},
|
|
"snoozed_until_time": {
|
|
"description": "The time the issue was snoozed until in RFC3339 format, if any.",
|
|
"type": "string",
|
|
"x-go-name": "SnoozedUntilTime"
|
|
},
|
|
"source": {
|
|
"description": "The source of the issue.\n\n* slack IssueSourceSlack\n\n* microsoft_teams IssueSourceMicrosoftTeams\n\n* microsoft_teams_chat IssueSourceMicrosoftTeamsChat\n\n* chat_widget IssueSourceChatWidget\n\n* email IssueSourceEmail\n\n* manual IssueSourceManual\n\n* form IssueSourceForm\n\n* discord IssueSourceDiscord",
|
|
"enum": [
|
|
"slack",
|
|
"microsoft_teams",
|
|
"microsoft_teams_chat",
|
|
"chat_widget",
|
|
"email",
|
|
"manual",
|
|
"form",
|
|
"discord"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "slack IssueSourceSlack\nmicrosoft_teams IssueSourceMicrosoftTeams\nmicrosoft_teams_chat IssueSourceMicrosoftTeamsChat\nchat_widget IssueSourceChatWidget\nemail IssueSourceEmail\nmanual IssueSourceManual\nform IssueSourceForm\ndiscord IssueSourceDiscord",
|
|
"x-go-name": "Source"
|
|
},
|
|
"state": {
|
|
"description": "The state of the issue. This could be one of `[\"new\", \"waiting_on_you\", \"waiting_on_customer\", \"on_hold\", \"closed\"] or a custom status slug.",
|
|
"type": "string",
|
|
"x-go-name": "State"
|
|
},
|
|
"tags": {
|
|
"description": "Tags associated with the issue.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Tags"
|
|
},
|
|
"team": {
|
|
"$ref": "#/components/schemas/MiniTeam"
|
|
},
|
|
"title": {
|
|
"description": "The title of the issue.",
|
|
"type": "string",
|
|
"x-go-name": "Title"
|
|
},
|
|
"type": {
|
|
"description": "The type of the issue.\n\n* Conversation IssueTypeConversation\n\n* Ticket IssueTypeTicket",
|
|
"enum": [
|
|
"Conversation",
|
|
"Ticket"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "Conversation IssueTypeConversation\nTicket IssueTypeTicket",
|
|
"x-go-name": "Type"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"IssueChatWidgetInfo": {
|
|
"properties": {
|
|
"page_url": {
|
|
"description": "The URL of the page that the user was on when they started the chat widget issue.",
|
|
"type": "string",
|
|
"x-go-name": "PageURL"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"IssueStatus": {
|
|
"properties": {
|
|
"category": {
|
|
"description": "The category of the issue status.",
|
|
"type": "string",
|
|
"x-go-name": "Category"
|
|
},
|
|
"is_archived": {
|
|
"description": "Indicates if the issue status is archived.",
|
|
"type": "boolean",
|
|
"x-go-name": "IsArchived"
|
|
},
|
|
"is_default_status": {
|
|
"description": "Indicates if the issue status is a default status.",
|
|
"type": "boolean",
|
|
"x-go-name": "IsDefaultStatus"
|
|
},
|
|
"label": {
|
|
"description": "The label of the issue status.",
|
|
"type": "string",
|
|
"x-go-name": "Label"
|
|
},
|
|
"slug": {
|
|
"description": "The slug of the issue status.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"IssueThread": {
|
|
"description": "If a channel ID is set, this thread is being synced with a chat platform",
|
|
"properties": {
|
|
"channel_id": {
|
|
"description": "The ID of the channel that the thread belongs to, if the thread is being synced with a chat platform.",
|
|
"type": "string",
|
|
"x-go-name": "ChannelID"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the thread.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"issue_id": {
|
|
"description": "The issue ID that the thread belongs to.",
|
|
"type": "string",
|
|
"x-go-name": "IssueID"
|
|
},
|
|
"name": {
|
|
"description": "The name of the thread.",
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"source": {
|
|
"description": "The source of the thread.",
|
|
"type": "string",
|
|
"x-go-name": "Source"
|
|
},
|
|
"thread_id": {
|
|
"description": "The ID of the thread that the thread belongs to, if the thread is being synced with a chat platform. A thread ID for Slack would be the thread timestamp.",
|
|
"type": "string",
|
|
"x-go-name": "ThreadID"
|
|
}
|
|
},
|
|
"title": "IssueThread is a thread of notes on an issue, meaning that they are for internal discussions and are not visible to the customer. Threads can be created manually through the UI or from triggers.",
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"KnowledgeBase": {
|
|
"properties": {
|
|
"default_language": {
|
|
"description": "The default language of the knowledge base.",
|
|
"type": "string",
|
|
"x-go-name": "DefaultLanguage"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the knowledge base.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"slug": {
|
|
"description": "The slug of the knowledge base.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
},
|
|
"supported_languages": {
|
|
"description": "The list of supported languages for the knowledge base.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "SupportedLanguages"
|
|
},
|
|
"title": {
|
|
"description": "The name of the knowledge base.",
|
|
"type": "string",
|
|
"x-go-name": "Title"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"LinkExternalIssueRequestBody": {
|
|
"properties": {
|
|
"external_issue_id": {
|
|
"description": "The ID of the external issue in the source system.",
|
|
"type": "string",
|
|
"x-go-name": "ExternalIssueID"
|
|
},
|
|
"operation": {
|
|
"description": "Operation to perform. Use \"link\" to link issues (default) or \"unlink\" to unlink issues.",
|
|
"type": "string",
|
|
"x-go-name": "Operation"
|
|
},
|
|
"source": {
|
|
"description": "The source system of the external issue (e.g., \"linear\", \"asana\", \"jira\", \"github\").",
|
|
"type": "string",
|
|
"x-go-name": "Source"
|
|
}
|
|
},
|
|
"required": [
|
|
"external_issue_id",
|
|
"source"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"LinkExternalIssueResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/Issue"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"ListTrainingDataResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/TrainingData"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Data"
|
|
},
|
|
"request_id": {
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"Me": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the organization.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"name": {
|
|
"description": "The name of the organization.",
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"Message": {
|
|
"properties": {
|
|
"author": {
|
|
"$ref": "#/components/schemas/MessageAuthor"
|
|
},
|
|
"email_info": {
|
|
"$ref": "#/components/schemas/EmailMessageInfo"
|
|
},
|
|
"file_urls": {
|
|
"description": "The URLs of the files in the message, if any.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "FileURLs"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the message.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"is_private": {
|
|
"description": "Indicates if the message is private.",
|
|
"type": "boolean",
|
|
"x-go-name": "IsPrivate"
|
|
},
|
|
"message_html": {
|
|
"description": "The HTML body of the message.",
|
|
"type": "string",
|
|
"x-go-name": "MessageHTML"
|
|
},
|
|
"source": {
|
|
"description": "The source of the message.",
|
|
"type": "string",
|
|
"x-go-name": "Source"
|
|
},
|
|
"thread_id": {
|
|
"description": "The ID of the thread the message belongs to. This is only set for internal notes.",
|
|
"type": "string",
|
|
"x-go-name": "ThreadID"
|
|
},
|
|
"timestamp": {
|
|
"description": "The time at which the message was created.",
|
|
"type": "string",
|
|
"x-go-name": "Timestamp"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"MessageAuthor": {
|
|
"properties": {
|
|
"avatar_url": {
|
|
"type": "string",
|
|
"x-go-name": "AvatarURL"
|
|
},
|
|
"contact": {
|
|
"$ref": "#/components/schemas/MiniContact"
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"user": {
|
|
"$ref": "#/components/schemas/MiniUser"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"Milestone": {
|
|
"properties": {
|
|
"account": {
|
|
"$ref": "#/components/schemas/MiniAccount"
|
|
},
|
|
"created_at": {
|
|
"type": "string",
|
|
"x-go-name": "CreatedAt"
|
|
},
|
|
"due_date": {
|
|
"type": "string",
|
|
"x-go-name": "DueDate"
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"project": {
|
|
"$ref": "#/components/schemas/MiniProject"
|
|
},
|
|
"updated_at": {
|
|
"type": "string",
|
|
"x-go-name": "UpdatedAt"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"MiniAccount": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the account.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"MiniContact": {
|
|
"properties": {
|
|
"email": {
|
|
"description": "The email of the contact.",
|
|
"type": "string",
|
|
"x-go-name": "Email"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the contact.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"MiniMilestone": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the milestone.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"MiniProject": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the project.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"MiniProjectTemplate": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the project template.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"MiniTeam": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the team.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"MiniUser": {
|
|
"properties": {
|
|
"email": {
|
|
"description": "The email of the user.",
|
|
"type": "string",
|
|
"x-go-name": "Email"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the user.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"MirrorChannel": {
|
|
"properties": {
|
|
"channel_id": {
|
|
"description": "The ID of the channel. If this is a Microsoft Teams channel, the ID must be in the format of `{team_id}|{channel_id}`.",
|
|
"type": "string",
|
|
"x-go-name": "ChannelID"
|
|
},
|
|
"source": {
|
|
"description": "The source, which can be one of `[\"slack\", \"microsoft_teams\", \"discord\"]`.",
|
|
"type": "string",
|
|
"x-go-name": "Source"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"NumberMetadata": {
|
|
"properties": {
|
|
"currency": {
|
|
"description": "The currency of the number custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Currency"
|
|
},
|
|
"decimal_places": {
|
|
"description": "The decimal places of the number custom field.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "DecimalPlaces"
|
|
},
|
|
"format": {
|
|
"description": "The format of the number custom field.\n\n* with_commas CustomFieldNumberFormatWithCommas\n\n* percent CustomFieldNumberFormatPercent\n\n* currency CustomFieldNumberFormatCurrency",
|
|
"enum": [
|
|
"with_commas",
|
|
"percent",
|
|
"currency"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "with_commas CustomFieldNumberFormatWithCommas\npercent CustomFieldNumberFormatPercent\ncurrency CustomFieldNumberFormatCurrency",
|
|
"x-go-name": "Format"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"Pagination": {
|
|
"properties": {
|
|
"cursor": {
|
|
"description": "The cursor for the next page of results.",
|
|
"type": "string",
|
|
"x-go-name": "Cursor"
|
|
},
|
|
"has_next_page": {
|
|
"description": "Indicates if there is a next page of results.",
|
|
"type": "boolean",
|
|
"x-go-name": "HasNextPage"
|
|
}
|
|
},
|
|
"required": [
|
|
"cursor",
|
|
"has_next_page"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"Project": {
|
|
"properties": {
|
|
"account": {
|
|
"$ref": "#/components/schemas/MiniAccount"
|
|
},
|
|
"archived_at": {
|
|
"description": "The archived at time of the project in RFC3339 format.",
|
|
"type": "string",
|
|
"x-go-name": "ArchivedAt"
|
|
},
|
|
"created_at": {
|
|
"description": "The created at time of the project.",
|
|
"type": "string",
|
|
"x-go-name": "CreatedAt"
|
|
},
|
|
"customer_portal_visible": {
|
|
"description": "The customer portal visible of the project.",
|
|
"type": "boolean",
|
|
"x-go-name": "CustomerPortalVisible"
|
|
},
|
|
"description_html": {
|
|
"description": "The description of the project in HTML format.",
|
|
"type": "string",
|
|
"x-go-name": "DescriptionHTML"
|
|
},
|
|
"end_date": {
|
|
"description": "The end date of the project in RFC3339 format.",
|
|
"type": "string",
|
|
"x-go-name": "EndDate"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the project.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"is_archived": {
|
|
"description": "Whether the project is archived.",
|
|
"type": "boolean",
|
|
"x-go-name": "IsArchived"
|
|
},
|
|
"name": {
|
|
"description": "The name of the project.",
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"owner_id": {
|
|
"description": "The owner ID of the project.",
|
|
"type": "string",
|
|
"x-go-name": "OwnerID"
|
|
},
|
|
"project_template": {
|
|
"$ref": "#/components/schemas/MiniProjectTemplate"
|
|
},
|
|
"start_date": {
|
|
"description": "The start date of the project in RFC3339 format.",
|
|
"type": "string",
|
|
"x-go-name": "StartDate"
|
|
},
|
|
"updated_at": {
|
|
"description": "The updated at time of the project.",
|
|
"type": "string",
|
|
"x-go-name": "UpdatedAt"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"RedactMessageResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/Message"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"RouteRedirect": {
|
|
"properties": {
|
|
"created_at": {
|
|
"description": "The time at which the route redirect was created.",
|
|
"type": "string",
|
|
"x-go-name": "CreatedAt"
|
|
},
|
|
"from_path": {
|
|
"description": "The path to redirect from.",
|
|
"type": "string",
|
|
"x-go-name": "FromPath"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the route redirect.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"language": {
|
|
"description": "The language of the object to redirect to.",
|
|
"type": "string",
|
|
"x-go-name": "Language"
|
|
},
|
|
"object_id": {
|
|
"description": "The ID of the object to redirect to.",
|
|
"type": "string",
|
|
"x-go-name": "ObjectID"
|
|
},
|
|
"object_type": {
|
|
"description": "The type of the object to redirect to.",
|
|
"type": "string",
|
|
"x-go-name": "ObjectType"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"SearchAccountsRequest": {
|
|
"properties": {
|
|
"cursor": {
|
|
"description": "The cursor to use for pagination.",
|
|
"type": "string",
|
|
"x-go-name": "Cursor"
|
|
},
|
|
"filter": {
|
|
"$ref": "#/components/schemas/Filter"
|
|
},
|
|
"limit": {
|
|
"description": "The number of accounts to fetch. Defaults to 100. Must be greater than 0 and less than 1000.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "Limit"
|
|
}
|
|
},
|
|
"required": [
|
|
"filter"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"SearchAccountsResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"description": "The data payload of the response.",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Account"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Data"
|
|
},
|
|
"pagination": {
|
|
"$ref": "#/components/schemas/Pagination"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"SearchContactsRequest": {
|
|
"properties": {
|
|
"cursor": {
|
|
"description": "The cursor to use for pagination.",
|
|
"type": "string",
|
|
"x-go-name": "Cursor"
|
|
},
|
|
"filter": {
|
|
"$ref": "#/components/schemas/Filter"
|
|
},
|
|
"limit": {
|
|
"description": "The number of contacts to fetch. Defaults to 100. Must be greater than 0 and less than 1000.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "Limit"
|
|
}
|
|
},
|
|
"required": [
|
|
"filter"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"SearchContactsResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"description": "The data payload of the response.",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Contact"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Data"
|
|
},
|
|
"pagination": {
|
|
"$ref": "#/components/schemas/Pagination"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"SearchIssuesRequest": {
|
|
"properties": {
|
|
"cursor": {
|
|
"description": "The cursor to use for pagination.",
|
|
"type": "string",
|
|
"x-go-name": "Cursor"
|
|
},
|
|
"filter": {
|
|
"$ref": "#/components/schemas/Filter"
|
|
},
|
|
"limit": {
|
|
"description": "The number of issues to fetch. Defaults to 100. Must be greater than 0 and less than 1000.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "Limit"
|
|
}
|
|
},
|
|
"required": [
|
|
"filter"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"SearchIssuesResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/Issue"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Data"
|
|
},
|
|
"pagination": {
|
|
"$ref": "#/components/schemas/Pagination"
|
|
},
|
|
"request_id": {
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"SearchUsersRequest": {
|
|
"properties": {
|
|
"cursor": {
|
|
"description": "The cursor to use for pagination.",
|
|
"type": "string",
|
|
"x-go-name": "Cursor"
|
|
},
|
|
"filter": {
|
|
"$ref": "#/components/schemas/Filter"
|
|
},
|
|
"limit": {
|
|
"description": "The number of users to fetch. Defaults to 100. Must be greater than 0 and less than 1000.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "Limit"
|
|
}
|
|
},
|
|
"required": [
|
|
"filter"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"SearchUsersResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"description": "The data payload of the response.",
|
|
"items": {
|
|
"$ref": "#/components/schemas/User"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Data"
|
|
},
|
|
"pagination": {
|
|
"$ref": "#/components/schemas/Pagination"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"SelectMetadata": {
|
|
"properties": {
|
|
"options": {
|
|
"description": "The list options of the select custom field. This is only present for select and multiselect custom fields.",
|
|
"items": {
|
|
"$ref": "#/components/schemas/CustomFieldDefinitionSelectOption"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Options"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"SlackInfo": {
|
|
"properties": {
|
|
"channel_id": {
|
|
"description": "The Slack channel ID associated with the issue.",
|
|
"type": "string",
|
|
"x-go-name": "SlackChannelID"
|
|
},
|
|
"message_ts": {
|
|
"description": "The root message ID of slack message that started issue.",
|
|
"type": "string",
|
|
"x-go-name": "SlackMessageTs"
|
|
},
|
|
"workspace_id": {
|
|
"description": "The Slack workspace ID associated with the issue.",
|
|
"type": "string",
|
|
"x-go-name": "SlackWorkspaceID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"SnoozeIssueRequestBody": {
|
|
"properties": {
|
|
"snooze_until": {
|
|
"description": "The date and time to snooze the issue until. (RFC3339)",
|
|
"type": "string",
|
|
"x-go-name": "SnoozeUntil"
|
|
}
|
|
},
|
|
"required": [
|
|
"snooze_until"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"SnoozeIssueResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/Issue"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"Tag": {
|
|
"properties": {
|
|
"hex_color": {
|
|
"description": "The hex code of the tag's color.",
|
|
"type": "string",
|
|
"x-go-name": "HexColor"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the tag.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"object_type": {
|
|
"description": "The object type of the tagged object.",
|
|
"type": "string",
|
|
"x-go-name": "ObjectType"
|
|
},
|
|
"value": {
|
|
"description": "The value of the Tag.",
|
|
"type": "string",
|
|
"x-go-name": "Value"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"Task": {
|
|
"properties": {
|
|
"account": {
|
|
"$ref": "#/components/schemas/MiniAccount"
|
|
},
|
|
"assignee": {
|
|
"$ref": "#/components/schemas/TaskAssignee"
|
|
},
|
|
"body_html": {
|
|
"description": "The body of the task in HTML format.",
|
|
"type": "string",
|
|
"x-go-name": "BodyHTML"
|
|
},
|
|
"created_at": {
|
|
"description": "The created at time of the task.",
|
|
"type": "string",
|
|
"x-go-name": "CreatedAt"
|
|
},
|
|
"customer_portal_visible": {
|
|
"description": "The customer portal visible of the task.",
|
|
"type": "boolean",
|
|
"x-go-name": "CustomerPortalVisible"
|
|
},
|
|
"due_date": {
|
|
"description": "The due date of the task in RFC3339 format.",
|
|
"type": "string",
|
|
"x-go-name": "DueDate"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the task.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"milestone": {
|
|
"$ref": "#/components/schemas/MiniMilestone"
|
|
},
|
|
"project": {
|
|
"$ref": "#/components/schemas/MiniProject"
|
|
},
|
|
"status": {
|
|
"description": "The status of the task.\n\n* not_started TaskStatusNotStarted\n\n* in_progress TaskStatusInProgress\n\n* completed TaskStatusCompleted",
|
|
"enum": [
|
|
"not_started",
|
|
"in_progress",
|
|
"completed"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "not_started TaskStatusNotStarted\nin_progress TaskStatusInProgress\ncompleted TaskStatusCompleted",
|
|
"x-go-name": "Status"
|
|
},
|
|
"title": {
|
|
"description": "The title of the task.",
|
|
"type": "string",
|
|
"x-go-name": "Title"
|
|
},
|
|
"updated_at": {
|
|
"description": "The updated at time of the task.",
|
|
"type": "string",
|
|
"x-go-name": "UpdatedAt"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"TaskAssignee": {
|
|
"properties": {
|
|
"contact": {
|
|
"$ref": "#/components/schemas/MiniContact"
|
|
},
|
|
"user": {
|
|
"$ref": "#/components/schemas/MiniUser"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"Team": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the team.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"name": {
|
|
"description": "The name of the team.",
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"users": {
|
|
"description": "The users in the team.",
|
|
"items": {
|
|
"$ref": "#/components/schemas/MiniUser"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Users"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"TicketForm": {
|
|
"properties": {
|
|
"description_html": {
|
|
"description": "The description of the ticket form in HTML.",
|
|
"type": "string",
|
|
"x-go-name": "DescriptionHTML"
|
|
},
|
|
"fields": {
|
|
"description": "The layout of the ticket form.",
|
|
"items": {
|
|
"$ref": "#/components/schemas/TicketFormLayoutField"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Fields"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the ticket form.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"is_public": {
|
|
"description": "Indicates if the ticket form is public.",
|
|
"type": "boolean",
|
|
"x-go-name": "IsPublic"
|
|
},
|
|
"name": {
|
|
"description": "The name of the ticket form.",
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"slug": {
|
|
"description": "The slug of the ticket form.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
},
|
|
"url": {
|
|
"description": "The URL of the ticket form.",
|
|
"type": "string",
|
|
"x-go-name": "URL"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"TicketFormLayoutField": {
|
|
"properties": {
|
|
"description_html": {
|
|
"description": "The description of the ticket form layout field in HTML.",
|
|
"type": "string",
|
|
"x-go-name": "DescriptionHTML"
|
|
},
|
|
"name": {
|
|
"description": "The name of the ticket form layout field.",
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"slug": {
|
|
"description": "The slug of the ticket form layout field.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
},
|
|
"type": {
|
|
"description": "The type of the ticket form layout field.",
|
|
"type": "string",
|
|
"x-go-name": "Type"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"TrainingData": {
|
|
"properties": {
|
|
"created_at": {
|
|
"type": "string",
|
|
"x-go-name": "CreatedAt"
|
|
},
|
|
"documents": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/TrainingDataDocument"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Documents"
|
|
},
|
|
"exclude_from_kb_search": {
|
|
"type": "boolean",
|
|
"x-go-name": "ExcludeFromKBSearch"
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"scrape_status": {
|
|
"$ref": "#/components/schemas/TrainingDataScrapeStatus"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"x-go-name": "Type"
|
|
},
|
|
"updated_at": {
|
|
"type": "string",
|
|
"x-go-name": "UpdatedAt"
|
|
},
|
|
"visibility": {
|
|
"type": "string",
|
|
"x-go-name": "Visibility"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"TrainingDataDocument": {
|
|
"properties": {
|
|
"external_id": {
|
|
"type": "string",
|
|
"x-go-name": "ExternalID"
|
|
},
|
|
"file_name": {
|
|
"type": "string",
|
|
"x-go-name": "FileName"
|
|
},
|
|
"file_size": {
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "FileSize"
|
|
},
|
|
"file_type": {
|
|
"type": "string",
|
|
"x-go-name": "FileType"
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"s3_key": {
|
|
"type": "string",
|
|
"x-go-name": "S3Key"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"TrainingDataScrapeStatus": {
|
|
"properties": {
|
|
"last_scraped_at": {
|
|
"type": "string",
|
|
"x-go-name": "LastScrapedAt"
|
|
},
|
|
"pages_scraped": {
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "PagesScraped"
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"x-go-name": "Status"
|
|
},
|
|
"total_pages": {
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "TotalPages"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"TrainingDataUploadResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/TrainingData"
|
|
},
|
|
"request_id": {
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"UpdateAccountHighlightRequestBody": {
|
|
"properties": {
|
|
"content_html": {
|
|
"description": "The updated HTML content for this highlight.",
|
|
"type": "string",
|
|
"x-go-name": "ContentHTML"
|
|
},
|
|
"expires_at": {
|
|
"description": "The updated expires at timestamp (RFC3339).",
|
|
"type": "string",
|
|
"x-go-name": "ExpiresAt"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"UpdateAccountHighlightResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/AccountHighlight"
|
|
},
|
|
"request_id": {
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"UpdateAccountRequestBody": {
|
|
"properties": {
|
|
"channels": {
|
|
"description": "An array of channels to be linked to this account.",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Channel"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Channels"
|
|
},
|
|
"custom_fields": {
|
|
"description": "An array of custom fields to be used on this account.",
|
|
"items": {
|
|
"$ref": "#/components/schemas/CustomFieldValue"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "CustomFields"
|
|
},
|
|
"domains": {
|
|
"description": "Domains of the account. Must specify one domain as primary.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Domains"
|
|
},
|
|
"external_ids": {
|
|
"description": "An array of external IDs to be used on this account. If provided, the accounts external IDs will be updated to the given external IDs.",
|
|
"items": {
|
|
"$ref": "#/components/schemas/ExternalID"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "ExternalIDs"
|
|
},
|
|
"logo_url": {
|
|
"description": "Logo URL of the account.",
|
|
"type": "string",
|
|
"x-go-name": "LogoURL"
|
|
},
|
|
"name": {
|
|
"description": "The name of the account.",
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"owner_id": {
|
|
"description": "The ID of the owner of the account.",
|
|
"type": "string",
|
|
"x-go-name": "OwnerID"
|
|
},
|
|
"primary_domain": {
|
|
"description": "Must be in the list of domains. If there are any domains, there must be exactly one primary domain.",
|
|
"type": "string",
|
|
"x-go-name": "PrimaryDomain"
|
|
},
|
|
"tags": {
|
|
"description": "An array of strings to use as tags on this account. If provided, the accounts tags will be updated to the given tags.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Tags"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"UpdateAccountResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/Account"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"UpdateAccountsRequest": {
|
|
"properties": {
|
|
"account_ids": {
|
|
"description": "The account IDs to update. The number of accounts to update must be between 1 and 100.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "AccountIDs"
|
|
},
|
|
"custom_fields": {
|
|
"description": "An array of custom fields to be updated on the accounts.",
|
|
"items": {
|
|
"$ref": "#/components/schemas/CustomFieldValue"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "CustomFields"
|
|
},
|
|
"owner_id": {
|
|
"description": "The ID of the new owner. If empty string is passed in, the owner will be removed.",
|
|
"type": "string",
|
|
"x-go-name": "OwnerID"
|
|
},
|
|
"tags": {
|
|
"description": "An array of tags to be updated on the accounts.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Tags"
|
|
},
|
|
"tags_apply_mode": {
|
|
"description": "The mode for applying tags. Valid values: \"append_only\", \"remove_only\", \"replace\". Defaults to \"replace\".",
|
|
"type": "string",
|
|
"x-go-name": "TagsApplyMode"
|
|
}
|
|
},
|
|
"required": [
|
|
"account_ids"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"UpdateAccountsResponseBody": {
|
|
"properties": {
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
},
|
|
"success": {
|
|
"description": "Whether the update was successfully initiated.",
|
|
"type": "boolean",
|
|
"x-go-name": "Success"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"UpdateArticleRequestBody": {
|
|
"properties": {
|
|
"body_html": {
|
|
"description": "The HTML body of the article.",
|
|
"type": "string",
|
|
"x-go-name": "BodyHTML"
|
|
},
|
|
"language": {
|
|
"description": "The language code of the translation to update. If not provided, the default language (original article) will be updated.",
|
|
"type": "string",
|
|
"x-go-name": "Language"
|
|
},
|
|
"publish_updated_body_html": {
|
|
"description": "Whether the changes to the article should be published. Defaults to false.",
|
|
"type": "boolean",
|
|
"x-go-name": "PublishUpdatedBodyHTML"
|
|
},
|
|
"title": {
|
|
"description": "The title of the article.",
|
|
"type": "string",
|
|
"x-go-name": "Title"
|
|
},
|
|
"visibility_config": {
|
|
"$ref": "#/components/schemas/VisibilityConfig"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"UpdateArticleResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/Article"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"UpdateContactRequestBody": {
|
|
"properties": {
|
|
"account_external_id": {
|
|
"description": "The external ID of the account to move the contact to. Cannot be used together with account_id.",
|
|
"type": "string",
|
|
"x-go-name": "AccountExternalID"
|
|
},
|
|
"account_id": {
|
|
"description": "The account to move the contact to.",
|
|
"type": "string",
|
|
"x-go-name": "AccountID"
|
|
},
|
|
"avatar_url": {
|
|
"description": "The avatar URL of the contact. Must be a square .png, .jpg or .jpeg.",
|
|
"type": "string",
|
|
"x-go-name": "AvatarUrl"
|
|
},
|
|
"custom_fields": {
|
|
"description": "An array of custom fields to be applied to this contact.",
|
|
"items": {
|
|
"$ref": "#/components/schemas/CustomFieldValue"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "CustomFields"
|
|
},
|
|
"email": {
|
|
"description": "The email of the contact.",
|
|
"type": "string",
|
|
"x-go-name": "Email"
|
|
},
|
|
"name": {
|
|
"description": "in: body\n\nThe name of the contact.",
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"portal_role": {
|
|
"description": "The portal role to assign to the contact. Can be one of `no_access`, `member`, or `admin`.\n\n* no_access PortalRoleNoAccess\n\n* member PortalRoleMember\n\n* admin PortalRoleAdmin",
|
|
"enum": [
|
|
"no_access",
|
|
"member",
|
|
"admin"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "no_access PortalRoleNoAccess\nmember PortalRoleMember\nadmin PortalRoleAdmin",
|
|
"x-go-name": "PortalRole"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"UpdateContactResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/Contact"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"UpdateCustomFieldRequestBody": {
|
|
"properties": {
|
|
"default_value": {
|
|
"description": "The default value for single-valued custom fields.",
|
|
"type": "string",
|
|
"x-go-name": "DefaultValue"
|
|
},
|
|
"default_values": {
|
|
"description": "The default values for multi-valued custom fields.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "DefaultValues"
|
|
},
|
|
"description": {
|
|
"description": "The description of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Description"
|
|
},
|
|
"label": {
|
|
"description": "The label of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Label"
|
|
},
|
|
"select_options": {
|
|
"description": "The list options of the select custom field. This is only present for select and multiselect custom fields.",
|
|
"items": {
|
|
"$ref": "#/components/schemas/CustomFieldDefinitionSelectOption"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "SelectOptions"
|
|
},
|
|
"slug": {
|
|
"description": "The slug of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"UpdateCustomFieldResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/CustomFieldDefinition"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"UpdateIssueRequestBody": {
|
|
"properties": {
|
|
"account_id": {
|
|
"description": "The ID of the account that this issue belongs to. Only supported on issues with source: [\"manual\", \"form\", \"email\"].",
|
|
"type": "string",
|
|
"x-go-name": "AccountID"
|
|
},
|
|
"assignee_id": {
|
|
"description": "The ID of the user who should be assigned to this issue. If empty string is passed in, the issue assignee will be removed.",
|
|
"type": "string",
|
|
"x-go-name": "AssigneeID"
|
|
},
|
|
"custom_fields": {
|
|
"description": "An array of custom fields to be used on this issue. Only passed in fields will be modified.",
|
|
"items": {
|
|
"$ref": "#/components/schemas/CustomFieldValue"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "CustomFields"
|
|
},
|
|
"customer_portal_visible": {
|
|
"description": "Whether the issue should be visible in the customer portal.",
|
|
"type": "boolean",
|
|
"x-go-name": "CustomerPortalVisible"
|
|
},
|
|
"requester_id": {
|
|
"description": "The ID of the requester that this issue is on behalf of.",
|
|
"type": "string",
|
|
"x-go-name": "RequesterID"
|
|
},
|
|
"requestor_id": {
|
|
"description": "Deprecated: Use requester_id instead.",
|
|
"type": "string",
|
|
"x-go-name": "RequestorID"
|
|
},
|
|
"state": {
|
|
"description": "The state this issue should be moved to. Can be one of new, waiting_on_you, waiting_on_customer, on_hold, closed, or a custom status.",
|
|
"type": "string",
|
|
"x-go-name": "State"
|
|
},
|
|
"tags": {
|
|
"description": "An array of strings to use as tags on this issue. If provided, the issue tags will be updated to be exactly the given tags.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Tags"
|
|
},
|
|
"team_id": {
|
|
"description": "The ID of the team this issue should be assigned to. If empty string is passed in, any assigned team will be removed.",
|
|
"type": "string",
|
|
"x-go-name": "TeamID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"UpdateIssueResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/Issue"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"UpdateMilestoneRequestBody": {
|
|
"properties": {
|
|
"due_date": {
|
|
"description": "Due date for this milestone, in RFC 3339 format",
|
|
"type": "string",
|
|
"x-go-name": "DueDate"
|
|
},
|
|
"name": {
|
|
"description": "Name for this milestone",
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"UpdateMilestoneResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/Milestone"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"UpdateProjectRequestBody": {
|
|
"properties": {
|
|
"customer_portal_visible": {
|
|
"description": "Customer portal visible for this project",
|
|
"type": "boolean",
|
|
"x-go-name": "CustomerPortalVisible"
|
|
},
|
|
"description_html": {
|
|
"description": "Description HTML for this project",
|
|
"type": "string",
|
|
"x-go-name": "DescriptionHTML"
|
|
},
|
|
"end_date": {
|
|
"description": "End date for this project, in RFC 3339 format",
|
|
"type": "string",
|
|
"x-go-name": "EndDate"
|
|
},
|
|
"is_archived": {
|
|
"description": "Whether the project is archived",
|
|
"type": "boolean",
|
|
"x-go-name": "IsArchived"
|
|
},
|
|
"name": {
|
|
"description": "Name for this project",
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"owner_id": {
|
|
"description": "Owner ID for this project",
|
|
"type": "string",
|
|
"x-go-name": "OwnerID"
|
|
},
|
|
"start_date": {
|
|
"description": "Start date for this project, in RFC 3339 format",
|
|
"type": "string",
|
|
"x-go-name": "StartDate"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"UpdateProjectResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/Project"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"UpdateTagRequestBody": {
|
|
"properties": {
|
|
"hex_color": {
|
|
"description": "The hex code of the tag's color.",
|
|
"type": "string",
|
|
"x-go-name": "HexColor"
|
|
},
|
|
"value": {
|
|
"description": "in: body\n\nThe name of the tag.",
|
|
"type": "string",
|
|
"x-go-name": "Value"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"UpdateTagResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/Tag"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"UpdateTaskRequestBody": {
|
|
"properties": {
|
|
"assignee_id": {
|
|
"description": "Assignee ID for this task",
|
|
"type": "string",
|
|
"x-go-name": "AssigneeID"
|
|
},
|
|
"body_html": {
|
|
"description": "Body HTML for this task",
|
|
"type": "string",
|
|
"x-go-name": "BodyHTML"
|
|
},
|
|
"customer_portal_visible": {
|
|
"description": "Customer portal visible for this task",
|
|
"type": "boolean",
|
|
"x-go-name": "CustomerPortalVisible"
|
|
},
|
|
"due_date": {
|
|
"description": "Due date for this task, in RFC 3339 format",
|
|
"type": "string",
|
|
"x-go-name": "DueDate"
|
|
},
|
|
"milestone_id": {
|
|
"description": "Milestone ID for this task",
|
|
"type": "string",
|
|
"x-go-name": "MilestoneID"
|
|
},
|
|
"project_id": {
|
|
"description": "Project ID for this task",
|
|
"type": "string",
|
|
"x-go-name": "ProjectID"
|
|
},
|
|
"status": {
|
|
"description": "Status for this task\n\n* not_started TaskStatusNotStarted\n\n* in_progress TaskStatusInProgress\n\n* completed TaskStatusCompleted",
|
|
"enum": [
|
|
"not_started",
|
|
"in_progress",
|
|
"completed"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "not_started TaskStatusNotStarted\nin_progress TaskStatusInProgress\ncompleted TaskStatusCompleted",
|
|
"x-go-name": "Status"
|
|
},
|
|
"title": {
|
|
"description": "Title for this task",
|
|
"type": "string",
|
|
"x-go-name": "Title"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"UpdateTaskResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/Task"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"UpdateTeamRequestBody": {
|
|
"properties": {
|
|
"name": {
|
|
"description": "The name of the team.",
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"user_ids": {
|
|
"description": "The list of user IDs to add to the team. If provided, the team members will be updated to be exactly the given users.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "UserIDs"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"UpdateTeamResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/Team"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"UpdateUserRequestBody": {
|
|
"properties": {
|
|
"role_id": {
|
|
"description": "The role_id of the user.",
|
|
"type": "string",
|
|
"x-go-name": "RoleID"
|
|
},
|
|
"status": {
|
|
"description": "The new user status for the user. Can be one of `active`, `away`, or `out_of_office`.",
|
|
"type": "string",
|
|
"x-go-name": "Status"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"UpdateUserResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/User"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"UploadAccountFileResponseBody": {
|
|
"properties": {
|
|
"data": {
|
|
"description": "The data payload of the response.",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Attachment"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Data"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"UploadTrainingDataFileContentRequestBody": {
|
|
"properties": {
|
|
"content": {
|
|
"description": "The text content to upload.",
|
|
"type": "string",
|
|
"x-go-name": "Content"
|
|
},
|
|
"external_id": {
|
|
"description": "External ID for idempotent operations (optional).",
|
|
"type": "string",
|
|
"x-go-name": "ExternalID"
|
|
},
|
|
"file_name": {
|
|
"description": "The name for the uploaded file.",
|
|
"type": "string",
|
|
"x-go-name": "FileName"
|
|
},
|
|
"training_data_id": {
|
|
"description": "The ID of an existing training data container to upload to (optional).",
|
|
"type": "string",
|
|
"x-go-name": "TrainingDataID"
|
|
},
|
|
"training_data_name": {
|
|
"description": "The name of a new training data container (required if training_data_id not provided).",
|
|
"type": "string",
|
|
"x-go-name": "TrainingDataName"
|
|
},
|
|
"visibility": {
|
|
"description": "Visibility of the training data. Defaults to \"everyone\".",
|
|
"type": "string",
|
|
"x-go-name": "Visibility"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"User": {
|
|
"properties": {
|
|
"avatar_url": {
|
|
"description": "The avatar URL of the user.",
|
|
"type": "string",
|
|
"x-go-name": "AvatarURL"
|
|
},
|
|
"email": {
|
|
"description": "The primary email of the user.",
|
|
"type": "string",
|
|
"x-go-name": "Email"
|
|
},
|
|
"emails": {
|
|
"description": "The list of all emails of the user.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Emails"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the user.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"name": {
|
|
"description": "The name of the user.",
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"role_id": {
|
|
"description": "The role_id of the user.",
|
|
"type": "string",
|
|
"x-go-name": "RoleID"
|
|
},
|
|
"status": {
|
|
"description": "The status of the user.",
|
|
"type": "string",
|
|
"x-go-name": "Status"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"UserRole": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the role.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"name": {
|
|
"description": "The name of the role.",
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"slug": {
|
|
"description": "The slug of the role.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"VisibilityConfig": {
|
|
"properties": {
|
|
"ai_agent_access": {
|
|
"description": "AI agent access control for the article. Defaults to inherit from the parent scope when omitted.\n\n* inherit KnowledgeBaseArticleAIAgentAccessInherit Defers the access check to the parent object (Collection or KnowledgeBase).\n\n* none KnowledgeBaseArticleAIAgentAccessNone No AI agents have access to this article.\n\n* specific_agents KnowledgeBaseArticleAIAgentAccessSpecificAgents Only specific AI agents enumerated in the allowlist have access.",
|
|
"enum": [
|
|
"inherit",
|
|
"none",
|
|
"specific_agents"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "inherit KnowledgeBaseArticleAIAgentAccessInherit Defers the access check to the parent object (Collection or KnowledgeBase).\nnone KnowledgeBaseArticleAIAgentAccessNone No AI agents have access to this article.\nspecific_agents KnowledgeBaseArticleAIAgentAccessSpecificAgents Only specific AI agents enumerated in the allowlist have access.",
|
|
"x-go-name": "AiAgentAccess"
|
|
},
|
|
"allowed_agent_ids": {
|
|
"description": "List of AI agent IDs that may access this article when ai_agent_access is set to \"specific_agents\".",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "AllowedAgentIDs"
|
|
},
|
|
"customer_visibility_condition": {
|
|
"$ref": "#/components/schemas/Filter"
|
|
},
|
|
"visibility": {
|
|
"description": "The visibility setting of the article.\n\n* public KnowledgeBaseArticleVisibilityPublic\n\n* customer KnowledgeBaseArticleVisibilityCustomer\n\n* internal_only KnowledgeBaseArticleVisibilityInternalOnly",
|
|
"enum": [
|
|
"public",
|
|
"customer",
|
|
"internal_only"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "public KnowledgeBaseArticleVisibilityPublic\ncustomer KnowledgeBaseArticleVisibilityCustomer\ninternal_only KnowledgeBaseArticleVisibilityInternalOnly",
|
|
"x-go-name": "Visibility"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
},
|
|
"securitySchemes": {
|
|
"bearerAuth": {
|
|
"description": "Authorization: Bearer <token>",
|
|
"scheme": "bearer",
|
|
"type": "http"
|
|
}
|
|
}
|
|
},
|
|
"info": {
|
|
"description": "Documentation of Pylon API.",
|
|
"title": "Pylon API.",
|
|
"version": "1.0.0"
|
|
},
|
|
"openapi": "3.0.1",
|
|
"paths": {
|
|
"/accounts": {
|
|
"get": {
|
|
"description": "Get a list of accounts",
|
|
"operationId": "GetAccounts",
|
|
"parameters": [
|
|
{
|
|
"description": "The cursor to use for pagination.",
|
|
"in": "query",
|
|
"name": "cursor",
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "Cursor"
|
|
},
|
|
"x-go-name": "Cursor"
|
|
},
|
|
{
|
|
"description": "The number of accounts to fetch. Defaults to 100. Must be greater than 0 and less than 1000.",
|
|
"in": "query",
|
|
"name": "limit",
|
|
"required": true,
|
|
"schema": {
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "Limit"
|
|
},
|
|
"x-go-name": "Limit"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"description": "The data payload of the response.",
|
|
"items": {
|
|
"properties": {
|
|
"channels": {
|
|
"description": "Channels associated with the account.",
|
|
"items": {
|
|
"properties": {
|
|
"channel_id": {
|
|
"description": "The ID of the channel. If this is a Microsoft Teams channel, the ID must be in the format of `{team_id}|{channel_id}`.",
|
|
"type": "string",
|
|
"x-go-name": "ChannelID"
|
|
},
|
|
"is_primary": {
|
|
"description": "Whether this channel is the primary channel for the account.",
|
|
"type": "boolean",
|
|
"x-go-name": "IsPrimary"
|
|
},
|
|
"mirror_to": {
|
|
"properties": {
|
|
"channel_id": {
|
|
"description": "The ID of the channel. If this is a Microsoft Teams channel, the ID must be in the format of `{team_id}|{channel_id}`.",
|
|
"type": "string",
|
|
"x-go-name": "ChannelID"
|
|
},
|
|
"source": {
|
|
"description": "The source, which can be one of `[\"slack\", \"microsoft_teams\", \"discord\"]`.",
|
|
"type": "string",
|
|
"x-go-name": "Source"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"source": {
|
|
"description": "The source, which can be one of `[\"slack\", \"microsoft_teams\", \"discord\"]`.",
|
|
"type": "string",
|
|
"x-go-name": "Source"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Channels"
|
|
},
|
|
"created_at": {
|
|
"description": "The creation time of the account.",
|
|
"type": "string",
|
|
"x-go-name": "CreatedAt"
|
|
},
|
|
"crm_settings": {
|
|
"properties": {
|
|
"details": {
|
|
"description": "List of all CRM details for the account.",
|
|
"items": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the CRM for that source.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"source": {
|
|
"description": "The source of the CRM.",
|
|
"type": "string",
|
|
"x-go-name": "Source"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Details"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"custom_fields": {
|
|
"additionalProperties": {
|
|
"properties": {
|
|
"slug": {
|
|
"description": "The slug of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
},
|
|
"value": {
|
|
"description": "The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint.",
|
|
"type": "string",
|
|
"x-go-name": "Value"
|
|
},
|
|
"values": {
|
|
"description": "The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Values"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"description": "Custom fields associated with the account.",
|
|
"type": "object",
|
|
"x-go-name": "CustomFields"
|
|
},
|
|
"domain": {
|
|
"description": "The primary domain of the account.",
|
|
"type": "string",
|
|
"x-go-name": "Domain"
|
|
},
|
|
"domains": {
|
|
"description": "The list of domains associated with the account.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Domains"
|
|
},
|
|
"external_ids": {
|
|
"description": "External IDs associated with the account.",
|
|
"items": {
|
|
"properties": {
|
|
"external_id": {
|
|
"description": "The external ID. Must be unique per object type (ex. account).",
|
|
"type": "string",
|
|
"x-go-name": "ExternalID"
|
|
},
|
|
"label": {
|
|
"description": "The label of the external ID. Must be unique per object.",
|
|
"type": "string",
|
|
"x-go-name": "Label"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "ExternalIDs"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the account.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"latest_customer_activity_time": {
|
|
"description": "The time of the latest customer activity.",
|
|
"type": "string",
|
|
"x-go-name": "LatestCustomerActivityTime"
|
|
},
|
|
"name": {
|
|
"description": "The name of the account.",
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"owner": {
|
|
"properties": {
|
|
"email": {
|
|
"description": "The email of the user.",
|
|
"type": "string",
|
|
"x-go-name": "Email"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the user.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"primary_domain": {
|
|
"description": "The primary domain of the account.",
|
|
"type": "string",
|
|
"x-go-name": "PrimaryDomain"
|
|
},
|
|
"tags": {
|
|
"description": "Tags associated with the account.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Tags"
|
|
},
|
|
"type": {
|
|
"description": "The type of the account.",
|
|
"type": "string",
|
|
"x-go-name": "Type"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Data"
|
|
},
|
|
"pagination": {
|
|
"properties": {
|
|
"cursor": {
|
|
"description": "The cursor for the next page of results.",
|
|
"type": "string",
|
|
"x-go-name": "Cursor"
|
|
},
|
|
"has_next_page": {
|
|
"description": "Indicates if there is a next page of results.",
|
|
"type": "boolean",
|
|
"x-go-name": "HasNextPage"
|
|
}
|
|
},
|
|
"required": [
|
|
"cursor",
|
|
"has_next_page"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"accounts"
|
|
],
|
|
"x-moar-primitive-count": 0,
|
|
"x-moar-complexity-skipped": false
|
|
},
|
|
"patch": {
|
|
"description": "Update multiple accounts",
|
|
"operationId": "UpdateAccounts",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"account_ids": {
|
|
"description": "The account IDs to update. The number of accounts to update must be between 1 and 100.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "AccountIDs"
|
|
},
|
|
"custom_fields": {
|
|
"description": "An array of custom fields to be updated on the accounts.",
|
|
"items": {
|
|
"properties": {
|
|
"slug": {
|
|
"description": "The slug of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
},
|
|
"value": {
|
|
"description": "The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint.",
|
|
"type": "string",
|
|
"x-go-name": "Value"
|
|
},
|
|
"values": {
|
|
"description": "The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Values"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "CustomFields"
|
|
},
|
|
"owner_id": {
|
|
"description": "The ID of the new owner. If empty string is passed in, the owner will be removed.",
|
|
"type": "string",
|
|
"x-go-name": "OwnerID"
|
|
},
|
|
"tags": {
|
|
"description": "An array of tags to be updated on the accounts.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Tags"
|
|
},
|
|
"tags_apply_mode": {
|
|
"description": "The mode for applying tags. Valid values: \"append_only\", \"remove_only\", \"replace\". Defaults to \"replace\".",
|
|
"type": "string",
|
|
"x-go-name": "TagsApplyMode"
|
|
}
|
|
},
|
|
"required": [
|
|
"account_ids"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"required": false
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
},
|
|
"success": {
|
|
"description": "Whether the update was successfully initiated.",
|
|
"type": "boolean",
|
|
"x-go-name": "Success"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"accounts"
|
|
],
|
|
"x-codegen-request-body-name": "Body",
|
|
"x-moar-primitive-count": 7,
|
|
"x-moar-complexity-skipped": false
|
|
},
|
|
"post": {
|
|
"description": "Create a new account",
|
|
"operationId": "CreateAccount",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"channels": {
|
|
"description": "An array of channels to be linked to this account.",
|
|
"items": {
|
|
"properties": {
|
|
"channel_id": {
|
|
"description": "The ID of the channel. If this is a Microsoft Teams channel, the ID must be in the format of `{team_id}|{channel_id}`.",
|
|
"type": "string",
|
|
"x-go-name": "ChannelID"
|
|
},
|
|
"is_primary": {
|
|
"description": "Whether this channel is the primary channel for the account.",
|
|
"type": "boolean",
|
|
"x-go-name": "IsPrimary"
|
|
},
|
|
"mirror_to": {
|
|
"properties": {
|
|
"channel_id": {
|
|
"description": "The ID of the channel. If this is a Microsoft Teams channel, the ID must be in the format of `{team_id}|{channel_id}`.",
|
|
"type": "string",
|
|
"x-go-name": "ChannelID"
|
|
},
|
|
"source": {
|
|
"description": "The source, which can be one of `[\"slack\", \"microsoft_teams\", \"discord\"]`.",
|
|
"type": "string",
|
|
"x-go-name": "Source"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"source": {
|
|
"description": "The source, which can be one of `[\"slack\", \"microsoft_teams\", \"discord\"]`.",
|
|
"type": "string",
|
|
"x-go-name": "Source"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Channels"
|
|
},
|
|
"custom_fields": {
|
|
"description": "An array of custom fields to be used on this account.",
|
|
"items": {
|
|
"properties": {
|
|
"slug": {
|
|
"description": "The slug of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
},
|
|
"value": {
|
|
"description": "The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint.",
|
|
"type": "string",
|
|
"x-go-name": "Value"
|
|
},
|
|
"values": {
|
|
"description": "The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Values"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "CustomFields"
|
|
},
|
|
"domain": {
|
|
"description": "Deprecated. Please use Domains and PrimaryDomain instead.",
|
|
"type": "string",
|
|
"x-go-name": "Domain"
|
|
},
|
|
"domains": {
|
|
"description": "The domains of the account, without any leading scheme, for example stripe.com. Must specify one domain as primary.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Domains"
|
|
},
|
|
"external_ids": {
|
|
"description": "An array of external IDs to be used on this account. If provided, the accounts external IDs will be updated to the given external IDs.",
|
|
"items": {
|
|
"properties": {
|
|
"external_id": {
|
|
"description": "The external ID. Must be unique per object type (ex. account).",
|
|
"type": "string",
|
|
"x-go-name": "ExternalID"
|
|
},
|
|
"label": {
|
|
"description": "The label of the external ID. Must be unique per object.",
|
|
"type": "string",
|
|
"x-go-name": "Label"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "ExternalIDs"
|
|
},
|
|
"logo_url": {
|
|
"description": "The logo URL of the account. Must be a square .png, .jpg or .jpeg.",
|
|
"type": "string",
|
|
"x-go-name": "LogoURL"
|
|
},
|
|
"name": {
|
|
"description": "The name of the account.",
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"owner_id": {
|
|
"description": "The ID of the owner of the account.",
|
|
"type": "string",
|
|
"x-go-name": "OwnerID"
|
|
},
|
|
"primary_domain": {
|
|
"description": "Must be in the list of domains. If there are any domains, there must be exactly one primary domain.",
|
|
"type": "string",
|
|
"x-go-name": "PrimaryDomain"
|
|
},
|
|
"tags": {
|
|
"description": "An array of strings to use as tags on this account. If provided, the accounts tags will be updated to the given tags.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Tags"
|
|
}
|
|
},
|
|
"required": [
|
|
"name"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"required": false
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"properties": {
|
|
"channels": {
|
|
"description": "Channels associated with the account.",
|
|
"items": {
|
|
"properties": {
|
|
"channel_id": {
|
|
"description": "The ID of the channel. If this is a Microsoft Teams channel, the ID must be in the format of `{team_id}|{channel_id}`.",
|
|
"type": "string",
|
|
"x-go-name": "ChannelID"
|
|
},
|
|
"is_primary": {
|
|
"description": "Whether this channel is the primary channel for the account.",
|
|
"type": "boolean",
|
|
"x-go-name": "IsPrimary"
|
|
},
|
|
"mirror_to": {
|
|
"properties": {
|
|
"channel_id": {
|
|
"description": "The ID of the channel. If this is a Microsoft Teams channel, the ID must be in the format of `{team_id}|{channel_id}`.",
|
|
"type": "string",
|
|
"x-go-name": "ChannelID"
|
|
},
|
|
"source": {
|
|
"description": "The source, which can be one of `[\"slack\", \"microsoft_teams\", \"discord\"]`.",
|
|
"type": "string",
|
|
"x-go-name": "Source"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"source": {
|
|
"description": "The source, which can be one of `[\"slack\", \"microsoft_teams\", \"discord\"]`.",
|
|
"type": "string",
|
|
"x-go-name": "Source"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Channels"
|
|
},
|
|
"created_at": {
|
|
"description": "The creation time of the account.",
|
|
"type": "string",
|
|
"x-go-name": "CreatedAt"
|
|
},
|
|
"crm_settings": {
|
|
"properties": {
|
|
"details": {
|
|
"description": "List of all CRM details for the account.",
|
|
"items": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the CRM for that source.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"source": {
|
|
"description": "The source of the CRM.",
|
|
"type": "string",
|
|
"x-go-name": "Source"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Details"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"custom_fields": {
|
|
"additionalProperties": {
|
|
"properties": {
|
|
"slug": {
|
|
"description": "The slug of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
},
|
|
"value": {
|
|
"description": "The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint.",
|
|
"type": "string",
|
|
"x-go-name": "Value"
|
|
},
|
|
"values": {
|
|
"description": "The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Values"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"description": "Custom fields associated with the account.",
|
|
"type": "object",
|
|
"x-go-name": "CustomFields"
|
|
},
|
|
"domain": {
|
|
"description": "The primary domain of the account.",
|
|
"type": "string",
|
|
"x-go-name": "Domain"
|
|
},
|
|
"domains": {
|
|
"description": "The list of domains associated with the account.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Domains"
|
|
},
|
|
"external_ids": {
|
|
"description": "External IDs associated with the account.",
|
|
"items": {
|
|
"properties": {
|
|
"external_id": {
|
|
"description": "The external ID. Must be unique per object type (ex. account).",
|
|
"type": "string",
|
|
"x-go-name": "ExternalID"
|
|
},
|
|
"label": {
|
|
"description": "The label of the external ID. Must be unique per object.",
|
|
"type": "string",
|
|
"x-go-name": "Label"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "ExternalIDs"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the account.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"latest_customer_activity_time": {
|
|
"description": "The time of the latest customer activity.",
|
|
"type": "string",
|
|
"x-go-name": "LatestCustomerActivityTime"
|
|
},
|
|
"name": {
|
|
"description": "The name of the account.",
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"owner": {
|
|
"properties": {
|
|
"email": {
|
|
"description": "The email of the user.",
|
|
"type": "string",
|
|
"x-go-name": "Email"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the user.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"primary_domain": {
|
|
"description": "The primary domain of the account.",
|
|
"type": "string",
|
|
"x-go-name": "PrimaryDomain"
|
|
},
|
|
"tags": {
|
|
"description": "Tags associated with the account.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Tags"
|
|
},
|
|
"type": {
|
|
"description": "The type of the account.",
|
|
"type": "string",
|
|
"x-go-name": "Type"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"accounts"
|
|
],
|
|
"x-codegen-request-body-name": "Body",
|
|
"x-moar-primitive-count": 17,
|
|
"x-moar-complexity-skipped": false
|
|
}
|
|
},
|
|
"/accounts/search": {
|
|
"post": {
|
|
"description": "Currently, the following fields are filterable for accounts:\n\n* domains. Allowed operators: `contains`, `does_not_contain`, `in`, `not_in`\n\n* tags. Allowed operators: `contains`, `does_not_contain`, `in`, `not_in`\n\n* name. Allowed operators: `equals`, `in`, `not_in`\n\n* external_ids. Allowed operators: `equals`, `in`, `not_in`, `is_set`, `is_unset`\n\n* custom fields (pass in the slug of the custom field)",
|
|
"operationId": "SearchAccounts",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"cursor": {
|
|
"description": "The cursor to use for pagination.",
|
|
"type": "string",
|
|
"x-go-name": "Cursor"
|
|
},
|
|
"filter": {
|
|
"properties": {
|
|
"field": {
|
|
"description": "The field for this filter. For allowed fields, see the documentation for\n\nthe specific endpoint you are using.\n\nFor non-compound filters (any operators other than \"and\" or \"or\"),\n\nField must be set, along with either Value or Values, depending on the operator.",
|
|
"type": "string",
|
|
"x-go-name": "Field"
|
|
},
|
|
"operator": {
|
|
"description": "The operator for this filter.\n\n* equals FilterOperatorEquals Matches objects that are exactly equal to the value in the field.\n\n* not_equals FilterOperatorNotEquals Matches objects that are not exactly equal to the value in the field.\n\n* contains FilterOperatorContains For a multi-valued field, such as tags, this operator will match objects that contain any of the values in the field.\n\n* does_not_contain FilterOperatorDoesNotContain For a multi-valued field, such as tags, this operator will match objects that do not contain any of the values in the field.\n\n* in FilterOperatorIn Matches objects if the field is one of several possible values, as specified in the values array.\n\n* not_in FilterOperatorNotIn Matches objects if the field is none of several possible values, as specified in the values array.\n\n* and FilterOperatorAnd Matches objects only if all subfilters match.\n\n* or FilterOperatorOr Matches objects if any subfilter matches.\n\n* time_is_after FilterOperatorTimeIsAfter Matches objects if the field is after the given time.\n\n* time_is_before FilterOperatorTimeIsBefore Matches objects if the field is before the given time.\n\n* time_range FilterOperatorTimeRange Matches objects if the field is between the given times.\n\n* string_contains FilterOperatorStringContains Matches objects if the field contains the given string.\n\n* string_does_not_contain FilterOperatorStringDoesNotContain Matches objects if the field does not contain the given string.\n\n* is_set FilterOperatorIsSet FilterOperatorIsSet matches objects if the field is set.\n\n* is_unset FilterOperatorIsUnset FilterOperatorIsUnset matches objects if the field is unset.",
|
|
"enum": [
|
|
"equals",
|
|
"not_equals",
|
|
"contains",
|
|
"does_not_contain",
|
|
"in",
|
|
"not_in",
|
|
"and",
|
|
"or",
|
|
"time_is_after",
|
|
"time_is_before",
|
|
"time_range",
|
|
"string_contains",
|
|
"string_does_not_contain",
|
|
"is_set",
|
|
"is_unset"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "equals FilterOperatorEquals Matches objects that are exactly equal to the value in the field.\nnot_equals FilterOperatorNotEquals Matches objects that are not exactly equal to the value in the field.\ncontains FilterOperatorContains For a multi-valued field, such as tags, this operator will match objects that contain any of the values in the field.\ndoes_not_contain FilterOperatorDoesNotContain For a multi-valued field, such as tags, this operator will match objects that do not contain any of the values in the field.\nin FilterOperatorIn Matches objects if the field is one of several possible values, as specified in the values array.\nnot_in FilterOperatorNotIn Matches objects if the field is none of several possible values, as specified in the values array.\nand FilterOperatorAnd Matches objects only if all subfilters match.\nor FilterOperatorOr Matches objects if any subfilter matches.\ntime_is_after FilterOperatorTimeIsAfter Matches objects if the field is after the given time.\ntime_is_before FilterOperatorTimeIsBefore Matches objects if the field is before the given time.\ntime_range FilterOperatorTimeRange Matches objects if the field is between the given times.\nstring_contains FilterOperatorStringContains Matches objects if the field contains the given string.\nstring_does_not_contain FilterOperatorStringDoesNotContain Matches objects if the field does not contain the given string.\nis_set FilterOperatorIsSet FilterOperatorIsSet matches objects if the field is set.\nis_unset FilterOperatorIsUnset FilterOperatorIsUnset matches objects if the field is unset.",
|
|
"x-go-name": "Operator"
|
|
},
|
|
"subfilters": {
|
|
"description": "Sub-filters for this filter. Valid only when operator is \"and\" or \"or\".\n\nThe maximum allowed depth for a tree of filters is 3.",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Filter",
|
|
"has_circular_reference": true
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Subfilters"
|
|
},
|
|
"value": {
|
|
"description": "The value for this filter. Only used for single-valued operators\n\n(\"equals\", \"not_equals\", \"contains\", \"does_not_contain\")",
|
|
"type": "string",
|
|
"x-go-name": "Value"
|
|
},
|
|
"values": {
|
|
"description": "The values for this filter. Only used for multi-valued operators (\"in\", \"not_in\").",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Values"
|
|
}
|
|
},
|
|
"required": [
|
|
"field",
|
|
"operator"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"limit": {
|
|
"description": "The number of accounts to fetch. Defaults to 100. Must be greater than 0 and less than 1000.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "Limit"
|
|
}
|
|
},
|
|
"required": [
|
|
"filter"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"required": false
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"description": "The data payload of the response.",
|
|
"items": {
|
|
"properties": {
|
|
"channels": {
|
|
"description": "Channels associated with the account.",
|
|
"items": {
|
|
"properties": {
|
|
"channel_id": {
|
|
"description": "The ID of the channel. If this is a Microsoft Teams channel, the ID must be in the format of `{team_id}|{channel_id}`.",
|
|
"type": "string",
|
|
"x-go-name": "ChannelID"
|
|
},
|
|
"is_primary": {
|
|
"description": "Whether this channel is the primary channel for the account.",
|
|
"type": "boolean",
|
|
"x-go-name": "IsPrimary"
|
|
},
|
|
"mirror_to": {
|
|
"properties": {
|
|
"channel_id": {
|
|
"description": "The ID of the channel. If this is a Microsoft Teams channel, the ID must be in the format of `{team_id}|{channel_id}`.",
|
|
"type": "string",
|
|
"x-go-name": "ChannelID"
|
|
},
|
|
"source": {
|
|
"description": "The source, which can be one of `[\"slack\", \"microsoft_teams\", \"discord\"]`.",
|
|
"type": "string",
|
|
"x-go-name": "Source"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"source": {
|
|
"description": "The source, which can be one of `[\"slack\", \"microsoft_teams\", \"discord\"]`.",
|
|
"type": "string",
|
|
"x-go-name": "Source"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Channels"
|
|
},
|
|
"created_at": {
|
|
"description": "The creation time of the account.",
|
|
"type": "string",
|
|
"x-go-name": "CreatedAt"
|
|
},
|
|
"crm_settings": {
|
|
"properties": {
|
|
"details": {
|
|
"description": "List of all CRM details for the account.",
|
|
"items": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the CRM for that source.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"source": {
|
|
"description": "The source of the CRM.",
|
|
"type": "string",
|
|
"x-go-name": "Source"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Details"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"custom_fields": {
|
|
"additionalProperties": {
|
|
"properties": {
|
|
"slug": {
|
|
"description": "The slug of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
},
|
|
"value": {
|
|
"description": "The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint.",
|
|
"type": "string",
|
|
"x-go-name": "Value"
|
|
},
|
|
"values": {
|
|
"description": "The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Values"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"description": "Custom fields associated with the account.",
|
|
"type": "object",
|
|
"x-go-name": "CustomFields"
|
|
},
|
|
"domain": {
|
|
"description": "The primary domain of the account.",
|
|
"type": "string",
|
|
"x-go-name": "Domain"
|
|
},
|
|
"domains": {
|
|
"description": "The list of domains associated with the account.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Domains"
|
|
},
|
|
"external_ids": {
|
|
"description": "External IDs associated with the account.",
|
|
"items": {
|
|
"properties": {
|
|
"external_id": {
|
|
"description": "The external ID. Must be unique per object type (ex. account).",
|
|
"type": "string",
|
|
"x-go-name": "ExternalID"
|
|
},
|
|
"label": {
|
|
"description": "The label of the external ID. Must be unique per object.",
|
|
"type": "string",
|
|
"x-go-name": "Label"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "ExternalIDs"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the account.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"latest_customer_activity_time": {
|
|
"description": "The time of the latest customer activity.",
|
|
"type": "string",
|
|
"x-go-name": "LatestCustomerActivityTime"
|
|
},
|
|
"name": {
|
|
"description": "The name of the account.",
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"owner": {
|
|
"properties": {
|
|
"email": {
|
|
"description": "The email of the user.",
|
|
"type": "string",
|
|
"x-go-name": "Email"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the user.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"primary_domain": {
|
|
"description": "The primary domain of the account.",
|
|
"type": "string",
|
|
"x-go-name": "PrimaryDomain"
|
|
},
|
|
"tags": {
|
|
"description": "Tags associated with the account.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Tags"
|
|
},
|
|
"type": {
|
|
"description": "The type of the account.",
|
|
"type": "string",
|
|
"x-go-name": "Type"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Data"
|
|
},
|
|
"pagination": {
|
|
"properties": {
|
|
"cursor": {
|
|
"description": "The cursor for the next page of results.",
|
|
"type": "string",
|
|
"x-go-name": "Cursor"
|
|
},
|
|
"has_next_page": {
|
|
"description": "Indicates if there is a next page of results.",
|
|
"type": "boolean",
|
|
"x-go-name": "HasNextPage"
|
|
}
|
|
},
|
|
"required": [
|
|
"cursor",
|
|
"has_next_page"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"summary": "Search for accounts by a given filter",
|
|
"tags": [
|
|
"accounts"
|
|
],
|
|
"x-codegen-request-body-name": "Body",
|
|
"x-moar-primitive-count": 7,
|
|
"x-moar-complexity-skipped": false
|
|
}
|
|
},
|
|
"/accounts/{account_id}/highlights": {
|
|
"post": {
|
|
"description": "The {account_id} parameter accepts either:\n\nInternal account ID (UUID format)\n\nExternal ID (any string format)",
|
|
"operationId": "CreateAccountHighlight",
|
|
"parameters": [
|
|
{
|
|
"description": "The ID or external ID of the account that the highlight belongs to.",
|
|
"in": "path",
|
|
"name": "account_id",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "AccountID"
|
|
},
|
|
"x-go-name": "AccountID"
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"content_html": {
|
|
"description": "The HTML content for this highlight.",
|
|
"type": "string",
|
|
"x-go-name": "ContentHTML"
|
|
},
|
|
"expires_at": {
|
|
"description": "Optional RFC3339 timestamp of when this highlight will expire.",
|
|
"type": "string",
|
|
"x-go-name": "ExpiresAt"
|
|
}
|
|
},
|
|
"required": [
|
|
"content_html"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"required": false
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"properties": {
|
|
"account_id": {
|
|
"description": "The ID of the account this highlight belongs to.",
|
|
"type": "string",
|
|
"x-go-name": "AccountID"
|
|
},
|
|
"content_html": {
|
|
"description": "The HTML content of the highlight.",
|
|
"type": "string",
|
|
"x-go-name": "ContentHTML"
|
|
},
|
|
"created_at": {
|
|
"description": "The timestamp of when the highlight was created.",
|
|
"type": "string",
|
|
"x-go-name": "CreatedAt"
|
|
},
|
|
"expires_at": {
|
|
"description": "The timestamp of when the highlight expires, if set.",
|
|
"type": "string",
|
|
"x-go-name": "ExpiresAt"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the account highlight.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"updated_at": {
|
|
"description": "The timestamp of when the highlight was last updated.",
|
|
"type": "string",
|
|
"x-go-name": "UpdatedAt"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"request_id": {
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"summary": "Creates a new account highlight.",
|
|
"tags": [
|
|
"account-highlights"
|
|
],
|
|
"x-codegen-request-body-name": "Body",
|
|
"x-moar-primitive-count": 2,
|
|
"x-moar-complexity-skipped": false
|
|
}
|
|
},
|
|
"/accounts/{account_id}/highlights/{highlight_id}": {
|
|
"delete": {
|
|
"description": "The {account_id} parameter accepts either:\n\nInternal account ID (UUID format)\n\nExternal ID (any string format)",
|
|
"operationId": "DeleteAccountHighlight",
|
|
"parameters": [
|
|
{
|
|
"description": "The ID or external ID of the account that the highlight belongs to.",
|
|
"in": "path",
|
|
"name": "account_id",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "AccountID"
|
|
},
|
|
"x-go-name": "AccountID"
|
|
},
|
|
{
|
|
"description": "The ID of the highlight to delete.",
|
|
"in": "path",
|
|
"name": "highlight_id",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "HighlightID"
|
|
},
|
|
"x-go-name": "HighlightID"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean",
|
|
"x-go-name": "Success"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"request_id": {
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": "",
|
|
"headers": {
|
|
"Body": {
|
|
"schema": {
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"summary": "Deletes an account highlight.",
|
|
"tags": [
|
|
"account-highlights"
|
|
],
|
|
"x-moar-primitive-count": 0,
|
|
"x-moar-complexity-skipped": false
|
|
},
|
|
"patch": {
|
|
"description": "The {account_id} parameter accepts either:\n\nInternal account ID (UUID format)\n\nExternal ID (any string format)",
|
|
"operationId": "UpdateAccountHighlight",
|
|
"parameters": [
|
|
{
|
|
"description": "The ID of the highlight to update.",
|
|
"in": "path",
|
|
"name": "highlight_id",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "HighlightID"
|
|
},
|
|
"x-go-name": "HighlightID"
|
|
},
|
|
{
|
|
"description": "The ID or external ID of the account that the highlight belongs to.",
|
|
"in": "path",
|
|
"name": "account_id",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "AccountID"
|
|
},
|
|
"x-go-name": "AccountID"
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"content_html": {
|
|
"description": "The updated HTML content for this highlight.",
|
|
"type": "string",
|
|
"x-go-name": "ContentHTML"
|
|
},
|
|
"expires_at": {
|
|
"description": "The updated expires at timestamp (RFC3339).",
|
|
"type": "string",
|
|
"x-go-name": "ExpiresAt"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"required": false
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"properties": {
|
|
"account_id": {
|
|
"description": "The ID of the account this highlight belongs to.",
|
|
"type": "string",
|
|
"x-go-name": "AccountID"
|
|
},
|
|
"content_html": {
|
|
"description": "The HTML content of the highlight.",
|
|
"type": "string",
|
|
"x-go-name": "ContentHTML"
|
|
},
|
|
"created_at": {
|
|
"description": "The timestamp of when the highlight was created.",
|
|
"type": "string",
|
|
"x-go-name": "CreatedAt"
|
|
},
|
|
"expires_at": {
|
|
"description": "The timestamp of when the highlight expires, if set.",
|
|
"type": "string",
|
|
"x-go-name": "ExpiresAt"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the account highlight.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"updated_at": {
|
|
"description": "The timestamp of when the highlight was last updated.",
|
|
"type": "string",
|
|
"x-go-name": "UpdatedAt"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"request_id": {
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"summary": "Updates an account highlight.",
|
|
"tags": [
|
|
"account-highlights"
|
|
],
|
|
"x-codegen-request-body-name": "Body",
|
|
"x-moar-primitive-count": 2,
|
|
"x-moar-complexity-skipped": false
|
|
}
|
|
},
|
|
"/accounts/{id}": {
|
|
"delete": {
|
|
"description": "Delete an existing account",
|
|
"operationId": "DeleteAccount",
|
|
"parameters": [
|
|
{
|
|
"description": "The ID or external ID of the account to delete.",
|
|
"in": "path",
|
|
"name": "id",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"x-go-name": "ID"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"accounts"
|
|
],
|
|
"x-moar-primitive-count": 0,
|
|
"x-moar-complexity-skipped": false
|
|
},
|
|
"get": {
|
|
"description": "Get an account by its ID or external ID",
|
|
"operationId": "GetAccount",
|
|
"parameters": [
|
|
{
|
|
"description": "The ID or external ID of the account to fetch.",
|
|
"in": "path",
|
|
"name": "id",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"x-go-name": "ID"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"properties": {
|
|
"channels": {
|
|
"description": "Channels associated with the account.",
|
|
"items": {
|
|
"properties": {
|
|
"channel_id": {
|
|
"description": "The ID of the channel. If this is a Microsoft Teams channel, the ID must be in the format of `{team_id}|{channel_id}`.",
|
|
"type": "string",
|
|
"x-go-name": "ChannelID"
|
|
},
|
|
"is_primary": {
|
|
"description": "Whether this channel is the primary channel for the account.",
|
|
"type": "boolean",
|
|
"x-go-name": "IsPrimary"
|
|
},
|
|
"mirror_to": {
|
|
"properties": {
|
|
"channel_id": {
|
|
"description": "The ID of the channel. If this is a Microsoft Teams channel, the ID must be in the format of `{team_id}|{channel_id}`.",
|
|
"type": "string",
|
|
"x-go-name": "ChannelID"
|
|
},
|
|
"source": {
|
|
"description": "The source, which can be one of `[\"slack\", \"microsoft_teams\", \"discord\"]`.",
|
|
"type": "string",
|
|
"x-go-name": "Source"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"source": {
|
|
"description": "The source, which can be one of `[\"slack\", \"microsoft_teams\", \"discord\"]`.",
|
|
"type": "string",
|
|
"x-go-name": "Source"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Channels"
|
|
},
|
|
"created_at": {
|
|
"description": "The creation time of the account.",
|
|
"type": "string",
|
|
"x-go-name": "CreatedAt"
|
|
},
|
|
"crm_settings": {
|
|
"properties": {
|
|
"details": {
|
|
"description": "List of all CRM details for the account.",
|
|
"items": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the CRM for that source.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"source": {
|
|
"description": "The source of the CRM.",
|
|
"type": "string",
|
|
"x-go-name": "Source"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Details"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"custom_fields": {
|
|
"additionalProperties": {
|
|
"properties": {
|
|
"slug": {
|
|
"description": "The slug of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
},
|
|
"value": {
|
|
"description": "The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint.",
|
|
"type": "string",
|
|
"x-go-name": "Value"
|
|
},
|
|
"values": {
|
|
"description": "The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Values"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"description": "Custom fields associated with the account.",
|
|
"type": "object",
|
|
"x-go-name": "CustomFields"
|
|
},
|
|
"domain": {
|
|
"description": "The primary domain of the account.",
|
|
"type": "string",
|
|
"x-go-name": "Domain"
|
|
},
|
|
"domains": {
|
|
"description": "The list of domains associated with the account.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Domains"
|
|
},
|
|
"external_ids": {
|
|
"description": "External IDs associated with the account.",
|
|
"items": {
|
|
"properties": {
|
|
"external_id": {
|
|
"description": "The external ID. Must be unique per object type (ex. account).",
|
|
"type": "string",
|
|
"x-go-name": "ExternalID"
|
|
},
|
|
"label": {
|
|
"description": "The label of the external ID. Must be unique per object.",
|
|
"type": "string",
|
|
"x-go-name": "Label"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "ExternalIDs"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the account.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"latest_customer_activity_time": {
|
|
"description": "The time of the latest customer activity.",
|
|
"type": "string",
|
|
"x-go-name": "LatestCustomerActivityTime"
|
|
},
|
|
"name": {
|
|
"description": "The name of the account.",
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"owner": {
|
|
"properties": {
|
|
"email": {
|
|
"description": "The email of the user.",
|
|
"type": "string",
|
|
"x-go-name": "Email"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the user.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"primary_domain": {
|
|
"description": "The primary domain of the account.",
|
|
"type": "string",
|
|
"x-go-name": "PrimaryDomain"
|
|
},
|
|
"tags": {
|
|
"description": "Tags associated with the account.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Tags"
|
|
},
|
|
"type": {
|
|
"description": "The type of the account.",
|
|
"type": "string",
|
|
"x-go-name": "Type"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"accounts"
|
|
],
|
|
"x-moar-primitive-count": 0,
|
|
"x-moar-complexity-skipped": false
|
|
},
|
|
"patch": {
|
|
"description": "Update an existing account",
|
|
"operationId": "UpdateAccount",
|
|
"parameters": [
|
|
{
|
|
"description": "The ID or external ID of the account to update.",
|
|
"in": "path",
|
|
"name": "id",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"x-go-name": "ID"
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"channels": {
|
|
"description": "An array of channels to be linked to this account.",
|
|
"items": {
|
|
"properties": {
|
|
"channel_id": {
|
|
"description": "The ID of the channel. If this is a Microsoft Teams channel, the ID must be in the format of `{team_id}|{channel_id}`.",
|
|
"type": "string",
|
|
"x-go-name": "ChannelID"
|
|
},
|
|
"is_primary": {
|
|
"description": "Whether this channel is the primary channel for the account.",
|
|
"type": "boolean",
|
|
"x-go-name": "IsPrimary"
|
|
},
|
|
"mirror_to": {
|
|
"properties": {
|
|
"channel_id": {
|
|
"description": "The ID of the channel. If this is a Microsoft Teams channel, the ID must be in the format of `{team_id}|{channel_id}`.",
|
|
"type": "string",
|
|
"x-go-name": "ChannelID"
|
|
},
|
|
"source": {
|
|
"description": "The source, which can be one of `[\"slack\", \"microsoft_teams\", \"discord\"]`.",
|
|
"type": "string",
|
|
"x-go-name": "Source"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"source": {
|
|
"description": "The source, which can be one of `[\"slack\", \"microsoft_teams\", \"discord\"]`.",
|
|
"type": "string",
|
|
"x-go-name": "Source"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Channels"
|
|
},
|
|
"custom_fields": {
|
|
"description": "An array of custom fields to be used on this account.",
|
|
"items": {
|
|
"properties": {
|
|
"slug": {
|
|
"description": "The slug of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
},
|
|
"value": {
|
|
"description": "The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint.",
|
|
"type": "string",
|
|
"x-go-name": "Value"
|
|
},
|
|
"values": {
|
|
"description": "The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Values"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "CustomFields"
|
|
},
|
|
"domains": {
|
|
"description": "Domains of the account. Must specify one domain as primary.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Domains"
|
|
},
|
|
"external_ids": {
|
|
"description": "An array of external IDs to be used on this account. If provided, the accounts external IDs will be updated to the given external IDs.",
|
|
"items": {
|
|
"properties": {
|
|
"external_id": {
|
|
"description": "The external ID. Must be unique per object type (ex. account).",
|
|
"type": "string",
|
|
"x-go-name": "ExternalID"
|
|
},
|
|
"label": {
|
|
"description": "The label of the external ID. Must be unique per object.",
|
|
"type": "string",
|
|
"x-go-name": "Label"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "ExternalIDs"
|
|
},
|
|
"logo_url": {
|
|
"description": "Logo URL of the account.",
|
|
"type": "string",
|
|
"x-go-name": "LogoURL"
|
|
},
|
|
"name": {
|
|
"description": "The name of the account.",
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"owner_id": {
|
|
"description": "The ID of the owner of the account.",
|
|
"type": "string",
|
|
"x-go-name": "OwnerID"
|
|
},
|
|
"primary_domain": {
|
|
"description": "Must be in the list of domains. If there are any domains, there must be exactly one primary domain.",
|
|
"type": "string",
|
|
"x-go-name": "PrimaryDomain"
|
|
},
|
|
"tags": {
|
|
"description": "An array of strings to use as tags on this account. If provided, the accounts tags will be updated to the given tags.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Tags"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"required": false
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"properties": {
|
|
"channels": {
|
|
"description": "Channels associated with the account.",
|
|
"items": {
|
|
"properties": {
|
|
"channel_id": {
|
|
"description": "The ID of the channel. If this is a Microsoft Teams channel, the ID must be in the format of `{team_id}|{channel_id}`.",
|
|
"type": "string",
|
|
"x-go-name": "ChannelID"
|
|
},
|
|
"is_primary": {
|
|
"description": "Whether this channel is the primary channel for the account.",
|
|
"type": "boolean",
|
|
"x-go-name": "IsPrimary"
|
|
},
|
|
"mirror_to": {
|
|
"properties": {
|
|
"channel_id": {
|
|
"description": "The ID of the channel. If this is a Microsoft Teams channel, the ID must be in the format of `{team_id}|{channel_id}`.",
|
|
"type": "string",
|
|
"x-go-name": "ChannelID"
|
|
},
|
|
"source": {
|
|
"description": "The source, which can be one of `[\"slack\", \"microsoft_teams\", \"discord\"]`.",
|
|
"type": "string",
|
|
"x-go-name": "Source"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"source": {
|
|
"description": "The source, which can be one of `[\"slack\", \"microsoft_teams\", \"discord\"]`.",
|
|
"type": "string",
|
|
"x-go-name": "Source"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Channels"
|
|
},
|
|
"created_at": {
|
|
"description": "The creation time of the account.",
|
|
"type": "string",
|
|
"x-go-name": "CreatedAt"
|
|
},
|
|
"crm_settings": {
|
|
"properties": {
|
|
"details": {
|
|
"description": "List of all CRM details for the account.",
|
|
"items": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the CRM for that source.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"source": {
|
|
"description": "The source of the CRM.",
|
|
"type": "string",
|
|
"x-go-name": "Source"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Details"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"custom_fields": {
|
|
"additionalProperties": {
|
|
"properties": {
|
|
"slug": {
|
|
"description": "The slug of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
},
|
|
"value": {
|
|
"description": "The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint.",
|
|
"type": "string",
|
|
"x-go-name": "Value"
|
|
},
|
|
"values": {
|
|
"description": "The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Values"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"description": "Custom fields associated with the account.",
|
|
"type": "object",
|
|
"x-go-name": "CustomFields"
|
|
},
|
|
"domain": {
|
|
"description": "The primary domain of the account.",
|
|
"type": "string",
|
|
"x-go-name": "Domain"
|
|
},
|
|
"domains": {
|
|
"description": "The list of domains associated with the account.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Domains"
|
|
},
|
|
"external_ids": {
|
|
"description": "External IDs associated with the account.",
|
|
"items": {
|
|
"properties": {
|
|
"external_id": {
|
|
"description": "The external ID. Must be unique per object type (ex. account).",
|
|
"type": "string",
|
|
"x-go-name": "ExternalID"
|
|
},
|
|
"label": {
|
|
"description": "The label of the external ID. Must be unique per object.",
|
|
"type": "string",
|
|
"x-go-name": "Label"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "ExternalIDs"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the account.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"latest_customer_activity_time": {
|
|
"description": "The time of the latest customer activity.",
|
|
"type": "string",
|
|
"x-go-name": "LatestCustomerActivityTime"
|
|
},
|
|
"name": {
|
|
"description": "The name of the account.",
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"owner": {
|
|
"properties": {
|
|
"email": {
|
|
"description": "The email of the user.",
|
|
"type": "string",
|
|
"x-go-name": "Email"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the user.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"primary_domain": {
|
|
"description": "The primary domain of the account.",
|
|
"type": "string",
|
|
"x-go-name": "PrimaryDomain"
|
|
},
|
|
"tags": {
|
|
"description": "Tags associated with the account.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Tags"
|
|
},
|
|
"type": {
|
|
"description": "The type of the account.",
|
|
"type": "string",
|
|
"x-go-name": "Type"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"accounts"
|
|
],
|
|
"x-codegen-request-body-name": "Body",
|
|
"x-moar-primitive-count": 16,
|
|
"x-moar-complexity-skipped": false
|
|
}
|
|
},
|
|
"/accounts/{id}/activities": {
|
|
"post": {
|
|
"description": "Create a new activity for an account\n\nThe {id} parameter accepts either:\n\nInternal account ID (UUID format)\n\nExternal ID (any string format)",
|
|
"operationId": "CreateActivity",
|
|
"parameters": [
|
|
{
|
|
"description": "The ID or external ID of the account to create the activity for.",
|
|
"in": "path",
|
|
"name": "id",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"x-go-name": "ID"
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"body_html": {
|
|
"description": "Optional HTML content to display in the activity.",
|
|
"type": "string",
|
|
"x-go-name": "BodyHTML"
|
|
},
|
|
"contact_id": {
|
|
"description": "Optional contact ID of the actor of the activity.",
|
|
"type": "string",
|
|
"x-go-name": "ContactID"
|
|
},
|
|
"happened_at": {
|
|
"description": "Timestamp (RFC3339) of when the activity happened. Defaults to the current time if empty.",
|
|
"type": "string",
|
|
"x-go-name": "HappenedAt"
|
|
},
|
|
"link": {
|
|
"description": "Optional link to add to the activity.",
|
|
"type": "string",
|
|
"x-go-name": "Link"
|
|
},
|
|
"link_text": {
|
|
"description": "Optional link text to display on the activity. Defaults to \"Open link\" if not provided. Applies only if a link is provided.",
|
|
"type": "string",
|
|
"x-go-name": "LinkText"
|
|
},
|
|
"slug": {
|
|
"description": "The slug of the activity to create.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
},
|
|
"user_id": {
|
|
"description": "Optional user ID of the actor of the activity.",
|
|
"type": "string",
|
|
"x-go-name": "UserID"
|
|
}
|
|
},
|
|
"required": [
|
|
"slug"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"required": false
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean",
|
|
"x-go-name": "Success"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"request_id": {
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"accounts"
|
|
],
|
|
"x-codegen-request-body-name": "Body",
|
|
"x-moar-primitive-count": 7,
|
|
"x-moar-complexity-skipped": false
|
|
}
|
|
},
|
|
"/accounts/{id}/files": {
|
|
"post": {
|
|
"description": "Upload files to an account",
|
|
"operationId": "UploadAccountFile",
|
|
"parameters": [
|
|
{
|
|
"description": "The ID or external ID of the account to upload files to.",
|
|
"in": "path",
|
|
"name": "id",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"x-go-name": "ID"
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"multipart/form-data": {
|
|
"schema": {
|
|
"properties": {
|
|
"file": {
|
|
"description": "The file to upload.",
|
|
"format": "binary",
|
|
"type": "string",
|
|
"x-go-name": "File"
|
|
},
|
|
"file_url": {
|
|
"description": "The URL to fetch the file from, if the file is not provided.",
|
|
"type": "string",
|
|
"x-go-name": "FileURL"
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"description": "The data payload of the response.",
|
|
"items": {
|
|
"properties": {
|
|
"description": {
|
|
"description": "The description of the attachment.",
|
|
"type": "string",
|
|
"x-go-name": "Description"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the attachment.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"name": {
|
|
"description": "The name of the attachment.",
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"url": {
|
|
"description": "The URL of the attachment.",
|
|
"type": "string",
|
|
"x-go-name": "URL"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Data"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"accounts"
|
|
],
|
|
"x-moar-primitive-count": 2,
|
|
"x-moar-complexity-skipped": false
|
|
}
|
|
},
|
|
"/activity-types": {
|
|
"get": {
|
|
"description": "Get custom activity types",
|
|
"operationId": "GetActivityTypes",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"description": "The data payload of the response.",
|
|
"items": {
|
|
"properties": {
|
|
"icon_url": {
|
|
"description": "The icon url of the activity type.",
|
|
"type": "string",
|
|
"x-go-name": "IconURL"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the activity type.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"label": {
|
|
"description": "The label of the activity type.",
|
|
"type": "string",
|
|
"x-go-name": "Label"
|
|
},
|
|
"slug": {
|
|
"description": "The slug of the activity type.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Data"
|
|
},
|
|
"pagination": {
|
|
"properties": {
|
|
"cursor": {
|
|
"description": "The cursor for the next page of results.",
|
|
"type": "string",
|
|
"x-go-name": "Cursor"
|
|
},
|
|
"has_next_page": {
|
|
"description": "Indicates if there is a next page of results.",
|
|
"type": "boolean",
|
|
"x-go-name": "HasNextPage"
|
|
}
|
|
},
|
|
"required": [
|
|
"cursor",
|
|
"has_next_page"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"activity-types"
|
|
],
|
|
"x-moar-primitive-count": 0,
|
|
"x-moar-complexity-skipped": false
|
|
}
|
|
},
|
|
"/attachments": {
|
|
"post": {
|
|
"description": "Create an attachment",
|
|
"operationId": "CreateAttachment",
|
|
"requestBody": {
|
|
"content": {
|
|
"multipart/form-data": {
|
|
"schema": {
|
|
"properties": {
|
|
"description": {
|
|
"description": "The description of the file.",
|
|
"type": "string",
|
|
"x-go-name": "Description"
|
|
},
|
|
"file": {
|
|
"description": "The file to upload.",
|
|
"format": "binary",
|
|
"type": "string",
|
|
"x-go-name": "File"
|
|
},
|
|
"file_url": {
|
|
"description": "The URL to fetch the file from, if the file is not provided.",
|
|
"type": "string",
|
|
"x-go-name": "FileURL"
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"properties": {
|
|
"description": {
|
|
"description": "The description of the attachment.",
|
|
"type": "string",
|
|
"x-go-name": "Description"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the attachment.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"name": {
|
|
"description": "The name of the attachment.",
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"url": {
|
|
"description": "The URL of the attachment.",
|
|
"type": "string",
|
|
"x-go-name": "URL"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"attachments"
|
|
],
|
|
"x-moar-primitive-count": 3,
|
|
"x-moar-complexity-skipped": false
|
|
}
|
|
},
|
|
"/contacts": {
|
|
"get": {
|
|
"description": "Get all contacts",
|
|
"operationId": "GetContacts",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"description": "The data payload of the response.",
|
|
"items": {
|
|
"properties": {
|
|
"account": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the account.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"avatar_url": {
|
|
"description": "Avatar URL of the contact.",
|
|
"type": "string",
|
|
"x-go-name": "AvatarURL"
|
|
},
|
|
"custom_fields": {
|
|
"additionalProperties": {
|
|
"properties": {
|
|
"slug": {
|
|
"description": "The slug of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
},
|
|
"value": {
|
|
"description": "The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint.",
|
|
"type": "string",
|
|
"x-go-name": "Value"
|
|
},
|
|
"values": {
|
|
"description": "The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Values"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"description": "Custom field values associated with the issue.",
|
|
"type": "object",
|
|
"x-go-name": "CustomFields"
|
|
},
|
|
"email": {
|
|
"description": "The primary email of the contact, if it exists.",
|
|
"type": "string",
|
|
"x-go-name": "Email"
|
|
},
|
|
"emails": {
|
|
"description": "The list of all emails of the contact.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Emails"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the contact.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"name": {
|
|
"description": "The name of the contact.",
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"portal_role": {
|
|
"description": "Portal role assigned to the contact.\n\n* no_access PortalRoleNoAccess\n\n* member PortalRoleMember\n\n* admin PortalRoleAdmin",
|
|
"enum": [
|
|
"no_access",
|
|
"member",
|
|
"admin"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "no_access PortalRoleNoAccess\nmember PortalRoleMember\nadmin PortalRoleAdmin",
|
|
"x-go-name": "PortalRole"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Data"
|
|
},
|
|
"pagination": {
|
|
"properties": {
|
|
"cursor": {
|
|
"description": "The cursor for the next page of results.",
|
|
"type": "string",
|
|
"x-go-name": "Cursor"
|
|
},
|
|
"has_next_page": {
|
|
"description": "Indicates if there is a next page of results.",
|
|
"type": "boolean",
|
|
"x-go-name": "HasNextPage"
|
|
}
|
|
},
|
|
"required": [
|
|
"cursor",
|
|
"has_next_page"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"contacts"
|
|
],
|
|
"x-moar-primitive-count": 0,
|
|
"x-moar-complexity-skipped": false
|
|
},
|
|
"post": {
|
|
"description": "Create a new contact",
|
|
"operationId": "CreateContact",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"account_external_id": {
|
|
"description": "The external ID of the account that this contact belongs to. Cannot be used together with account_id.",
|
|
"type": "string",
|
|
"x-go-name": "AccountExternalID"
|
|
},
|
|
"account_id": {
|
|
"description": "The account that this contact belongs to.",
|
|
"type": "string",
|
|
"x-go-name": "AccountID"
|
|
},
|
|
"avatar_url": {
|
|
"description": "The avatar URL of the contact. Must be a square .png, .jpg or .jpeg.",
|
|
"type": "string",
|
|
"x-go-name": "AvatarUrl"
|
|
},
|
|
"custom_fields": {
|
|
"description": "An array of custom fields to be applied to this contact.",
|
|
"items": {
|
|
"properties": {
|
|
"slug": {
|
|
"description": "The slug of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
},
|
|
"value": {
|
|
"description": "The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint.",
|
|
"type": "string",
|
|
"x-go-name": "Value"
|
|
},
|
|
"values": {
|
|
"description": "The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Values"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "CustomFields"
|
|
},
|
|
"email": {
|
|
"description": "The email of the contact.",
|
|
"type": "string",
|
|
"x-go-name": "Email"
|
|
},
|
|
"name": {
|
|
"description": "The name of the contact.",
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"portal_role": {
|
|
"description": "The portal role to assign to the contact. If not provided uses the default portal role from the portal settings.\n\n* no_access PortalRoleNoAccess\n\n* member PortalRoleMember\n\n* admin PortalRoleAdmin",
|
|
"enum": [
|
|
"no_access",
|
|
"member",
|
|
"admin"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "no_access PortalRoleNoAccess\nmember PortalRoleMember\nadmin PortalRoleAdmin",
|
|
"x-go-name": "PortalRole"
|
|
}
|
|
},
|
|
"required": [
|
|
"name"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"required": false
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"properties": {
|
|
"account": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the account.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"avatar_url": {
|
|
"description": "Avatar URL of the contact.",
|
|
"type": "string",
|
|
"x-go-name": "AvatarURL"
|
|
},
|
|
"custom_fields": {
|
|
"additionalProperties": {
|
|
"properties": {
|
|
"slug": {
|
|
"description": "The slug of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
},
|
|
"value": {
|
|
"description": "The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint.",
|
|
"type": "string",
|
|
"x-go-name": "Value"
|
|
},
|
|
"values": {
|
|
"description": "The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Values"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"description": "Custom field values associated with the issue.",
|
|
"type": "object",
|
|
"x-go-name": "CustomFields"
|
|
},
|
|
"email": {
|
|
"description": "The primary email of the contact, if it exists.",
|
|
"type": "string",
|
|
"x-go-name": "Email"
|
|
},
|
|
"emails": {
|
|
"description": "The list of all emails of the contact.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Emails"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the contact.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"name": {
|
|
"description": "The name of the contact.",
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"portal_role": {
|
|
"description": "Portal role assigned to the contact.\n\n* no_access PortalRoleNoAccess\n\n* member PortalRoleMember\n\n* admin PortalRoleAdmin",
|
|
"enum": [
|
|
"no_access",
|
|
"member",
|
|
"admin"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "no_access PortalRoleNoAccess\nmember PortalRoleMember\nadmin PortalRoleAdmin",
|
|
"x-go-name": "PortalRole"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"contacts"
|
|
],
|
|
"x-codegen-request-body-name": "Body",
|
|
"x-moar-primitive-count": 9,
|
|
"x-moar-complexity-skipped": false
|
|
}
|
|
},
|
|
"/contacts/search": {
|
|
"post": {
|
|
"description": "Currently, the following fields are filterable for contacts:\n\n* id. Allowed operators: `equals`, `in`, `not_in`\n\n* email. Allowed operators: `equals`, `in`, `not_in`, `string_contains`\n\n* custom fields (pass in the slug of the custom field)\n\n* account_id. Allowed operators: `equals`, `in`, `not_in`",
|
|
"operationId": "SearchContacts",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"cursor": {
|
|
"description": "The cursor to use for pagination.",
|
|
"type": "string",
|
|
"x-go-name": "Cursor"
|
|
},
|
|
"filter": {
|
|
"properties": {
|
|
"field": {
|
|
"description": "The field for this filter. For allowed fields, see the documentation for\n\nthe specific endpoint you are using.\n\nFor non-compound filters (any operators other than \"and\" or \"or\"),\n\nField must be set, along with either Value or Values, depending on the operator.",
|
|
"type": "string",
|
|
"x-go-name": "Field"
|
|
},
|
|
"operator": {
|
|
"description": "The operator for this filter.\n\n* equals FilterOperatorEquals Matches objects that are exactly equal to the value in the field.\n\n* not_equals FilterOperatorNotEquals Matches objects that are not exactly equal to the value in the field.\n\n* contains FilterOperatorContains For a multi-valued field, such as tags, this operator will match objects that contain any of the values in the field.\n\n* does_not_contain FilterOperatorDoesNotContain For a multi-valued field, such as tags, this operator will match objects that do not contain any of the values in the field.\n\n* in FilterOperatorIn Matches objects if the field is one of several possible values, as specified in the values array.\n\n* not_in FilterOperatorNotIn Matches objects if the field is none of several possible values, as specified in the values array.\n\n* and FilterOperatorAnd Matches objects only if all subfilters match.\n\n* or FilterOperatorOr Matches objects if any subfilter matches.\n\n* time_is_after FilterOperatorTimeIsAfter Matches objects if the field is after the given time.\n\n* time_is_before FilterOperatorTimeIsBefore Matches objects if the field is before the given time.\n\n* time_range FilterOperatorTimeRange Matches objects if the field is between the given times.\n\n* string_contains FilterOperatorStringContains Matches objects if the field contains the given string.\n\n* string_does_not_contain FilterOperatorStringDoesNotContain Matches objects if the field does not contain the given string.\n\n* is_set FilterOperatorIsSet FilterOperatorIsSet matches objects if the field is set.\n\n* is_unset FilterOperatorIsUnset FilterOperatorIsUnset matches objects if the field is unset.",
|
|
"enum": [
|
|
"equals",
|
|
"not_equals",
|
|
"contains",
|
|
"does_not_contain",
|
|
"in",
|
|
"not_in",
|
|
"and",
|
|
"or",
|
|
"time_is_after",
|
|
"time_is_before",
|
|
"time_range",
|
|
"string_contains",
|
|
"string_does_not_contain",
|
|
"is_set",
|
|
"is_unset"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "equals FilterOperatorEquals Matches objects that are exactly equal to the value in the field.\nnot_equals FilterOperatorNotEquals Matches objects that are not exactly equal to the value in the field.\ncontains FilterOperatorContains For a multi-valued field, such as tags, this operator will match objects that contain any of the values in the field.\ndoes_not_contain FilterOperatorDoesNotContain For a multi-valued field, such as tags, this operator will match objects that do not contain any of the values in the field.\nin FilterOperatorIn Matches objects if the field is one of several possible values, as specified in the values array.\nnot_in FilterOperatorNotIn Matches objects if the field is none of several possible values, as specified in the values array.\nand FilterOperatorAnd Matches objects only if all subfilters match.\nor FilterOperatorOr Matches objects if any subfilter matches.\ntime_is_after FilterOperatorTimeIsAfter Matches objects if the field is after the given time.\ntime_is_before FilterOperatorTimeIsBefore Matches objects if the field is before the given time.\ntime_range FilterOperatorTimeRange Matches objects if the field is between the given times.\nstring_contains FilterOperatorStringContains Matches objects if the field contains the given string.\nstring_does_not_contain FilterOperatorStringDoesNotContain Matches objects if the field does not contain the given string.\nis_set FilterOperatorIsSet FilterOperatorIsSet matches objects if the field is set.\nis_unset FilterOperatorIsUnset FilterOperatorIsUnset matches objects if the field is unset.",
|
|
"x-go-name": "Operator"
|
|
},
|
|
"subfilters": {
|
|
"description": "Sub-filters for this filter. Valid only when operator is \"and\" or \"or\".\n\nThe maximum allowed depth for a tree of filters is 3.",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Filter",
|
|
"has_circular_reference": true
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Subfilters"
|
|
},
|
|
"value": {
|
|
"description": "The value for this filter. Only used for single-valued operators\n\n(\"equals\", \"not_equals\", \"contains\", \"does_not_contain\")",
|
|
"type": "string",
|
|
"x-go-name": "Value"
|
|
},
|
|
"values": {
|
|
"description": "The values for this filter. Only used for multi-valued operators (\"in\", \"not_in\").",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Values"
|
|
}
|
|
},
|
|
"required": [
|
|
"field",
|
|
"operator"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"limit": {
|
|
"description": "The number of contacts to fetch. Defaults to 100. Must be greater than 0 and less than 1000.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "Limit"
|
|
}
|
|
},
|
|
"required": [
|
|
"filter"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"required": false
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"description": "The data payload of the response.",
|
|
"items": {
|
|
"properties": {
|
|
"account": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the account.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"avatar_url": {
|
|
"description": "Avatar URL of the contact.",
|
|
"type": "string",
|
|
"x-go-name": "AvatarURL"
|
|
},
|
|
"custom_fields": {
|
|
"additionalProperties": {
|
|
"properties": {
|
|
"slug": {
|
|
"description": "The slug of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
},
|
|
"value": {
|
|
"description": "The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint.",
|
|
"type": "string",
|
|
"x-go-name": "Value"
|
|
},
|
|
"values": {
|
|
"description": "The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Values"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"description": "Custom field values associated with the issue.",
|
|
"type": "object",
|
|
"x-go-name": "CustomFields"
|
|
},
|
|
"email": {
|
|
"description": "The primary email of the contact, if it exists.",
|
|
"type": "string",
|
|
"x-go-name": "Email"
|
|
},
|
|
"emails": {
|
|
"description": "The list of all emails of the contact.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Emails"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the contact.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"name": {
|
|
"description": "The name of the contact.",
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"portal_role": {
|
|
"description": "Portal role assigned to the contact.\n\n* no_access PortalRoleNoAccess\n\n* member PortalRoleMember\n\n* admin PortalRoleAdmin",
|
|
"enum": [
|
|
"no_access",
|
|
"member",
|
|
"admin"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "no_access PortalRoleNoAccess\nmember PortalRoleMember\nadmin PortalRoleAdmin",
|
|
"x-go-name": "PortalRole"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Data"
|
|
},
|
|
"pagination": {
|
|
"properties": {
|
|
"cursor": {
|
|
"description": "The cursor for the next page of results.",
|
|
"type": "string",
|
|
"x-go-name": "Cursor"
|
|
},
|
|
"has_next_page": {
|
|
"description": "Indicates if there is a next page of results.",
|
|
"type": "boolean",
|
|
"x-go-name": "HasNextPage"
|
|
}
|
|
},
|
|
"required": [
|
|
"cursor",
|
|
"has_next_page"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"summary": "Search for contacts by a given filter",
|
|
"tags": [
|
|
"contacts"
|
|
],
|
|
"x-codegen-request-body-name": "Body",
|
|
"x-moar-primitive-count": 7,
|
|
"x-moar-complexity-skipped": false
|
|
}
|
|
},
|
|
"/contacts/{id}": {
|
|
"delete": {
|
|
"description": "Delete an existing contact",
|
|
"operationId": "DeleteContact",
|
|
"parameters": [
|
|
{
|
|
"description": "The ID of the contact to delete.",
|
|
"in": "path",
|
|
"name": "id",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"x-go-name": "ID"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"contacts"
|
|
],
|
|
"x-moar-primitive-count": 0,
|
|
"x-moar-complexity-skipped": false
|
|
},
|
|
"get": {
|
|
"description": "Get a contact by its ID",
|
|
"operationId": "GetContact",
|
|
"parameters": [
|
|
{
|
|
"description": "The ID of the contact.",
|
|
"in": "path",
|
|
"name": "id",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"x-go-name": "ID"
|
|
},
|
|
{
|
|
"description": "The cursor to use for pagination.",
|
|
"in": "query",
|
|
"name": "cursor",
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "Cursor"
|
|
},
|
|
"x-go-name": "Cursor"
|
|
},
|
|
{
|
|
"description": "The number of accounts to fetch. Defaults to 100. Must be greater than 0 and less than 1000.",
|
|
"in": "query",
|
|
"name": "limit",
|
|
"required": true,
|
|
"schema": {
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "Limit"
|
|
},
|
|
"x-go-name": "Limit"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"properties": {
|
|
"account": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the account.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"avatar_url": {
|
|
"description": "Avatar URL of the contact.",
|
|
"type": "string",
|
|
"x-go-name": "AvatarURL"
|
|
},
|
|
"custom_fields": {
|
|
"additionalProperties": {
|
|
"properties": {
|
|
"slug": {
|
|
"description": "The slug of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
},
|
|
"value": {
|
|
"description": "The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint.",
|
|
"type": "string",
|
|
"x-go-name": "Value"
|
|
},
|
|
"values": {
|
|
"description": "The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Values"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"description": "Custom field values associated with the issue.",
|
|
"type": "object",
|
|
"x-go-name": "CustomFields"
|
|
},
|
|
"email": {
|
|
"description": "The primary email of the contact, if it exists.",
|
|
"type": "string",
|
|
"x-go-name": "Email"
|
|
},
|
|
"emails": {
|
|
"description": "The list of all emails of the contact.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Emails"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the contact.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"name": {
|
|
"description": "The name of the contact.",
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"portal_role": {
|
|
"description": "Portal role assigned to the contact.\n\n* no_access PortalRoleNoAccess\n\n* member PortalRoleMember\n\n* admin PortalRoleAdmin",
|
|
"enum": [
|
|
"no_access",
|
|
"member",
|
|
"admin"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "no_access PortalRoleNoAccess\nmember PortalRoleMember\nadmin PortalRoleAdmin",
|
|
"x-go-name": "PortalRole"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"contacts"
|
|
],
|
|
"x-moar-primitive-count": 0,
|
|
"x-moar-complexity-skipped": false
|
|
},
|
|
"patch": {
|
|
"description": "Update an existing contact",
|
|
"operationId": "UpdateContact",
|
|
"parameters": [
|
|
{
|
|
"description": "The ID of the contact to update.",
|
|
"in": "path",
|
|
"name": "id",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"x-go-name": "ID"
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"account_external_id": {
|
|
"description": "The external ID of the account to move the contact to. Cannot be used together with account_id.",
|
|
"type": "string",
|
|
"x-go-name": "AccountExternalID"
|
|
},
|
|
"account_id": {
|
|
"description": "The account to move the contact to.",
|
|
"type": "string",
|
|
"x-go-name": "AccountID"
|
|
},
|
|
"avatar_url": {
|
|
"description": "The avatar URL of the contact. Must be a square .png, .jpg or .jpeg.",
|
|
"type": "string",
|
|
"x-go-name": "AvatarUrl"
|
|
},
|
|
"custom_fields": {
|
|
"description": "An array of custom fields to be applied to this contact.",
|
|
"items": {
|
|
"properties": {
|
|
"slug": {
|
|
"description": "The slug of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
},
|
|
"value": {
|
|
"description": "The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint.",
|
|
"type": "string",
|
|
"x-go-name": "Value"
|
|
},
|
|
"values": {
|
|
"description": "The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Values"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "CustomFields"
|
|
},
|
|
"email": {
|
|
"description": "The email of the contact.",
|
|
"type": "string",
|
|
"x-go-name": "Email"
|
|
},
|
|
"name": {
|
|
"description": "in: body\n\nThe name of the contact.",
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"portal_role": {
|
|
"description": "The portal role to assign to the contact. Can be one of `no_access`, `member`, or `admin`.\n\n* no_access PortalRoleNoAccess\n\n* member PortalRoleMember\n\n* admin PortalRoleAdmin",
|
|
"enum": [
|
|
"no_access",
|
|
"member",
|
|
"admin"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "no_access PortalRoleNoAccess\nmember PortalRoleMember\nadmin PortalRoleAdmin",
|
|
"x-go-name": "PortalRole"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"required": false
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"properties": {
|
|
"account": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the account.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"avatar_url": {
|
|
"description": "Avatar URL of the contact.",
|
|
"type": "string",
|
|
"x-go-name": "AvatarURL"
|
|
},
|
|
"custom_fields": {
|
|
"additionalProperties": {
|
|
"properties": {
|
|
"slug": {
|
|
"description": "The slug of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
},
|
|
"value": {
|
|
"description": "The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint.",
|
|
"type": "string",
|
|
"x-go-name": "Value"
|
|
},
|
|
"values": {
|
|
"description": "The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Values"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"description": "Custom field values associated with the issue.",
|
|
"type": "object",
|
|
"x-go-name": "CustomFields"
|
|
},
|
|
"email": {
|
|
"description": "The primary email of the contact, if it exists.",
|
|
"type": "string",
|
|
"x-go-name": "Email"
|
|
},
|
|
"emails": {
|
|
"description": "The list of all emails of the contact.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Emails"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the contact.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"name": {
|
|
"description": "The name of the contact.",
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"portal_role": {
|
|
"description": "Portal role assigned to the contact.\n\n* no_access PortalRoleNoAccess\n\n* member PortalRoleMember\n\n* admin PortalRoleAdmin",
|
|
"enum": [
|
|
"no_access",
|
|
"member",
|
|
"admin"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "no_access PortalRoleNoAccess\nmember PortalRoleMember\nadmin PortalRoleAdmin",
|
|
"x-go-name": "PortalRole"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"contacts"
|
|
],
|
|
"x-codegen-request-body-name": "Body",
|
|
"x-moar-primitive-count": 9,
|
|
"x-moar-complexity-skipped": false
|
|
}
|
|
},
|
|
"/custom-fields": {
|
|
"get": {
|
|
"description": "Get all custom fields",
|
|
"operationId": "GetCustomFields",
|
|
"parameters": [
|
|
{
|
|
"description": "The object type of the custom fields. Can be \"account\", \"issue\", or \"contact\".",
|
|
"in": "query",
|
|
"name": "object_type",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "ObjectType"
|
|
},
|
|
"x-go-name": "ObjectType"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"description": "The data payload of the response.",
|
|
"items": {
|
|
"properties": {
|
|
"created_at": {
|
|
"description": "When the custom field was created.",
|
|
"type": "string",
|
|
"x-go-name": "CreatedAt"
|
|
},
|
|
"default_value": {
|
|
"description": "The default value for single-valued custom fields.",
|
|
"type": "string",
|
|
"x-go-name": "DefaultValue"
|
|
},
|
|
"default_values": {
|
|
"description": "The default values for multi-valued custom fields.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "DefaultValues"
|
|
},
|
|
"description": {
|
|
"description": "The description of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Description"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"is_read_only": {
|
|
"description": "Whether the custom field is read only. Fields synced from apps and integrations are read-only.",
|
|
"type": "boolean",
|
|
"x-go-name": "IsReadOnly"
|
|
},
|
|
"label": {
|
|
"description": "The label of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Label"
|
|
},
|
|
"number_metadata": {
|
|
"properties": {
|
|
"currency": {
|
|
"description": "The currency of the number custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Currency"
|
|
},
|
|
"decimal_places": {
|
|
"description": "The decimal places of the number custom field.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "DecimalPlaces"
|
|
},
|
|
"format": {
|
|
"description": "The format of the number custom field.\n\n* with_commas CustomFieldNumberFormatWithCommas\n\n* percent CustomFieldNumberFormatPercent\n\n* currency CustomFieldNumberFormatCurrency",
|
|
"enum": [
|
|
"with_commas",
|
|
"percent",
|
|
"currency"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "with_commas CustomFieldNumberFormatWithCommas\npercent CustomFieldNumberFormatPercent\ncurrency CustomFieldNumberFormatCurrency",
|
|
"x-go-name": "Format"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"object_type": {
|
|
"description": "The type of object this custom field is for. Can be \"account\", \"issue\", or \"contact\".",
|
|
"type": "string",
|
|
"x-go-name": "ObjectType"
|
|
},
|
|
"select_metadata": {
|
|
"properties": {
|
|
"options": {
|
|
"description": "The list options of the select custom field. This is only present for select and multiselect custom fields.",
|
|
"items": {
|
|
"properties": {
|
|
"label": {
|
|
"description": "The label of the option.",
|
|
"type": "string",
|
|
"x-go-name": "Label"
|
|
},
|
|
"slug": {
|
|
"description": "The slug of the option.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Options"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"slug": {
|
|
"description": "The slug of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
},
|
|
"source": {
|
|
"description": "The source of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Source"
|
|
},
|
|
"type": {
|
|
"description": "The type of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Type"
|
|
},
|
|
"updated_at": {
|
|
"description": "When the custom field was last updated.",
|
|
"type": "string",
|
|
"x-go-name": "UpdatedAt"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Data"
|
|
},
|
|
"pagination": {
|
|
"properties": {
|
|
"cursor": {
|
|
"description": "The cursor for the next page of results.",
|
|
"type": "string",
|
|
"x-go-name": "Cursor"
|
|
},
|
|
"has_next_page": {
|
|
"description": "Indicates if there is a next page of results.",
|
|
"type": "boolean",
|
|
"x-go-name": "HasNextPage"
|
|
}
|
|
},
|
|
"required": [
|
|
"cursor",
|
|
"has_next_page"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"custom-fields"
|
|
],
|
|
"x-moar-primitive-count": 0,
|
|
"x-moar-complexity-skipped": false
|
|
},
|
|
"post": {
|
|
"description": "Create a custom field",
|
|
"operationId": "CreateCustomField",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"default_value": {
|
|
"description": "The default value for single-valued custom fields.",
|
|
"type": "string",
|
|
"x-go-name": "DefaultValue"
|
|
},
|
|
"default_values": {
|
|
"description": "The default values for multi-valued custom fields.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "DefaultValues"
|
|
},
|
|
"description": {
|
|
"description": "The description of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Description"
|
|
},
|
|
"label": {
|
|
"description": "The label of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Label"
|
|
},
|
|
"object_type": {
|
|
"description": "The object type of the custom field. Can be \"account\", \"issue\", or \"contact\"",
|
|
"type": "string",
|
|
"x-go-name": "ObjectType"
|
|
},
|
|
"select_options": {
|
|
"description": "The list options of the select custom field. This is only present for select and multiselect custom fields.",
|
|
"items": {
|
|
"properties": {
|
|
"label": {
|
|
"description": "The label of the option.",
|
|
"type": "string",
|
|
"x-go-name": "Label"
|
|
},
|
|
"slug": {
|
|
"description": "The slug of the option.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "SelectOptions"
|
|
},
|
|
"slug": {
|
|
"description": "The slug of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
},
|
|
"type": {
|
|
"description": "The type of the custom field. Can be one of `text`, `number`, `decimal`, `boolean`, `date`, `datetime`, `user`, `url`, `select`, or `multiselect`.",
|
|
"type": "string",
|
|
"x-go-name": "Type"
|
|
}
|
|
},
|
|
"required": [
|
|
"label",
|
|
"object_type",
|
|
"type"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"required": false
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"properties": {
|
|
"created_at": {
|
|
"description": "When the custom field was created.",
|
|
"type": "string",
|
|
"x-go-name": "CreatedAt"
|
|
},
|
|
"default_value": {
|
|
"description": "The default value for single-valued custom fields.",
|
|
"type": "string",
|
|
"x-go-name": "DefaultValue"
|
|
},
|
|
"default_values": {
|
|
"description": "The default values for multi-valued custom fields.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "DefaultValues"
|
|
},
|
|
"description": {
|
|
"description": "The description of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Description"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"is_read_only": {
|
|
"description": "Whether the custom field is read only. Fields synced from apps and integrations are read-only.",
|
|
"type": "boolean",
|
|
"x-go-name": "IsReadOnly"
|
|
},
|
|
"label": {
|
|
"description": "The label of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Label"
|
|
},
|
|
"number_metadata": {
|
|
"properties": {
|
|
"currency": {
|
|
"description": "The currency of the number custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Currency"
|
|
},
|
|
"decimal_places": {
|
|
"description": "The decimal places of the number custom field.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "DecimalPlaces"
|
|
},
|
|
"format": {
|
|
"description": "The format of the number custom field.\n\n* with_commas CustomFieldNumberFormatWithCommas\n\n* percent CustomFieldNumberFormatPercent\n\n* currency CustomFieldNumberFormatCurrency",
|
|
"enum": [
|
|
"with_commas",
|
|
"percent",
|
|
"currency"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "with_commas CustomFieldNumberFormatWithCommas\npercent CustomFieldNumberFormatPercent\ncurrency CustomFieldNumberFormatCurrency",
|
|
"x-go-name": "Format"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"object_type": {
|
|
"description": "The type of object this custom field is for. Can be \"account\", \"issue\", or \"contact\".",
|
|
"type": "string",
|
|
"x-go-name": "ObjectType"
|
|
},
|
|
"select_metadata": {
|
|
"properties": {
|
|
"options": {
|
|
"description": "The list options of the select custom field. This is only present for select and multiselect custom fields.",
|
|
"items": {
|
|
"properties": {
|
|
"label": {
|
|
"description": "The label of the option.",
|
|
"type": "string",
|
|
"x-go-name": "Label"
|
|
},
|
|
"slug": {
|
|
"description": "The slug of the option.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Options"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"slug": {
|
|
"description": "The slug of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
},
|
|
"source": {
|
|
"description": "The source of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Source"
|
|
},
|
|
"type": {
|
|
"description": "The type of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Type"
|
|
},
|
|
"updated_at": {
|
|
"description": "When the custom field was last updated.",
|
|
"type": "string",
|
|
"x-go-name": "UpdatedAt"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"custom-fields"
|
|
],
|
|
"x-codegen-request-body-name": "Body",
|
|
"x-moar-primitive-count": 9,
|
|
"x-moar-complexity-skipped": false
|
|
}
|
|
},
|
|
"/custom-fields/{id}": {
|
|
"get": {
|
|
"description": "Get a custom field by its ID",
|
|
"operationId": "GetCustomField",
|
|
"parameters": [
|
|
{
|
|
"description": "The ID of the custom field.",
|
|
"in": "path",
|
|
"name": "id",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"x-go-name": "ID"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"properties": {
|
|
"created_at": {
|
|
"description": "When the custom field was created.",
|
|
"type": "string",
|
|
"x-go-name": "CreatedAt"
|
|
},
|
|
"default_value": {
|
|
"description": "The default value for single-valued custom fields.",
|
|
"type": "string",
|
|
"x-go-name": "DefaultValue"
|
|
},
|
|
"default_values": {
|
|
"description": "The default values for multi-valued custom fields.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "DefaultValues"
|
|
},
|
|
"description": {
|
|
"description": "The description of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Description"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"is_read_only": {
|
|
"description": "Whether the custom field is read only. Fields synced from apps and integrations are read-only.",
|
|
"type": "boolean",
|
|
"x-go-name": "IsReadOnly"
|
|
},
|
|
"label": {
|
|
"description": "The label of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Label"
|
|
},
|
|
"number_metadata": {
|
|
"properties": {
|
|
"currency": {
|
|
"description": "The currency of the number custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Currency"
|
|
},
|
|
"decimal_places": {
|
|
"description": "The decimal places of the number custom field.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "DecimalPlaces"
|
|
},
|
|
"format": {
|
|
"description": "The format of the number custom field.\n\n* with_commas CustomFieldNumberFormatWithCommas\n\n* percent CustomFieldNumberFormatPercent\n\n* currency CustomFieldNumberFormatCurrency",
|
|
"enum": [
|
|
"with_commas",
|
|
"percent",
|
|
"currency"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "with_commas CustomFieldNumberFormatWithCommas\npercent CustomFieldNumberFormatPercent\ncurrency CustomFieldNumberFormatCurrency",
|
|
"x-go-name": "Format"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"object_type": {
|
|
"description": "The type of object this custom field is for. Can be \"account\", \"issue\", or \"contact\".",
|
|
"type": "string",
|
|
"x-go-name": "ObjectType"
|
|
},
|
|
"select_metadata": {
|
|
"properties": {
|
|
"options": {
|
|
"description": "The list options of the select custom field. This is only present for select and multiselect custom fields.",
|
|
"items": {
|
|
"properties": {
|
|
"label": {
|
|
"description": "The label of the option.",
|
|
"type": "string",
|
|
"x-go-name": "Label"
|
|
},
|
|
"slug": {
|
|
"description": "The slug of the option.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Options"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"slug": {
|
|
"description": "The slug of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
},
|
|
"source": {
|
|
"description": "The source of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Source"
|
|
},
|
|
"type": {
|
|
"description": "The type of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Type"
|
|
},
|
|
"updated_at": {
|
|
"description": "When the custom field was last updated.",
|
|
"type": "string",
|
|
"x-go-name": "UpdatedAt"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"custom-fields"
|
|
],
|
|
"x-moar-primitive-count": 0,
|
|
"x-moar-complexity-skipped": false
|
|
},
|
|
"patch": {
|
|
"description": "Update a custom field",
|
|
"operationId": "UpdateCustomField",
|
|
"parameters": [
|
|
{
|
|
"description": "The ID of the custom field.",
|
|
"in": "path",
|
|
"name": "id",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"x-go-name": "ID"
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"default_value": {
|
|
"description": "The default value for single-valued custom fields.",
|
|
"type": "string",
|
|
"x-go-name": "DefaultValue"
|
|
},
|
|
"default_values": {
|
|
"description": "The default values for multi-valued custom fields.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "DefaultValues"
|
|
},
|
|
"description": {
|
|
"description": "The description of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Description"
|
|
},
|
|
"label": {
|
|
"description": "The label of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Label"
|
|
},
|
|
"select_options": {
|
|
"description": "The list options of the select custom field. This is only present for select and multiselect custom fields.",
|
|
"items": {
|
|
"properties": {
|
|
"label": {
|
|
"description": "The label of the option.",
|
|
"type": "string",
|
|
"x-go-name": "Label"
|
|
},
|
|
"slug": {
|
|
"description": "The slug of the option.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "SelectOptions"
|
|
},
|
|
"slug": {
|
|
"description": "The slug of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"required": false
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"properties": {
|
|
"created_at": {
|
|
"description": "When the custom field was created.",
|
|
"type": "string",
|
|
"x-go-name": "CreatedAt"
|
|
},
|
|
"default_value": {
|
|
"description": "The default value for single-valued custom fields.",
|
|
"type": "string",
|
|
"x-go-name": "DefaultValue"
|
|
},
|
|
"default_values": {
|
|
"description": "The default values for multi-valued custom fields.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "DefaultValues"
|
|
},
|
|
"description": {
|
|
"description": "The description of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Description"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"is_read_only": {
|
|
"description": "Whether the custom field is read only. Fields synced from apps and integrations are read-only.",
|
|
"type": "boolean",
|
|
"x-go-name": "IsReadOnly"
|
|
},
|
|
"label": {
|
|
"description": "The label of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Label"
|
|
},
|
|
"number_metadata": {
|
|
"properties": {
|
|
"currency": {
|
|
"description": "The currency of the number custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Currency"
|
|
},
|
|
"decimal_places": {
|
|
"description": "The decimal places of the number custom field.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "DecimalPlaces"
|
|
},
|
|
"format": {
|
|
"description": "The format of the number custom field.\n\n* with_commas CustomFieldNumberFormatWithCommas\n\n* percent CustomFieldNumberFormatPercent\n\n* currency CustomFieldNumberFormatCurrency",
|
|
"enum": [
|
|
"with_commas",
|
|
"percent",
|
|
"currency"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "with_commas CustomFieldNumberFormatWithCommas\npercent CustomFieldNumberFormatPercent\ncurrency CustomFieldNumberFormatCurrency",
|
|
"x-go-name": "Format"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"object_type": {
|
|
"description": "The type of object this custom field is for. Can be \"account\", \"issue\", or \"contact\".",
|
|
"type": "string",
|
|
"x-go-name": "ObjectType"
|
|
},
|
|
"select_metadata": {
|
|
"properties": {
|
|
"options": {
|
|
"description": "The list options of the select custom field. This is only present for select and multiselect custom fields.",
|
|
"items": {
|
|
"properties": {
|
|
"label": {
|
|
"description": "The label of the option.",
|
|
"type": "string",
|
|
"x-go-name": "Label"
|
|
},
|
|
"slug": {
|
|
"description": "The slug of the option.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Options"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"slug": {
|
|
"description": "The slug of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
},
|
|
"source": {
|
|
"description": "The source of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Source"
|
|
},
|
|
"type": {
|
|
"description": "The type of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Type"
|
|
},
|
|
"updated_at": {
|
|
"description": "When the custom field was last updated.",
|
|
"type": "string",
|
|
"x-go-name": "UpdatedAt"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"custom-fields"
|
|
],
|
|
"x-codegen-request-body-name": "Body",
|
|
"x-moar-primitive-count": 7,
|
|
"x-moar-complexity-skipped": false
|
|
}
|
|
},
|
|
"/import/contacts": {
|
|
"post": {
|
|
"description": "Import a new contact",
|
|
"operationId": "ImportContact",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"account_id": {
|
|
"description": "The account that this contact belongs to.",
|
|
"type": "string",
|
|
"x-go-name": "AccountID"
|
|
},
|
|
"avatar_url": {
|
|
"description": "The avatar URL of the contact. Must be a square .png, .jpg or .jpeg.",
|
|
"type": "string",
|
|
"x-go-name": "AvatarUrl"
|
|
},
|
|
"custom_fields": {
|
|
"description": "An array of custom fields to be applied to this contact.",
|
|
"items": {
|
|
"properties": {
|
|
"slug": {
|
|
"description": "The slug of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
},
|
|
"value": {
|
|
"description": "The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint.",
|
|
"type": "string",
|
|
"x-go-name": "Value"
|
|
},
|
|
"values": {
|
|
"description": "The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Values"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "CustomFields"
|
|
},
|
|
"email": {
|
|
"description": "The email of the contact.",
|
|
"type": "string",
|
|
"x-go-name": "Email"
|
|
},
|
|
"name": {
|
|
"description": "The name of the contact.",
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"portal_role": {
|
|
"description": "The portal role to assign to the contact. If not provided uses the default portal role from the portal settings.\n\n* no_access PortalRoleNoAccess\n\n* member PortalRoleMember\n\n* admin PortalRoleAdmin",
|
|
"enum": [
|
|
"no_access",
|
|
"member",
|
|
"admin"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "no_access PortalRoleNoAccess\nmember PortalRoleMember\nadmin PortalRoleAdmin",
|
|
"x-go-name": "PortalRole"
|
|
}
|
|
},
|
|
"required": [
|
|
"email",
|
|
"name"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"required": false
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"properties": {
|
|
"account": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the account.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"avatar_url": {
|
|
"description": "Avatar URL of the contact.",
|
|
"type": "string",
|
|
"x-go-name": "AvatarURL"
|
|
},
|
|
"custom_fields": {
|
|
"additionalProperties": {
|
|
"properties": {
|
|
"slug": {
|
|
"description": "The slug of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
},
|
|
"value": {
|
|
"description": "The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint.",
|
|
"type": "string",
|
|
"x-go-name": "Value"
|
|
},
|
|
"values": {
|
|
"description": "The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Values"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"description": "Custom field values associated with the issue.",
|
|
"type": "object",
|
|
"x-go-name": "CustomFields"
|
|
},
|
|
"email": {
|
|
"description": "The primary email of the contact, if it exists.",
|
|
"type": "string",
|
|
"x-go-name": "Email"
|
|
},
|
|
"emails": {
|
|
"description": "The list of all emails of the contact.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Emails"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the contact.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"name": {
|
|
"description": "The name of the contact.",
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"portal_role": {
|
|
"description": "Portal role assigned to the contact.\n\n* no_access PortalRoleNoAccess\n\n* member PortalRoleMember\n\n* admin PortalRoleAdmin",
|
|
"enum": [
|
|
"no_access",
|
|
"member",
|
|
"admin"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "no_access PortalRoleNoAccess\nmember PortalRoleMember\nadmin PortalRoleAdmin",
|
|
"x-go-name": "PortalRole"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"import"
|
|
],
|
|
"x-codegen-request-body-name": "Body",
|
|
"x-moar-primitive-count": 8,
|
|
"x-moar-complexity-skipped": false
|
|
}
|
|
},
|
|
"/import/issues": {
|
|
"post": {
|
|
"description": "Import an issue",
|
|
"operationId": "ImportIssue",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"account_id": {
|
|
"description": "AccountID that the issue should belong to.",
|
|
"type": "string",
|
|
"x-go-name": "AccountID"
|
|
},
|
|
"assignee_id": {
|
|
"description": "UserID that the issue should be assigned to.",
|
|
"type": "string",
|
|
"x-go-name": "AssigneeID"
|
|
},
|
|
"attachment_urls": {
|
|
"description": "An array of attachment URLs to attach to this issue.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "AttachmentURLs"
|
|
},
|
|
"created_at": {
|
|
"description": "CreatedAt is the time the issue was created (RFC3339).",
|
|
"type": "string",
|
|
"x-go-name": "CreatedAt"
|
|
},
|
|
"custom_fields": {
|
|
"description": "An array of custom fields to be used on this issue.",
|
|
"items": {
|
|
"properties": {
|
|
"slug": {
|
|
"description": "The slug of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
},
|
|
"value": {
|
|
"description": "The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint.",
|
|
"type": "string",
|
|
"x-go-name": "Value"
|
|
},
|
|
"values": {
|
|
"description": "The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Values"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "CustomFields"
|
|
},
|
|
"external_issues": {
|
|
"description": "External issues to link to this issue.",
|
|
"items": {
|
|
"properties": {
|
|
"external_issue_id": {
|
|
"description": "The ID of the external issue in the source system.",
|
|
"type": "string",
|
|
"x-go-name": "ExternalIssueID"
|
|
},
|
|
"source": {
|
|
"description": "The source system of the external issue (e.g., \"linear\", \"asana\", \"jira\", \"github\").",
|
|
"type": "string",
|
|
"x-go-name": "Source"
|
|
}
|
|
},
|
|
"required": [
|
|
"external_issue_id",
|
|
"source"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "ExternalIssues"
|
|
},
|
|
"external_refs": {
|
|
"properties": {
|
|
"intercom_conversation_id": {
|
|
"description": "The Intercom conversation ID associated with this issue, if any.",
|
|
"type": "string",
|
|
"x-go-name": "IntercomConversationID"
|
|
},
|
|
"zendesk_ticket_id": {
|
|
"description": "The Zendesk ticket ID associated with this issue, if any.",
|
|
"type": "string",
|
|
"x-go-name": "ZendeskTicketID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"first_response_time": {
|
|
"description": "FirstResponseTime is the time the issue was first responded to (RFC3339).",
|
|
"type": "string",
|
|
"x-go-name": "FirstResponseTime"
|
|
},
|
|
"messages": {
|
|
"description": "Messages to be imported for this issue. At least one message is required.",
|
|
"items": {
|
|
"properties": {
|
|
"attachment_urls": {
|
|
"description": "An array of attachment URLs to attach to this message.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "AttachmentURLs"
|
|
},
|
|
"body_html": {
|
|
"description": "The HTML content of the message.",
|
|
"type": "string",
|
|
"x-go-name": "BodyHTML"
|
|
},
|
|
"contact_id": {
|
|
"description": "The contact that sent the message. Only one of user_id or contact_id can be specified.",
|
|
"type": "string",
|
|
"x-go-name": "ContactID"
|
|
},
|
|
"created_at": {
|
|
"description": "CreatedAt is the time the message was created (RFC3339).",
|
|
"type": "string",
|
|
"x-go-name": "CreatedAt"
|
|
},
|
|
"is_private": {
|
|
"description": "Whether the message is private.",
|
|
"type": "boolean",
|
|
"x-go-name": "IsPrivate"
|
|
},
|
|
"user_id": {
|
|
"description": "The user that sent the message. Only one of user_id or contact_id can be specified.",
|
|
"type": "string",
|
|
"x-go-name": "UserID"
|
|
}
|
|
},
|
|
"required": [
|
|
"body_html",
|
|
"is_private"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Messages"
|
|
},
|
|
"requester_id": {
|
|
"description": "ContactID that the issue should be on behalf of.",
|
|
"type": "string",
|
|
"x-go-name": "RequesterID"
|
|
},
|
|
"resolution_time": {
|
|
"description": "ResolutionTime is the time the issue was resolved (RFC3339).",
|
|
"type": "string",
|
|
"x-go-name": "ResolutionTime"
|
|
},
|
|
"state": {
|
|
"description": "The state of the issue. Can be one of new, waiting_on_you, waiting_on_customer, on_hold, closed, or a custom status.",
|
|
"type": "string",
|
|
"x-go-name": "State"
|
|
},
|
|
"tags": {
|
|
"description": "An array of strings to use as tags on this issue.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Tags"
|
|
},
|
|
"team_id": {
|
|
"description": "TeamID that the issue should be assigned to.",
|
|
"type": "string",
|
|
"x-go-name": "TeamID"
|
|
},
|
|
"title": {
|
|
"description": "The title of the issue.",
|
|
"type": "string",
|
|
"x-go-name": "Title"
|
|
},
|
|
"updated_at": {
|
|
"description": "UpdatedAt is the time the issue was last updated (RFC3339).",
|
|
"type": "string",
|
|
"x-go-name": "UpdatedAt"
|
|
}
|
|
},
|
|
"required": [
|
|
"messages",
|
|
"state",
|
|
"title"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"required": false
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"properties": {
|
|
"account": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the account.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"assignee": {
|
|
"properties": {
|
|
"email": {
|
|
"description": "The email of the user.",
|
|
"type": "string",
|
|
"x-go-name": "Email"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the user.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"attachment_urls": {
|
|
"description": "The attachment URLs attached to this issue, if any.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "AttachmentURLs"
|
|
},
|
|
"body_html": {
|
|
"description": "The body of the issue in HTML format.",
|
|
"type": "string",
|
|
"x-go-name": "BodyHTML"
|
|
},
|
|
"business_hours_first_response_seconds": {
|
|
"description": "The business hours time in seconds it took for the first response to the issue, if any.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "BusinessHoursFirstResponseSeconds"
|
|
},
|
|
"business_hours_resolution_seconds": {
|
|
"description": "The business hours time in seconds it took for the issue to be resolved, if any.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "BusinessHoursResolutionSeconds"
|
|
},
|
|
"chat_widget_info": {
|
|
"properties": {
|
|
"page_url": {
|
|
"description": "The URL of the page that the user was on when they started the chat widget issue.",
|
|
"type": "string",
|
|
"x-go-name": "PageURL"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"created_at": {
|
|
"description": "The time the issue was created.",
|
|
"type": "string",
|
|
"x-go-name": "CreatedAt"
|
|
},
|
|
"csat_responses": {
|
|
"description": "The CSAT responses of the issue, if any.",
|
|
"items": {
|
|
"properties": {
|
|
"comment": {
|
|
"description": "The comment of the CSAT response.",
|
|
"type": "string",
|
|
"x-go-name": "Comment"
|
|
},
|
|
"score": {
|
|
"description": "The score of the CSAT response.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "Score"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "CSATResponses"
|
|
},
|
|
"custom_fields": {
|
|
"additionalProperties": {
|
|
"properties": {
|
|
"slug": {
|
|
"description": "The slug of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
},
|
|
"value": {
|
|
"description": "The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint.",
|
|
"type": "string",
|
|
"x-go-name": "Value"
|
|
},
|
|
"values": {
|
|
"description": "The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Values"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"description": "Custom field values associated with the issue.",
|
|
"type": "object",
|
|
"x-go-name": "CustomFields"
|
|
},
|
|
"customer_portal_visible": {
|
|
"description": "Whether the issue is visible in the customer portal.",
|
|
"type": "boolean",
|
|
"x-go-name": "CustomerPortalVisible"
|
|
},
|
|
"external_issues": {
|
|
"description": "The external issues associated with the issue, if any.",
|
|
"items": {
|
|
"properties": {
|
|
"external_id": {
|
|
"description": "The external ID of the external issue.\n\nJira: ID of the issue (autoincrementing number from 10000).\n\nGitHub: Owner/Repo/IssueID.\n\nLinear: ID of the issue (UUID).\n\nAsana: ID of the task (Long number).",
|
|
"type": "string",
|
|
"x-go-name": "ExternalID"
|
|
},
|
|
"link": {
|
|
"description": "Link to the product issue.",
|
|
"type": "string",
|
|
"x-go-name": "Link"
|
|
},
|
|
"source": {
|
|
"description": "The source of the external issue.",
|
|
"type": "string",
|
|
"x-go-name": "Source"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "ExternalIssues"
|
|
},
|
|
"first_response_seconds": {
|
|
"description": "The time in seconds it took for the first response to the issue, if any.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "FirstResponseSeconds"
|
|
},
|
|
"first_response_time": {
|
|
"description": "The time of the first response to the issue, if any.",
|
|
"type": "string",
|
|
"x-go-name": "FirstResponseTime"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the issue.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"latest_message_time": {
|
|
"description": "The time of the latest message in the issue.",
|
|
"type": "string",
|
|
"x-go-name": "LatestMessageTime"
|
|
},
|
|
"link": {
|
|
"description": "The link to the issue in Pylon.",
|
|
"type": "string",
|
|
"x-go-name": "Link"
|
|
},
|
|
"number": {
|
|
"description": "The number of the issue.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "Number"
|
|
},
|
|
"number_of_touches": {
|
|
"description": "The number of times the issue has been touched.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "NumberOfTouches"
|
|
},
|
|
"requester": {
|
|
"properties": {
|
|
"email": {
|
|
"description": "The email of the contact.",
|
|
"type": "string",
|
|
"x-go-name": "Email"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the contact.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"resolution_seconds": {
|
|
"description": "The time in seconds it took for the issue to be resolved, if any.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "ResolutionSeconds"
|
|
},
|
|
"resolution_time": {
|
|
"description": "The time of the resolution of the issue, if any.",
|
|
"type": "string",
|
|
"x-go-name": "ResolutionTime"
|
|
},
|
|
"slack": {
|
|
"properties": {
|
|
"channel_id": {
|
|
"description": "The Slack channel ID associated with the issue.",
|
|
"type": "string",
|
|
"x-go-name": "SlackChannelID"
|
|
},
|
|
"message_ts": {
|
|
"description": "The root message ID of slack message that started issue.",
|
|
"type": "string",
|
|
"x-go-name": "SlackMessageTs"
|
|
},
|
|
"workspace_id": {
|
|
"description": "The Slack workspace ID associated with the issue.",
|
|
"type": "string",
|
|
"x-go-name": "SlackWorkspaceID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"snoozed_until_time": {
|
|
"description": "The time the issue was snoozed until in RFC3339 format, if any.",
|
|
"type": "string",
|
|
"x-go-name": "SnoozedUntilTime"
|
|
},
|
|
"source": {
|
|
"description": "The source of the issue.\n\n* slack IssueSourceSlack\n\n* microsoft_teams IssueSourceMicrosoftTeams\n\n* microsoft_teams_chat IssueSourceMicrosoftTeamsChat\n\n* chat_widget IssueSourceChatWidget\n\n* email IssueSourceEmail\n\n* manual IssueSourceManual\n\n* form IssueSourceForm\n\n* discord IssueSourceDiscord",
|
|
"enum": [
|
|
"slack",
|
|
"microsoft_teams",
|
|
"microsoft_teams_chat",
|
|
"chat_widget",
|
|
"email",
|
|
"manual",
|
|
"form",
|
|
"discord"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "slack IssueSourceSlack\nmicrosoft_teams IssueSourceMicrosoftTeams\nmicrosoft_teams_chat IssueSourceMicrosoftTeamsChat\nchat_widget IssueSourceChatWidget\nemail IssueSourceEmail\nmanual IssueSourceManual\nform IssueSourceForm\ndiscord IssueSourceDiscord",
|
|
"x-go-name": "Source"
|
|
},
|
|
"state": {
|
|
"description": "The state of the issue. This could be one of `[\"new\", \"waiting_on_you\", \"waiting_on_customer\", \"on_hold\", \"closed\"] or a custom status slug.",
|
|
"type": "string",
|
|
"x-go-name": "State"
|
|
},
|
|
"tags": {
|
|
"description": "Tags associated with the issue.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Tags"
|
|
},
|
|
"team": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the team.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"title": {
|
|
"description": "The title of the issue.",
|
|
"type": "string",
|
|
"x-go-name": "Title"
|
|
},
|
|
"type": {
|
|
"description": "The type of the issue.\n\n* Conversation IssueTypeConversation\n\n* Ticket IssueTypeTicket",
|
|
"enum": [
|
|
"Conversation",
|
|
"Ticket"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "Conversation IssueTypeConversation\nTicket IssueTypeTicket",
|
|
"x-go-name": "Type"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"import"
|
|
],
|
|
"x-codegen-request-body-name": "Body",
|
|
"x-moar-primitive-count": 25,
|
|
"x-moar-complexity-skipped": false
|
|
}
|
|
},
|
|
"/import/issues/{id}/messages": {
|
|
"post": {
|
|
"description": "Import messages onto an existing issue",
|
|
"operationId": "ImportMessages",
|
|
"parameters": [
|
|
{
|
|
"description": "The ID of the issue.",
|
|
"in": "path",
|
|
"name": "id",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"x-go-name": "ID"
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"messages": {
|
|
"description": "Messages to be imported for this issue. At least one message is required.",
|
|
"items": {
|
|
"properties": {
|
|
"attachment_urls": {
|
|
"description": "An array of attachment URLs to attach to this message.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "AttachmentURLs"
|
|
},
|
|
"body_html": {
|
|
"description": "The HTML content of the message.",
|
|
"type": "string",
|
|
"x-go-name": "BodyHTML"
|
|
},
|
|
"contact_id": {
|
|
"description": "The contact that sent the message. Only one of user_id or contact_id can be specified.",
|
|
"type": "string",
|
|
"x-go-name": "ContactID"
|
|
},
|
|
"created_at": {
|
|
"description": "CreatedAt is the time the message was created (RFC3339).",
|
|
"type": "string",
|
|
"x-go-name": "CreatedAt"
|
|
},
|
|
"is_private": {
|
|
"description": "Whether the message is private.",
|
|
"type": "boolean",
|
|
"x-go-name": "IsPrivate"
|
|
},
|
|
"user_id": {
|
|
"description": "The user that sent the message. Only one of user_id or contact_id can be specified.",
|
|
"type": "string",
|
|
"x-go-name": "UserID"
|
|
}
|
|
},
|
|
"required": [
|
|
"body_html",
|
|
"is_private"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Messages"
|
|
}
|
|
},
|
|
"required": [
|
|
"messages"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"required": false
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"properties": {
|
|
"account": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the account.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"assignee": {
|
|
"properties": {
|
|
"email": {
|
|
"description": "The email of the user.",
|
|
"type": "string",
|
|
"x-go-name": "Email"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the user.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"attachment_urls": {
|
|
"description": "The attachment URLs attached to this issue, if any.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "AttachmentURLs"
|
|
},
|
|
"body_html": {
|
|
"description": "The body of the issue in HTML format.",
|
|
"type": "string",
|
|
"x-go-name": "BodyHTML"
|
|
},
|
|
"business_hours_first_response_seconds": {
|
|
"description": "The business hours time in seconds it took for the first response to the issue, if any.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "BusinessHoursFirstResponseSeconds"
|
|
},
|
|
"business_hours_resolution_seconds": {
|
|
"description": "The business hours time in seconds it took for the issue to be resolved, if any.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "BusinessHoursResolutionSeconds"
|
|
},
|
|
"chat_widget_info": {
|
|
"properties": {
|
|
"page_url": {
|
|
"description": "The URL of the page that the user was on when they started the chat widget issue.",
|
|
"type": "string",
|
|
"x-go-name": "PageURL"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"created_at": {
|
|
"description": "The time the issue was created.",
|
|
"type": "string",
|
|
"x-go-name": "CreatedAt"
|
|
},
|
|
"csat_responses": {
|
|
"description": "The CSAT responses of the issue, if any.",
|
|
"items": {
|
|
"properties": {
|
|
"comment": {
|
|
"description": "The comment of the CSAT response.",
|
|
"type": "string",
|
|
"x-go-name": "Comment"
|
|
},
|
|
"score": {
|
|
"description": "The score of the CSAT response.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "Score"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "CSATResponses"
|
|
},
|
|
"custom_fields": {
|
|
"additionalProperties": {
|
|
"properties": {
|
|
"slug": {
|
|
"description": "The slug of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
},
|
|
"value": {
|
|
"description": "The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint.",
|
|
"type": "string",
|
|
"x-go-name": "Value"
|
|
},
|
|
"values": {
|
|
"description": "The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Values"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"description": "Custom field values associated with the issue.",
|
|
"type": "object",
|
|
"x-go-name": "CustomFields"
|
|
},
|
|
"customer_portal_visible": {
|
|
"description": "Whether the issue is visible in the customer portal.",
|
|
"type": "boolean",
|
|
"x-go-name": "CustomerPortalVisible"
|
|
},
|
|
"external_issues": {
|
|
"description": "The external issues associated with the issue, if any.",
|
|
"items": {
|
|
"properties": {
|
|
"external_id": {
|
|
"description": "The external ID of the external issue.\n\nJira: ID of the issue (autoincrementing number from 10000).\n\nGitHub: Owner/Repo/IssueID.\n\nLinear: ID of the issue (UUID).\n\nAsana: ID of the task (Long number).",
|
|
"type": "string",
|
|
"x-go-name": "ExternalID"
|
|
},
|
|
"link": {
|
|
"description": "Link to the product issue.",
|
|
"type": "string",
|
|
"x-go-name": "Link"
|
|
},
|
|
"source": {
|
|
"description": "The source of the external issue.",
|
|
"type": "string",
|
|
"x-go-name": "Source"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "ExternalIssues"
|
|
},
|
|
"first_response_seconds": {
|
|
"description": "The time in seconds it took for the first response to the issue, if any.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "FirstResponseSeconds"
|
|
},
|
|
"first_response_time": {
|
|
"description": "The time of the first response to the issue, if any.",
|
|
"type": "string",
|
|
"x-go-name": "FirstResponseTime"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the issue.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"latest_message_time": {
|
|
"description": "The time of the latest message in the issue.",
|
|
"type": "string",
|
|
"x-go-name": "LatestMessageTime"
|
|
},
|
|
"link": {
|
|
"description": "The link to the issue in Pylon.",
|
|
"type": "string",
|
|
"x-go-name": "Link"
|
|
},
|
|
"number": {
|
|
"description": "The number of the issue.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "Number"
|
|
},
|
|
"number_of_touches": {
|
|
"description": "The number of times the issue has been touched.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "NumberOfTouches"
|
|
},
|
|
"requester": {
|
|
"properties": {
|
|
"email": {
|
|
"description": "The email of the contact.",
|
|
"type": "string",
|
|
"x-go-name": "Email"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the contact.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"resolution_seconds": {
|
|
"description": "The time in seconds it took for the issue to be resolved, if any.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "ResolutionSeconds"
|
|
},
|
|
"resolution_time": {
|
|
"description": "The time of the resolution of the issue, if any.",
|
|
"type": "string",
|
|
"x-go-name": "ResolutionTime"
|
|
},
|
|
"slack": {
|
|
"properties": {
|
|
"channel_id": {
|
|
"description": "The Slack channel ID associated with the issue.",
|
|
"type": "string",
|
|
"x-go-name": "SlackChannelID"
|
|
},
|
|
"message_ts": {
|
|
"description": "The root message ID of slack message that started issue.",
|
|
"type": "string",
|
|
"x-go-name": "SlackMessageTs"
|
|
},
|
|
"workspace_id": {
|
|
"description": "The Slack workspace ID associated with the issue.",
|
|
"type": "string",
|
|
"x-go-name": "SlackWorkspaceID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"snoozed_until_time": {
|
|
"description": "The time the issue was snoozed until in RFC3339 format, if any.",
|
|
"type": "string",
|
|
"x-go-name": "SnoozedUntilTime"
|
|
},
|
|
"source": {
|
|
"description": "The source of the issue.\n\n* slack IssueSourceSlack\n\n* microsoft_teams IssueSourceMicrosoftTeams\n\n* microsoft_teams_chat IssueSourceMicrosoftTeamsChat\n\n* chat_widget IssueSourceChatWidget\n\n* email IssueSourceEmail\n\n* manual IssueSourceManual\n\n* form IssueSourceForm\n\n* discord IssueSourceDiscord",
|
|
"enum": [
|
|
"slack",
|
|
"microsoft_teams",
|
|
"microsoft_teams_chat",
|
|
"chat_widget",
|
|
"email",
|
|
"manual",
|
|
"form",
|
|
"discord"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "slack IssueSourceSlack\nmicrosoft_teams IssueSourceMicrosoftTeams\nmicrosoft_teams_chat IssueSourceMicrosoftTeamsChat\nchat_widget IssueSourceChatWidget\nemail IssueSourceEmail\nmanual IssueSourceManual\nform IssueSourceForm\ndiscord IssueSourceDiscord",
|
|
"x-go-name": "Source"
|
|
},
|
|
"state": {
|
|
"description": "The state of the issue. This could be one of `[\"new\", \"waiting_on_you\", \"waiting_on_customer\", \"on_hold\", \"closed\"] or a custom status slug.",
|
|
"type": "string",
|
|
"x-go-name": "State"
|
|
},
|
|
"tags": {
|
|
"description": "Tags associated with the issue.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Tags"
|
|
},
|
|
"team": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the team.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"title": {
|
|
"description": "The title of the issue.",
|
|
"type": "string",
|
|
"x-go-name": "Title"
|
|
},
|
|
"type": {
|
|
"description": "The type of the issue.\n\n* Conversation IssueTypeConversation\n\n* Ticket IssueTypeTicket",
|
|
"enum": [
|
|
"Conversation",
|
|
"Ticket"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "Conversation IssueTypeConversation\nTicket IssueTypeTicket",
|
|
"x-go-name": "Type"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"import"
|
|
],
|
|
"x-codegen-request-body-name": "Body",
|
|
"x-moar-primitive-count": 6,
|
|
"x-moar-complexity-skipped": false
|
|
}
|
|
},
|
|
"/issue-statuses": {
|
|
"get": {
|
|
"description": "Get all issue statuses",
|
|
"operationId": "GetIssueStatuses",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"description": "The data payload of the response.",
|
|
"items": {
|
|
"properties": {
|
|
"category": {
|
|
"description": "The category of the issue status.",
|
|
"type": "string",
|
|
"x-go-name": "Category"
|
|
},
|
|
"is_archived": {
|
|
"description": "Indicates if the issue status is archived.",
|
|
"type": "boolean",
|
|
"x-go-name": "IsArchived"
|
|
},
|
|
"is_default_status": {
|
|
"description": "Indicates if the issue status is a default status.",
|
|
"type": "boolean",
|
|
"x-go-name": "IsDefaultStatus"
|
|
},
|
|
"label": {
|
|
"description": "The label of the issue status.",
|
|
"type": "string",
|
|
"x-go-name": "Label"
|
|
},
|
|
"slug": {
|
|
"description": "The slug of the issue status.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Data"
|
|
},
|
|
"pagination": {
|
|
"properties": {
|
|
"cursor": {
|
|
"description": "The cursor for the next page of results.",
|
|
"type": "string",
|
|
"x-go-name": "Cursor"
|
|
},
|
|
"has_next_page": {
|
|
"description": "Indicates if there is a next page of results.",
|
|
"type": "boolean",
|
|
"x-go-name": "HasNextPage"
|
|
}
|
|
},
|
|
"required": [
|
|
"cursor",
|
|
"has_next_page"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"issue-statuses"
|
|
],
|
|
"x-moar-primitive-count": 0,
|
|
"x-moar-complexity-skipped": false
|
|
}
|
|
},
|
|
"/issues": {
|
|
"get": {
|
|
"description": "Get a list of issues",
|
|
"operationId": "GetIssues",
|
|
"parameters": [
|
|
{
|
|
"description": "The start time (RFC3339) of the time range to get issues for. The duration between start_time and end_time must be less than or equal to 30 days.",
|
|
"in": "query",
|
|
"name": "start_time",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "StartTime"
|
|
},
|
|
"x-go-name": "StartTime"
|
|
},
|
|
{
|
|
"description": "The end time (RFC3339) of the time range to get issues for. The duration between start_time and end_time must be less than or equal to 30 days.",
|
|
"in": "query",
|
|
"name": "end_time",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "EndTime"
|
|
},
|
|
"x-go-name": "EndTime"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"description": "The data payload of the response.",
|
|
"items": {
|
|
"properties": {
|
|
"account": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the account.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"assignee": {
|
|
"properties": {
|
|
"email": {
|
|
"description": "The email of the user.",
|
|
"type": "string",
|
|
"x-go-name": "Email"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the user.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"attachment_urls": {
|
|
"description": "The attachment URLs attached to this issue, if any.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "AttachmentURLs"
|
|
},
|
|
"body_html": {
|
|
"description": "The body of the issue in HTML format.",
|
|
"type": "string",
|
|
"x-go-name": "BodyHTML"
|
|
},
|
|
"business_hours_first_response_seconds": {
|
|
"description": "The business hours time in seconds it took for the first response to the issue, if any.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "BusinessHoursFirstResponseSeconds"
|
|
},
|
|
"business_hours_resolution_seconds": {
|
|
"description": "The business hours time in seconds it took for the issue to be resolved, if any.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "BusinessHoursResolutionSeconds"
|
|
},
|
|
"chat_widget_info": {
|
|
"properties": {
|
|
"page_url": {
|
|
"description": "The URL of the page that the user was on when they started the chat widget issue.",
|
|
"type": "string",
|
|
"x-go-name": "PageURL"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"created_at": {
|
|
"description": "The time the issue was created.",
|
|
"type": "string",
|
|
"x-go-name": "CreatedAt"
|
|
},
|
|
"csat_responses": {
|
|
"description": "The CSAT responses of the issue, if any.",
|
|
"items": {
|
|
"properties": {
|
|
"comment": {
|
|
"description": "The comment of the CSAT response.",
|
|
"type": "string",
|
|
"x-go-name": "Comment"
|
|
},
|
|
"score": {
|
|
"description": "The score of the CSAT response.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "Score"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "CSATResponses"
|
|
},
|
|
"custom_fields": {
|
|
"additionalProperties": {
|
|
"properties": {
|
|
"slug": {
|
|
"description": "The slug of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
},
|
|
"value": {
|
|
"description": "The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint.",
|
|
"type": "string",
|
|
"x-go-name": "Value"
|
|
},
|
|
"values": {
|
|
"description": "The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Values"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"description": "Custom field values associated with the issue.",
|
|
"type": "object",
|
|
"x-go-name": "CustomFields"
|
|
},
|
|
"customer_portal_visible": {
|
|
"description": "Whether the issue is visible in the customer portal.",
|
|
"type": "boolean",
|
|
"x-go-name": "CustomerPortalVisible"
|
|
},
|
|
"external_issues": {
|
|
"description": "The external issues associated with the issue, if any.",
|
|
"items": {
|
|
"properties": {
|
|
"external_id": {
|
|
"description": "The external ID of the external issue.\n\nJira: ID of the issue (autoincrementing number from 10000).\n\nGitHub: Owner/Repo/IssueID.\n\nLinear: ID of the issue (UUID).\n\nAsana: ID of the task (Long number).",
|
|
"type": "string",
|
|
"x-go-name": "ExternalID"
|
|
},
|
|
"link": {
|
|
"description": "Link to the product issue.",
|
|
"type": "string",
|
|
"x-go-name": "Link"
|
|
},
|
|
"source": {
|
|
"description": "The source of the external issue.",
|
|
"type": "string",
|
|
"x-go-name": "Source"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "ExternalIssues"
|
|
},
|
|
"first_response_seconds": {
|
|
"description": "The time in seconds it took for the first response to the issue, if any.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "FirstResponseSeconds"
|
|
},
|
|
"first_response_time": {
|
|
"description": "The time of the first response to the issue, if any.",
|
|
"type": "string",
|
|
"x-go-name": "FirstResponseTime"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the issue.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"latest_message_time": {
|
|
"description": "The time of the latest message in the issue.",
|
|
"type": "string",
|
|
"x-go-name": "LatestMessageTime"
|
|
},
|
|
"link": {
|
|
"description": "The link to the issue in Pylon.",
|
|
"type": "string",
|
|
"x-go-name": "Link"
|
|
},
|
|
"number": {
|
|
"description": "The number of the issue.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "Number"
|
|
},
|
|
"number_of_touches": {
|
|
"description": "The number of times the issue has been touched.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "NumberOfTouches"
|
|
},
|
|
"requester": {
|
|
"properties": {
|
|
"email": {
|
|
"description": "The email of the contact.",
|
|
"type": "string",
|
|
"x-go-name": "Email"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the contact.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"resolution_seconds": {
|
|
"description": "The time in seconds it took for the issue to be resolved, if any.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "ResolutionSeconds"
|
|
},
|
|
"resolution_time": {
|
|
"description": "The time of the resolution of the issue, if any.",
|
|
"type": "string",
|
|
"x-go-name": "ResolutionTime"
|
|
},
|
|
"slack": {
|
|
"properties": {
|
|
"channel_id": {
|
|
"description": "The Slack channel ID associated with the issue.",
|
|
"type": "string",
|
|
"x-go-name": "SlackChannelID"
|
|
},
|
|
"message_ts": {
|
|
"description": "The root message ID of slack message that started issue.",
|
|
"type": "string",
|
|
"x-go-name": "SlackMessageTs"
|
|
},
|
|
"workspace_id": {
|
|
"description": "The Slack workspace ID associated with the issue.",
|
|
"type": "string",
|
|
"x-go-name": "SlackWorkspaceID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"snoozed_until_time": {
|
|
"description": "The time the issue was snoozed until in RFC3339 format, if any.",
|
|
"type": "string",
|
|
"x-go-name": "SnoozedUntilTime"
|
|
},
|
|
"source": {
|
|
"description": "The source of the issue.\n\n* slack IssueSourceSlack\n\n* microsoft_teams IssueSourceMicrosoftTeams\n\n* microsoft_teams_chat IssueSourceMicrosoftTeamsChat\n\n* chat_widget IssueSourceChatWidget\n\n* email IssueSourceEmail\n\n* manual IssueSourceManual\n\n* form IssueSourceForm\n\n* discord IssueSourceDiscord",
|
|
"enum": [
|
|
"slack",
|
|
"microsoft_teams",
|
|
"microsoft_teams_chat",
|
|
"chat_widget",
|
|
"email",
|
|
"manual",
|
|
"form",
|
|
"discord"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "slack IssueSourceSlack\nmicrosoft_teams IssueSourceMicrosoftTeams\nmicrosoft_teams_chat IssueSourceMicrosoftTeamsChat\nchat_widget IssueSourceChatWidget\nemail IssueSourceEmail\nmanual IssueSourceManual\nform IssueSourceForm\ndiscord IssueSourceDiscord",
|
|
"x-go-name": "Source"
|
|
},
|
|
"state": {
|
|
"description": "The state of the issue. This could be one of `[\"new\", \"waiting_on_you\", \"waiting_on_customer\", \"on_hold\", \"closed\"] or a custom status slug.",
|
|
"type": "string",
|
|
"x-go-name": "State"
|
|
},
|
|
"tags": {
|
|
"description": "Tags associated with the issue.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Tags"
|
|
},
|
|
"team": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the team.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"title": {
|
|
"description": "The title of the issue.",
|
|
"type": "string",
|
|
"x-go-name": "Title"
|
|
},
|
|
"type": {
|
|
"description": "The type of the issue.\n\n* Conversation IssueTypeConversation\n\n* Ticket IssueTypeTicket",
|
|
"enum": [
|
|
"Conversation",
|
|
"Ticket"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "Conversation IssueTypeConversation\nTicket IssueTypeTicket",
|
|
"x-go-name": "Type"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Data"
|
|
},
|
|
"pagination": {
|
|
"properties": {
|
|
"cursor": {
|
|
"description": "The cursor for the next page of results.",
|
|
"type": "string",
|
|
"x-go-name": "Cursor"
|
|
},
|
|
"has_next_page": {
|
|
"description": "Indicates if there is a next page of results.",
|
|
"type": "boolean",
|
|
"x-go-name": "HasNextPage"
|
|
}
|
|
},
|
|
"required": [
|
|
"cursor",
|
|
"has_next_page"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"issues"
|
|
],
|
|
"x-moar-primitive-count": 0,
|
|
"x-moar-complexity-skipped": false
|
|
},
|
|
"post": {
|
|
"description": "Create a new issue",
|
|
"operationId": "CreateIssue",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"account_id": {
|
|
"description": "The account that this issue belongs to.",
|
|
"type": "string",
|
|
"x-go-name": "AccountID"
|
|
},
|
|
"assignee_id": {
|
|
"description": "The user the issue should be assigned to.",
|
|
"type": "string",
|
|
"x-go-name": "AssigneeID"
|
|
},
|
|
"attachment_urls": {
|
|
"description": "An array of attachment URLs to attach to this issue.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "AttachmentURLs"
|
|
},
|
|
"body_html": {
|
|
"description": "The HTML content of the body of the issue.",
|
|
"type": "string",
|
|
"x-go-name": "BodyHTML"
|
|
},
|
|
"contact_id": {
|
|
"description": "Optional contact ID to post the message as. Only one of user_id or contact_id can be provided.",
|
|
"type": "string",
|
|
"x-go-name": "ContactID"
|
|
},
|
|
"created_at": {
|
|
"description": "Timestamp of when the issue was created. If not specified, the current time will be used. (RFC3339)",
|
|
"type": "string",
|
|
"x-go-name": "CreatedAt"
|
|
},
|
|
"custom_fields": {
|
|
"description": "An array of custom fields to be used on this issue.",
|
|
"items": {
|
|
"properties": {
|
|
"slug": {
|
|
"description": "The slug of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
},
|
|
"value": {
|
|
"description": "The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint.",
|
|
"type": "string",
|
|
"x-go-name": "Value"
|
|
},
|
|
"values": {
|
|
"description": "The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Values"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "CustomFields"
|
|
},
|
|
"destination_metadata": {
|
|
"description": "You can configure the issue to contact the requester via email, Slack, in-app chat, or not at all.\n\nIf a destination other than `internal` is specified, a message with the issue's BodyHTML will be delivered to the requester. If you don't wish to immediately contact the requester, you can specify the `internal` destination.",
|
|
"properties": {
|
|
"chat_widget_app_id": {
|
|
"description": "The ID of the chat widget app to use for in-app chat.",
|
|
"type": "string",
|
|
"x-go-name": "ChatWidgetAppID"
|
|
},
|
|
"destination": {
|
|
"description": "The destination type of the issue. Can be \"email\", \"slack\", \"in_app_chat\", or \"internal\". Defaults to \"internal\".\n\n* slack APIIssueDestinationSlack Deliver to the issue's account's Slack channel.\n\n* email APIIssueDestinationEmail Deliver messages to the issue requester via email.\n\n* in_app_chat APIIssueDestinationChatWidget Deliver messages to the issue requester via in-app chat.\n\n* internal APIIssueDestinationInternal Keep the issue internal and don't contact the requester at all.",
|
|
"enum": [
|
|
"slack",
|
|
"email",
|
|
"in_app_chat",
|
|
"internal"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "slack APIIssueDestinationSlack Deliver to the issue's account's Slack channel.\nemail APIIssueDestinationEmail Deliver messages to the issue requester via email.\nin_app_chat APIIssueDestinationChatWidget Deliver messages to the issue requester via in-app chat.\ninternal APIIssueDestinationInternal Keep the issue internal and don't contact the requester at all.",
|
|
"x-go-name": "Destination"
|
|
},
|
|
"email": {
|
|
"description": "The email that emails to the requester will be sent from. You must configure an email app in Pylon with this address.",
|
|
"type": "string",
|
|
"x-go-name": "Email"
|
|
},
|
|
"email_bccs": {
|
|
"description": "Emails that will be BCCed on emails to the requester.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "EmailBCCs"
|
|
},
|
|
"email_ccs": {
|
|
"description": "Emails that will be CCed on emails to the requester.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "EmailCCs"
|
|
}
|
|
},
|
|
"title": "DestinationMetadata specifies if/how communication will be delivered to the customer.",
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"priority": {
|
|
"description": "The priority of the issue. Can be one of: urgent, high, medium, or low.",
|
|
"type": "string",
|
|
"x-go-name": "Priority"
|
|
},
|
|
"requester_avatar_url": {
|
|
"description": "The URL of an avatar of the requester.",
|
|
"type": "string",
|
|
"x-go-name": "RequesterAvatarUrl"
|
|
},
|
|
"requester_email": {
|
|
"description": "The email of the user that this issue is on behalf of. Include one of requester_id or requester_email to create an issue with a requester.",
|
|
"type": "string",
|
|
"x-go-name": "RequesterEmail"
|
|
},
|
|
"requester_id": {
|
|
"description": "The requester that this issue is on behalf of. Include one of requester_id or requester_email to create an issue with a requester.",
|
|
"type": "string",
|
|
"x-go-name": "RequesterID"
|
|
},
|
|
"requester_name": {
|
|
"description": "The full name of the user that this issue is on behalf of.",
|
|
"type": "string",
|
|
"x-go-name": "RequesterName"
|
|
},
|
|
"tags": {
|
|
"description": "An array of strings to use as tags on this issue. If provided, the issue tags will be updated to the given tags.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Tags"
|
|
},
|
|
"team_id": {
|
|
"description": "The ID of the team this issue should be assigned to.",
|
|
"type": "string",
|
|
"x-go-name": "TeamID"
|
|
},
|
|
"title": {
|
|
"description": "The title of the issue.",
|
|
"type": "string",
|
|
"x-go-name": "Title"
|
|
},
|
|
"user_id": {
|
|
"description": "Optional user ID to post the message as. Only one of user_id or contact_id can be provided.",
|
|
"type": "string",
|
|
"x-go-name": "UserID"
|
|
}
|
|
},
|
|
"required": [
|
|
"body_html",
|
|
"title"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"required": false
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"properties": {
|
|
"account": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the account.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"assignee": {
|
|
"properties": {
|
|
"email": {
|
|
"description": "The email of the user.",
|
|
"type": "string",
|
|
"x-go-name": "Email"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the user.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"attachment_urls": {
|
|
"description": "The attachment URLs attached to this issue, if any.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "AttachmentURLs"
|
|
},
|
|
"body_html": {
|
|
"description": "The body of the issue in HTML format.",
|
|
"type": "string",
|
|
"x-go-name": "BodyHTML"
|
|
},
|
|
"business_hours_first_response_seconds": {
|
|
"description": "The business hours time in seconds it took for the first response to the issue, if any.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "BusinessHoursFirstResponseSeconds"
|
|
},
|
|
"business_hours_resolution_seconds": {
|
|
"description": "The business hours time in seconds it took for the issue to be resolved, if any.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "BusinessHoursResolutionSeconds"
|
|
},
|
|
"chat_widget_info": {
|
|
"properties": {
|
|
"page_url": {
|
|
"description": "The URL of the page that the user was on when they started the chat widget issue.",
|
|
"type": "string",
|
|
"x-go-name": "PageURL"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"created_at": {
|
|
"description": "The time the issue was created.",
|
|
"type": "string",
|
|
"x-go-name": "CreatedAt"
|
|
},
|
|
"csat_responses": {
|
|
"description": "The CSAT responses of the issue, if any.",
|
|
"items": {
|
|
"properties": {
|
|
"comment": {
|
|
"description": "The comment of the CSAT response.",
|
|
"type": "string",
|
|
"x-go-name": "Comment"
|
|
},
|
|
"score": {
|
|
"description": "The score of the CSAT response.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "Score"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "CSATResponses"
|
|
},
|
|
"custom_fields": {
|
|
"additionalProperties": {
|
|
"properties": {
|
|
"slug": {
|
|
"description": "The slug of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
},
|
|
"value": {
|
|
"description": "The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint.",
|
|
"type": "string",
|
|
"x-go-name": "Value"
|
|
},
|
|
"values": {
|
|
"description": "The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Values"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"description": "Custom field values associated with the issue.",
|
|
"type": "object",
|
|
"x-go-name": "CustomFields"
|
|
},
|
|
"customer_portal_visible": {
|
|
"description": "Whether the issue is visible in the customer portal.",
|
|
"type": "boolean",
|
|
"x-go-name": "CustomerPortalVisible"
|
|
},
|
|
"external_issues": {
|
|
"description": "The external issues associated with the issue, if any.",
|
|
"items": {
|
|
"properties": {
|
|
"external_id": {
|
|
"description": "The external ID of the external issue.\n\nJira: ID of the issue (autoincrementing number from 10000).\n\nGitHub: Owner/Repo/IssueID.\n\nLinear: ID of the issue (UUID).\n\nAsana: ID of the task (Long number).",
|
|
"type": "string",
|
|
"x-go-name": "ExternalID"
|
|
},
|
|
"link": {
|
|
"description": "Link to the product issue.",
|
|
"type": "string",
|
|
"x-go-name": "Link"
|
|
},
|
|
"source": {
|
|
"description": "The source of the external issue.",
|
|
"type": "string",
|
|
"x-go-name": "Source"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "ExternalIssues"
|
|
},
|
|
"first_response_seconds": {
|
|
"description": "The time in seconds it took for the first response to the issue, if any.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "FirstResponseSeconds"
|
|
},
|
|
"first_response_time": {
|
|
"description": "The time of the first response to the issue, if any.",
|
|
"type": "string",
|
|
"x-go-name": "FirstResponseTime"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the issue.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"latest_message_time": {
|
|
"description": "The time of the latest message in the issue.",
|
|
"type": "string",
|
|
"x-go-name": "LatestMessageTime"
|
|
},
|
|
"link": {
|
|
"description": "The link to the issue in Pylon.",
|
|
"type": "string",
|
|
"x-go-name": "Link"
|
|
},
|
|
"number": {
|
|
"description": "The number of the issue.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "Number"
|
|
},
|
|
"number_of_touches": {
|
|
"description": "The number of times the issue has been touched.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "NumberOfTouches"
|
|
},
|
|
"requester": {
|
|
"properties": {
|
|
"email": {
|
|
"description": "The email of the contact.",
|
|
"type": "string",
|
|
"x-go-name": "Email"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the contact.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"resolution_seconds": {
|
|
"description": "The time in seconds it took for the issue to be resolved, if any.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "ResolutionSeconds"
|
|
},
|
|
"resolution_time": {
|
|
"description": "The time of the resolution of the issue, if any.",
|
|
"type": "string",
|
|
"x-go-name": "ResolutionTime"
|
|
},
|
|
"slack": {
|
|
"properties": {
|
|
"channel_id": {
|
|
"description": "The Slack channel ID associated with the issue.",
|
|
"type": "string",
|
|
"x-go-name": "SlackChannelID"
|
|
},
|
|
"message_ts": {
|
|
"description": "The root message ID of slack message that started issue.",
|
|
"type": "string",
|
|
"x-go-name": "SlackMessageTs"
|
|
},
|
|
"workspace_id": {
|
|
"description": "The Slack workspace ID associated with the issue.",
|
|
"type": "string",
|
|
"x-go-name": "SlackWorkspaceID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"snoozed_until_time": {
|
|
"description": "The time the issue was snoozed until in RFC3339 format, if any.",
|
|
"type": "string",
|
|
"x-go-name": "SnoozedUntilTime"
|
|
},
|
|
"source": {
|
|
"description": "The source of the issue.\n\n* slack IssueSourceSlack\n\n* microsoft_teams IssueSourceMicrosoftTeams\n\n* microsoft_teams_chat IssueSourceMicrosoftTeamsChat\n\n* chat_widget IssueSourceChatWidget\n\n* email IssueSourceEmail\n\n* manual IssueSourceManual\n\n* form IssueSourceForm\n\n* discord IssueSourceDiscord",
|
|
"enum": [
|
|
"slack",
|
|
"microsoft_teams",
|
|
"microsoft_teams_chat",
|
|
"chat_widget",
|
|
"email",
|
|
"manual",
|
|
"form",
|
|
"discord"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "slack IssueSourceSlack\nmicrosoft_teams IssueSourceMicrosoftTeams\nmicrosoft_teams_chat IssueSourceMicrosoftTeamsChat\nchat_widget IssueSourceChatWidget\nemail IssueSourceEmail\nmanual IssueSourceManual\nform IssueSourceForm\ndiscord IssueSourceDiscord",
|
|
"x-go-name": "Source"
|
|
},
|
|
"state": {
|
|
"description": "The state of the issue. This could be one of `[\"new\", \"waiting_on_you\", \"waiting_on_customer\", \"on_hold\", \"closed\"] or a custom status slug.",
|
|
"type": "string",
|
|
"x-go-name": "State"
|
|
},
|
|
"tags": {
|
|
"description": "Tags associated with the issue.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Tags"
|
|
},
|
|
"team": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the team.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"title": {
|
|
"description": "The title of the issue.",
|
|
"type": "string",
|
|
"x-go-name": "Title"
|
|
},
|
|
"type": {
|
|
"description": "The type of the issue.\n\n* Conversation IssueTypeConversation\n\n* Ticket IssueTypeTicket",
|
|
"enum": [
|
|
"Conversation",
|
|
"Ticket"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "Conversation IssueTypeConversation\nTicket IssueTypeTicket",
|
|
"x-go-name": "Type"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"issues"
|
|
],
|
|
"x-codegen-request-body-name": "Body",
|
|
"x-moar-primitive-count": 23,
|
|
"x-moar-complexity-skipped": false
|
|
}
|
|
},
|
|
"/issues/search": {
|
|
"post": {
|
|
"description": "Currently, the following fields are filterable for issues:\n\n* created_at (in RFC3339 format). Allowed operators: `time_is_after`, `time_is_before`, `time_range`\n\n* account_id. Allowed operators: `equals`, `in`, `not_in`, `is_set`, `is_unset`\n\n* ticket_form_id. Allowed operators: `equals`, `in`, `not_in`, `is_set`, `is_unset`\n\n* requester_id. Allowed operators: `equals`, `in`, `not_in`, `is_set`, `is_unset`\n\n* follower_user_id. Allowed operators: `equals`, `in`, `not_in`\n\n* follower_contact_id. Allowed operators: `equals`, `in`, `not_in`\n\n* state. Valid values are `[\"new\", \"waiting_on_you\", \"waiting_on_customer\", \"on_hold\", \"closed\"]` or a custom status slug. Allowed operators: `equals`, `in`, `not_in`\n\n* custom fields (pass in the slug of the custom field)\n\n* tags (pass in the tag name). Allowed operators: `contains`, `does_not_contain`, `in`, `not_in`\n\n* title. Allowed operators: `string_contains`, `string_does_not_contain`\n\n* body_html. Allowed operators: `string_contains`, `string_does_not_contain`\n\n* assignee_id. Allowed operators: `equals`, `in`, `not_in`, `is_set`, `is_unset`\n\n* team_id. Allowed operators: `equals`, `in`, `not_in`",
|
|
"operationId": "SearchIssues",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"cursor": {
|
|
"description": "The cursor to use for pagination.",
|
|
"type": "string",
|
|
"x-go-name": "Cursor"
|
|
},
|
|
"filter": {
|
|
"properties": {
|
|
"field": {
|
|
"description": "The field for this filter. For allowed fields, see the documentation for\n\nthe specific endpoint you are using.\n\nFor non-compound filters (any operators other than \"and\" or \"or\"),\n\nField must be set, along with either Value or Values, depending on the operator.",
|
|
"type": "string",
|
|
"x-go-name": "Field"
|
|
},
|
|
"operator": {
|
|
"description": "The operator for this filter.\n\n* equals FilterOperatorEquals Matches objects that are exactly equal to the value in the field.\n\n* not_equals FilterOperatorNotEquals Matches objects that are not exactly equal to the value in the field.\n\n* contains FilterOperatorContains For a multi-valued field, such as tags, this operator will match objects that contain any of the values in the field.\n\n* does_not_contain FilterOperatorDoesNotContain For a multi-valued field, such as tags, this operator will match objects that do not contain any of the values in the field.\n\n* in FilterOperatorIn Matches objects if the field is one of several possible values, as specified in the values array.\n\n* not_in FilterOperatorNotIn Matches objects if the field is none of several possible values, as specified in the values array.\n\n* and FilterOperatorAnd Matches objects only if all subfilters match.\n\n* or FilterOperatorOr Matches objects if any subfilter matches.\n\n* time_is_after FilterOperatorTimeIsAfter Matches objects if the field is after the given time.\n\n* time_is_before FilterOperatorTimeIsBefore Matches objects if the field is before the given time.\n\n* time_range FilterOperatorTimeRange Matches objects if the field is between the given times.\n\n* string_contains FilterOperatorStringContains Matches objects if the field contains the given string.\n\n* string_does_not_contain FilterOperatorStringDoesNotContain Matches objects if the field does not contain the given string.\n\n* is_set FilterOperatorIsSet FilterOperatorIsSet matches objects if the field is set.\n\n* is_unset FilterOperatorIsUnset FilterOperatorIsUnset matches objects if the field is unset.",
|
|
"enum": [
|
|
"equals",
|
|
"not_equals",
|
|
"contains",
|
|
"does_not_contain",
|
|
"in",
|
|
"not_in",
|
|
"and",
|
|
"or",
|
|
"time_is_after",
|
|
"time_is_before",
|
|
"time_range",
|
|
"string_contains",
|
|
"string_does_not_contain",
|
|
"is_set",
|
|
"is_unset"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "equals FilterOperatorEquals Matches objects that are exactly equal to the value in the field.\nnot_equals FilterOperatorNotEquals Matches objects that are not exactly equal to the value in the field.\ncontains FilterOperatorContains For a multi-valued field, such as tags, this operator will match objects that contain any of the values in the field.\ndoes_not_contain FilterOperatorDoesNotContain For a multi-valued field, such as tags, this operator will match objects that do not contain any of the values in the field.\nin FilterOperatorIn Matches objects if the field is one of several possible values, as specified in the values array.\nnot_in FilterOperatorNotIn Matches objects if the field is none of several possible values, as specified in the values array.\nand FilterOperatorAnd Matches objects only if all subfilters match.\nor FilterOperatorOr Matches objects if any subfilter matches.\ntime_is_after FilterOperatorTimeIsAfter Matches objects if the field is after the given time.\ntime_is_before FilterOperatorTimeIsBefore Matches objects if the field is before the given time.\ntime_range FilterOperatorTimeRange Matches objects if the field is between the given times.\nstring_contains FilterOperatorStringContains Matches objects if the field contains the given string.\nstring_does_not_contain FilterOperatorStringDoesNotContain Matches objects if the field does not contain the given string.\nis_set FilterOperatorIsSet FilterOperatorIsSet matches objects if the field is set.\nis_unset FilterOperatorIsUnset FilterOperatorIsUnset matches objects if the field is unset.",
|
|
"x-go-name": "Operator"
|
|
},
|
|
"subfilters": {
|
|
"description": "Sub-filters for this filter. Valid only when operator is \"and\" or \"or\".\n\nThe maximum allowed depth for a tree of filters is 3.",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Filter",
|
|
"has_circular_reference": true
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Subfilters"
|
|
},
|
|
"value": {
|
|
"description": "The value for this filter. Only used for single-valued operators\n\n(\"equals\", \"not_equals\", \"contains\", \"does_not_contain\")",
|
|
"type": "string",
|
|
"x-go-name": "Value"
|
|
},
|
|
"values": {
|
|
"description": "The values for this filter. Only used for multi-valued operators (\"in\", \"not_in\").",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Values"
|
|
}
|
|
},
|
|
"required": [
|
|
"field",
|
|
"operator"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"limit": {
|
|
"description": "The number of issues to fetch. Defaults to 100. Must be greater than 0 and less than 1000.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "Limit"
|
|
}
|
|
},
|
|
"required": [
|
|
"filter"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"required": false
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"items": {
|
|
"properties": {
|
|
"account": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the account.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"assignee": {
|
|
"properties": {
|
|
"email": {
|
|
"description": "The email of the user.",
|
|
"type": "string",
|
|
"x-go-name": "Email"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the user.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"attachment_urls": {
|
|
"description": "The attachment URLs attached to this issue, if any.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "AttachmentURLs"
|
|
},
|
|
"body_html": {
|
|
"description": "The body of the issue in HTML format.",
|
|
"type": "string",
|
|
"x-go-name": "BodyHTML"
|
|
},
|
|
"business_hours_first_response_seconds": {
|
|
"description": "The business hours time in seconds it took for the first response to the issue, if any.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "BusinessHoursFirstResponseSeconds"
|
|
},
|
|
"business_hours_resolution_seconds": {
|
|
"description": "The business hours time in seconds it took for the issue to be resolved, if any.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "BusinessHoursResolutionSeconds"
|
|
},
|
|
"chat_widget_info": {
|
|
"properties": {
|
|
"page_url": {
|
|
"description": "The URL of the page that the user was on when they started the chat widget issue.",
|
|
"type": "string",
|
|
"x-go-name": "PageURL"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"created_at": {
|
|
"description": "The time the issue was created.",
|
|
"type": "string",
|
|
"x-go-name": "CreatedAt"
|
|
},
|
|
"csat_responses": {
|
|
"description": "The CSAT responses of the issue, if any.",
|
|
"items": {
|
|
"properties": {
|
|
"comment": {
|
|
"description": "The comment of the CSAT response.",
|
|
"type": "string",
|
|
"x-go-name": "Comment"
|
|
},
|
|
"score": {
|
|
"description": "The score of the CSAT response.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "Score"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "CSATResponses"
|
|
},
|
|
"custom_fields": {
|
|
"additionalProperties": {
|
|
"properties": {
|
|
"slug": {
|
|
"description": "The slug of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
},
|
|
"value": {
|
|
"description": "The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint.",
|
|
"type": "string",
|
|
"x-go-name": "Value"
|
|
},
|
|
"values": {
|
|
"description": "The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Values"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"description": "Custom field values associated with the issue.",
|
|
"type": "object",
|
|
"x-go-name": "CustomFields"
|
|
},
|
|
"customer_portal_visible": {
|
|
"description": "Whether the issue is visible in the customer portal.",
|
|
"type": "boolean",
|
|
"x-go-name": "CustomerPortalVisible"
|
|
},
|
|
"external_issues": {
|
|
"description": "The external issues associated with the issue, if any.",
|
|
"items": {
|
|
"properties": {
|
|
"external_id": {
|
|
"description": "The external ID of the external issue.\n\nJira: ID of the issue (autoincrementing number from 10000).\n\nGitHub: Owner/Repo/IssueID.\n\nLinear: ID of the issue (UUID).\n\nAsana: ID of the task (Long number).",
|
|
"type": "string",
|
|
"x-go-name": "ExternalID"
|
|
},
|
|
"link": {
|
|
"description": "Link to the product issue.",
|
|
"type": "string",
|
|
"x-go-name": "Link"
|
|
},
|
|
"source": {
|
|
"description": "The source of the external issue.",
|
|
"type": "string",
|
|
"x-go-name": "Source"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "ExternalIssues"
|
|
},
|
|
"first_response_seconds": {
|
|
"description": "The time in seconds it took for the first response to the issue, if any.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "FirstResponseSeconds"
|
|
},
|
|
"first_response_time": {
|
|
"description": "The time of the first response to the issue, if any.",
|
|
"type": "string",
|
|
"x-go-name": "FirstResponseTime"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the issue.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"latest_message_time": {
|
|
"description": "The time of the latest message in the issue.",
|
|
"type": "string",
|
|
"x-go-name": "LatestMessageTime"
|
|
},
|
|
"link": {
|
|
"description": "The link to the issue in Pylon.",
|
|
"type": "string",
|
|
"x-go-name": "Link"
|
|
},
|
|
"number": {
|
|
"description": "The number of the issue.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "Number"
|
|
},
|
|
"number_of_touches": {
|
|
"description": "The number of times the issue has been touched.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "NumberOfTouches"
|
|
},
|
|
"requester": {
|
|
"properties": {
|
|
"email": {
|
|
"description": "The email of the contact.",
|
|
"type": "string",
|
|
"x-go-name": "Email"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the contact.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"resolution_seconds": {
|
|
"description": "The time in seconds it took for the issue to be resolved, if any.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "ResolutionSeconds"
|
|
},
|
|
"resolution_time": {
|
|
"description": "The time of the resolution of the issue, if any.",
|
|
"type": "string",
|
|
"x-go-name": "ResolutionTime"
|
|
},
|
|
"slack": {
|
|
"properties": {
|
|
"channel_id": {
|
|
"description": "The Slack channel ID associated with the issue.",
|
|
"type": "string",
|
|
"x-go-name": "SlackChannelID"
|
|
},
|
|
"message_ts": {
|
|
"description": "The root message ID of slack message that started issue.",
|
|
"type": "string",
|
|
"x-go-name": "SlackMessageTs"
|
|
},
|
|
"workspace_id": {
|
|
"description": "The Slack workspace ID associated with the issue.",
|
|
"type": "string",
|
|
"x-go-name": "SlackWorkspaceID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"snoozed_until_time": {
|
|
"description": "The time the issue was snoozed until in RFC3339 format, if any.",
|
|
"type": "string",
|
|
"x-go-name": "SnoozedUntilTime"
|
|
},
|
|
"source": {
|
|
"description": "The source of the issue.\n\n* slack IssueSourceSlack\n\n* microsoft_teams IssueSourceMicrosoftTeams\n\n* microsoft_teams_chat IssueSourceMicrosoftTeamsChat\n\n* chat_widget IssueSourceChatWidget\n\n* email IssueSourceEmail\n\n* manual IssueSourceManual\n\n* form IssueSourceForm\n\n* discord IssueSourceDiscord",
|
|
"enum": [
|
|
"slack",
|
|
"microsoft_teams",
|
|
"microsoft_teams_chat",
|
|
"chat_widget",
|
|
"email",
|
|
"manual",
|
|
"form",
|
|
"discord"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "slack IssueSourceSlack\nmicrosoft_teams IssueSourceMicrosoftTeams\nmicrosoft_teams_chat IssueSourceMicrosoftTeamsChat\nchat_widget IssueSourceChatWidget\nemail IssueSourceEmail\nmanual IssueSourceManual\nform IssueSourceForm\ndiscord IssueSourceDiscord",
|
|
"x-go-name": "Source"
|
|
},
|
|
"state": {
|
|
"description": "The state of the issue. This could be one of `[\"new\", \"waiting_on_you\", \"waiting_on_customer\", \"on_hold\", \"closed\"] or a custom status slug.",
|
|
"type": "string",
|
|
"x-go-name": "State"
|
|
},
|
|
"tags": {
|
|
"description": "Tags associated with the issue.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Tags"
|
|
},
|
|
"team": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the team.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"title": {
|
|
"description": "The title of the issue.",
|
|
"type": "string",
|
|
"x-go-name": "Title"
|
|
},
|
|
"type": {
|
|
"description": "The type of the issue.\n\n* Conversation IssueTypeConversation\n\n* Ticket IssueTypeTicket",
|
|
"enum": [
|
|
"Conversation",
|
|
"Ticket"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "Conversation IssueTypeConversation\nTicket IssueTypeTicket",
|
|
"x-go-name": "Type"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Data"
|
|
},
|
|
"pagination": {
|
|
"properties": {
|
|
"cursor": {
|
|
"description": "The cursor for the next page of results.",
|
|
"type": "string",
|
|
"x-go-name": "Cursor"
|
|
},
|
|
"has_next_page": {
|
|
"description": "Indicates if there is a next page of results.",
|
|
"type": "boolean",
|
|
"x-go-name": "HasNextPage"
|
|
}
|
|
},
|
|
"required": [
|
|
"cursor",
|
|
"has_next_page"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"request_id": {
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"summary": "Search for issues by a given filter",
|
|
"tags": [
|
|
"issues"
|
|
],
|
|
"x-codegen-request-body-name": "Body",
|
|
"x-moar-primitive-count": 7,
|
|
"x-moar-complexity-skipped": false
|
|
}
|
|
},
|
|
"/issues/{id}": {
|
|
"delete": {
|
|
"description": "Delete an existing issue",
|
|
"operationId": "DeleteIssue",
|
|
"parameters": [
|
|
{
|
|
"description": "The ID of the issue to delete.",
|
|
"in": "path",
|
|
"name": "id",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"x-go-name": "ID"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"issues"
|
|
],
|
|
"x-moar-primitive-count": 0,
|
|
"x-moar-complexity-skipped": false
|
|
},
|
|
"get": {
|
|
"description": "Get an issue by its ID/number",
|
|
"operationId": "GetIssue",
|
|
"parameters": [
|
|
{
|
|
"description": "The ID or number of the issue to fetch.",
|
|
"in": "path",
|
|
"name": "id",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"x-go-name": "ID"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"properties": {
|
|
"account": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the account.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"assignee": {
|
|
"properties": {
|
|
"email": {
|
|
"description": "The email of the user.",
|
|
"type": "string",
|
|
"x-go-name": "Email"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the user.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"attachment_urls": {
|
|
"description": "The attachment URLs attached to this issue, if any.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "AttachmentURLs"
|
|
},
|
|
"body_html": {
|
|
"description": "The body of the issue in HTML format.",
|
|
"type": "string",
|
|
"x-go-name": "BodyHTML"
|
|
},
|
|
"business_hours_first_response_seconds": {
|
|
"description": "The business hours time in seconds it took for the first response to the issue, if any.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "BusinessHoursFirstResponseSeconds"
|
|
},
|
|
"business_hours_resolution_seconds": {
|
|
"description": "The business hours time in seconds it took for the issue to be resolved, if any.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "BusinessHoursResolutionSeconds"
|
|
},
|
|
"chat_widget_info": {
|
|
"properties": {
|
|
"page_url": {
|
|
"description": "The URL of the page that the user was on when they started the chat widget issue.",
|
|
"type": "string",
|
|
"x-go-name": "PageURL"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"created_at": {
|
|
"description": "The time the issue was created.",
|
|
"type": "string",
|
|
"x-go-name": "CreatedAt"
|
|
},
|
|
"csat_responses": {
|
|
"description": "The CSAT responses of the issue, if any.",
|
|
"items": {
|
|
"properties": {
|
|
"comment": {
|
|
"description": "The comment of the CSAT response.",
|
|
"type": "string",
|
|
"x-go-name": "Comment"
|
|
},
|
|
"score": {
|
|
"description": "The score of the CSAT response.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "Score"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "CSATResponses"
|
|
},
|
|
"custom_fields": {
|
|
"additionalProperties": {
|
|
"properties": {
|
|
"slug": {
|
|
"description": "The slug of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
},
|
|
"value": {
|
|
"description": "The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint.",
|
|
"type": "string",
|
|
"x-go-name": "Value"
|
|
},
|
|
"values": {
|
|
"description": "The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Values"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"description": "Custom field values associated with the issue.",
|
|
"type": "object",
|
|
"x-go-name": "CustomFields"
|
|
},
|
|
"customer_portal_visible": {
|
|
"description": "Whether the issue is visible in the customer portal.",
|
|
"type": "boolean",
|
|
"x-go-name": "CustomerPortalVisible"
|
|
},
|
|
"external_issues": {
|
|
"description": "The external issues associated with the issue, if any.",
|
|
"items": {
|
|
"properties": {
|
|
"external_id": {
|
|
"description": "The external ID of the external issue.\n\nJira: ID of the issue (autoincrementing number from 10000).\n\nGitHub: Owner/Repo/IssueID.\n\nLinear: ID of the issue (UUID).\n\nAsana: ID of the task (Long number).",
|
|
"type": "string",
|
|
"x-go-name": "ExternalID"
|
|
},
|
|
"link": {
|
|
"description": "Link to the product issue.",
|
|
"type": "string",
|
|
"x-go-name": "Link"
|
|
},
|
|
"source": {
|
|
"description": "The source of the external issue.",
|
|
"type": "string",
|
|
"x-go-name": "Source"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "ExternalIssues"
|
|
},
|
|
"first_response_seconds": {
|
|
"description": "The time in seconds it took for the first response to the issue, if any.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "FirstResponseSeconds"
|
|
},
|
|
"first_response_time": {
|
|
"description": "The time of the first response to the issue, if any.",
|
|
"type": "string",
|
|
"x-go-name": "FirstResponseTime"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the issue.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"latest_message_time": {
|
|
"description": "The time of the latest message in the issue.",
|
|
"type": "string",
|
|
"x-go-name": "LatestMessageTime"
|
|
},
|
|
"link": {
|
|
"description": "The link to the issue in Pylon.",
|
|
"type": "string",
|
|
"x-go-name": "Link"
|
|
},
|
|
"number": {
|
|
"description": "The number of the issue.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "Number"
|
|
},
|
|
"number_of_touches": {
|
|
"description": "The number of times the issue has been touched.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "NumberOfTouches"
|
|
},
|
|
"requester": {
|
|
"properties": {
|
|
"email": {
|
|
"description": "The email of the contact.",
|
|
"type": "string",
|
|
"x-go-name": "Email"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the contact.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"resolution_seconds": {
|
|
"description": "The time in seconds it took for the issue to be resolved, if any.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "ResolutionSeconds"
|
|
},
|
|
"resolution_time": {
|
|
"description": "The time of the resolution of the issue, if any.",
|
|
"type": "string",
|
|
"x-go-name": "ResolutionTime"
|
|
},
|
|
"slack": {
|
|
"properties": {
|
|
"channel_id": {
|
|
"description": "The Slack channel ID associated with the issue.",
|
|
"type": "string",
|
|
"x-go-name": "SlackChannelID"
|
|
},
|
|
"message_ts": {
|
|
"description": "The root message ID of slack message that started issue.",
|
|
"type": "string",
|
|
"x-go-name": "SlackMessageTs"
|
|
},
|
|
"workspace_id": {
|
|
"description": "The Slack workspace ID associated with the issue.",
|
|
"type": "string",
|
|
"x-go-name": "SlackWorkspaceID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"snoozed_until_time": {
|
|
"description": "The time the issue was snoozed until in RFC3339 format, if any.",
|
|
"type": "string",
|
|
"x-go-name": "SnoozedUntilTime"
|
|
},
|
|
"source": {
|
|
"description": "The source of the issue.\n\n* slack IssueSourceSlack\n\n* microsoft_teams IssueSourceMicrosoftTeams\n\n* microsoft_teams_chat IssueSourceMicrosoftTeamsChat\n\n* chat_widget IssueSourceChatWidget\n\n* email IssueSourceEmail\n\n* manual IssueSourceManual\n\n* form IssueSourceForm\n\n* discord IssueSourceDiscord",
|
|
"enum": [
|
|
"slack",
|
|
"microsoft_teams",
|
|
"microsoft_teams_chat",
|
|
"chat_widget",
|
|
"email",
|
|
"manual",
|
|
"form",
|
|
"discord"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "slack IssueSourceSlack\nmicrosoft_teams IssueSourceMicrosoftTeams\nmicrosoft_teams_chat IssueSourceMicrosoftTeamsChat\nchat_widget IssueSourceChatWidget\nemail IssueSourceEmail\nmanual IssueSourceManual\nform IssueSourceForm\ndiscord IssueSourceDiscord",
|
|
"x-go-name": "Source"
|
|
},
|
|
"state": {
|
|
"description": "The state of the issue. This could be one of `[\"new\", \"waiting_on_you\", \"waiting_on_customer\", \"on_hold\", \"closed\"] or a custom status slug.",
|
|
"type": "string",
|
|
"x-go-name": "State"
|
|
},
|
|
"tags": {
|
|
"description": "Tags associated with the issue.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Tags"
|
|
},
|
|
"team": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the team.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"title": {
|
|
"description": "The title of the issue.",
|
|
"type": "string",
|
|
"x-go-name": "Title"
|
|
},
|
|
"type": {
|
|
"description": "The type of the issue.\n\n* Conversation IssueTypeConversation\n\n* Ticket IssueTypeTicket",
|
|
"enum": [
|
|
"Conversation",
|
|
"Ticket"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "Conversation IssueTypeConversation\nTicket IssueTypeTicket",
|
|
"x-go-name": "Type"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"issues"
|
|
],
|
|
"x-moar-primitive-count": 0,
|
|
"x-moar-complexity-skipped": false
|
|
},
|
|
"patch": {
|
|
"description": "Update an existing issue",
|
|
"operationId": "UpdateIssue",
|
|
"parameters": [
|
|
{
|
|
"description": "The ID of the issue to update.",
|
|
"in": "path",
|
|
"name": "id",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"x-go-name": "ID"
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"account_id": {
|
|
"description": "The ID of the account that this issue belongs to. Only supported on issues with source: [\"manual\", \"form\", \"email\"].",
|
|
"type": "string",
|
|
"x-go-name": "AccountID"
|
|
},
|
|
"assignee_id": {
|
|
"description": "The ID of the user who should be assigned to this issue. If empty string is passed in, the issue assignee will be removed.",
|
|
"type": "string",
|
|
"x-go-name": "AssigneeID"
|
|
},
|
|
"custom_fields": {
|
|
"description": "An array of custom fields to be used on this issue. Only passed in fields will be modified.",
|
|
"items": {
|
|
"properties": {
|
|
"slug": {
|
|
"description": "The slug of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
},
|
|
"value": {
|
|
"description": "The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint.",
|
|
"type": "string",
|
|
"x-go-name": "Value"
|
|
},
|
|
"values": {
|
|
"description": "The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Values"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "CustomFields"
|
|
},
|
|
"customer_portal_visible": {
|
|
"description": "Whether the issue should be visible in the customer portal.",
|
|
"type": "boolean",
|
|
"x-go-name": "CustomerPortalVisible"
|
|
},
|
|
"requester_id": {
|
|
"description": "The ID of the requester that this issue is on behalf of.",
|
|
"type": "string",
|
|
"x-go-name": "RequesterID"
|
|
},
|
|
"requestor_id": {
|
|
"description": "Deprecated: Use requester_id instead.",
|
|
"type": "string",
|
|
"x-go-name": "RequestorID"
|
|
},
|
|
"state": {
|
|
"description": "The state this issue should be moved to. Can be one of new, waiting_on_you, waiting_on_customer, on_hold, closed, or a custom status.",
|
|
"type": "string",
|
|
"x-go-name": "State"
|
|
},
|
|
"tags": {
|
|
"description": "An array of strings to use as tags on this issue. If provided, the issue tags will be updated to be exactly the given tags.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Tags"
|
|
},
|
|
"team_id": {
|
|
"description": "The ID of the team this issue should be assigned to. If empty string is passed in, any assigned team will be removed.",
|
|
"type": "string",
|
|
"x-go-name": "TeamID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"required": false
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"properties": {
|
|
"account": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the account.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"assignee": {
|
|
"properties": {
|
|
"email": {
|
|
"description": "The email of the user.",
|
|
"type": "string",
|
|
"x-go-name": "Email"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the user.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"attachment_urls": {
|
|
"description": "The attachment URLs attached to this issue, if any.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "AttachmentURLs"
|
|
},
|
|
"body_html": {
|
|
"description": "The body of the issue in HTML format.",
|
|
"type": "string",
|
|
"x-go-name": "BodyHTML"
|
|
},
|
|
"business_hours_first_response_seconds": {
|
|
"description": "The business hours time in seconds it took for the first response to the issue, if any.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "BusinessHoursFirstResponseSeconds"
|
|
},
|
|
"business_hours_resolution_seconds": {
|
|
"description": "The business hours time in seconds it took for the issue to be resolved, if any.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "BusinessHoursResolutionSeconds"
|
|
},
|
|
"chat_widget_info": {
|
|
"properties": {
|
|
"page_url": {
|
|
"description": "The URL of the page that the user was on when they started the chat widget issue.",
|
|
"type": "string",
|
|
"x-go-name": "PageURL"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"created_at": {
|
|
"description": "The time the issue was created.",
|
|
"type": "string",
|
|
"x-go-name": "CreatedAt"
|
|
},
|
|
"csat_responses": {
|
|
"description": "The CSAT responses of the issue, if any.",
|
|
"items": {
|
|
"properties": {
|
|
"comment": {
|
|
"description": "The comment of the CSAT response.",
|
|
"type": "string",
|
|
"x-go-name": "Comment"
|
|
},
|
|
"score": {
|
|
"description": "The score of the CSAT response.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "Score"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "CSATResponses"
|
|
},
|
|
"custom_fields": {
|
|
"additionalProperties": {
|
|
"properties": {
|
|
"slug": {
|
|
"description": "The slug of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
},
|
|
"value": {
|
|
"description": "The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint.",
|
|
"type": "string",
|
|
"x-go-name": "Value"
|
|
},
|
|
"values": {
|
|
"description": "The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Values"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"description": "Custom field values associated with the issue.",
|
|
"type": "object",
|
|
"x-go-name": "CustomFields"
|
|
},
|
|
"customer_portal_visible": {
|
|
"description": "Whether the issue is visible in the customer portal.",
|
|
"type": "boolean",
|
|
"x-go-name": "CustomerPortalVisible"
|
|
},
|
|
"external_issues": {
|
|
"description": "The external issues associated with the issue, if any.",
|
|
"items": {
|
|
"properties": {
|
|
"external_id": {
|
|
"description": "The external ID of the external issue.\n\nJira: ID of the issue (autoincrementing number from 10000).\n\nGitHub: Owner/Repo/IssueID.\n\nLinear: ID of the issue (UUID).\n\nAsana: ID of the task (Long number).",
|
|
"type": "string",
|
|
"x-go-name": "ExternalID"
|
|
},
|
|
"link": {
|
|
"description": "Link to the product issue.",
|
|
"type": "string",
|
|
"x-go-name": "Link"
|
|
},
|
|
"source": {
|
|
"description": "The source of the external issue.",
|
|
"type": "string",
|
|
"x-go-name": "Source"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "ExternalIssues"
|
|
},
|
|
"first_response_seconds": {
|
|
"description": "The time in seconds it took for the first response to the issue, if any.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "FirstResponseSeconds"
|
|
},
|
|
"first_response_time": {
|
|
"description": "The time of the first response to the issue, if any.",
|
|
"type": "string",
|
|
"x-go-name": "FirstResponseTime"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the issue.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"latest_message_time": {
|
|
"description": "The time of the latest message in the issue.",
|
|
"type": "string",
|
|
"x-go-name": "LatestMessageTime"
|
|
},
|
|
"link": {
|
|
"description": "The link to the issue in Pylon.",
|
|
"type": "string",
|
|
"x-go-name": "Link"
|
|
},
|
|
"number": {
|
|
"description": "The number of the issue.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "Number"
|
|
},
|
|
"number_of_touches": {
|
|
"description": "The number of times the issue has been touched.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "NumberOfTouches"
|
|
},
|
|
"requester": {
|
|
"properties": {
|
|
"email": {
|
|
"description": "The email of the contact.",
|
|
"type": "string",
|
|
"x-go-name": "Email"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the contact.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"resolution_seconds": {
|
|
"description": "The time in seconds it took for the issue to be resolved, if any.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "ResolutionSeconds"
|
|
},
|
|
"resolution_time": {
|
|
"description": "The time of the resolution of the issue, if any.",
|
|
"type": "string",
|
|
"x-go-name": "ResolutionTime"
|
|
},
|
|
"slack": {
|
|
"properties": {
|
|
"channel_id": {
|
|
"description": "The Slack channel ID associated with the issue.",
|
|
"type": "string",
|
|
"x-go-name": "SlackChannelID"
|
|
},
|
|
"message_ts": {
|
|
"description": "The root message ID of slack message that started issue.",
|
|
"type": "string",
|
|
"x-go-name": "SlackMessageTs"
|
|
},
|
|
"workspace_id": {
|
|
"description": "The Slack workspace ID associated with the issue.",
|
|
"type": "string",
|
|
"x-go-name": "SlackWorkspaceID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"snoozed_until_time": {
|
|
"description": "The time the issue was snoozed until in RFC3339 format, if any.",
|
|
"type": "string",
|
|
"x-go-name": "SnoozedUntilTime"
|
|
},
|
|
"source": {
|
|
"description": "The source of the issue.\n\n* slack IssueSourceSlack\n\n* microsoft_teams IssueSourceMicrosoftTeams\n\n* microsoft_teams_chat IssueSourceMicrosoftTeamsChat\n\n* chat_widget IssueSourceChatWidget\n\n* email IssueSourceEmail\n\n* manual IssueSourceManual\n\n* form IssueSourceForm\n\n* discord IssueSourceDiscord",
|
|
"enum": [
|
|
"slack",
|
|
"microsoft_teams",
|
|
"microsoft_teams_chat",
|
|
"chat_widget",
|
|
"email",
|
|
"manual",
|
|
"form",
|
|
"discord"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "slack IssueSourceSlack\nmicrosoft_teams IssueSourceMicrosoftTeams\nmicrosoft_teams_chat IssueSourceMicrosoftTeamsChat\nchat_widget IssueSourceChatWidget\nemail IssueSourceEmail\nmanual IssueSourceManual\nform IssueSourceForm\ndiscord IssueSourceDiscord",
|
|
"x-go-name": "Source"
|
|
},
|
|
"state": {
|
|
"description": "The state of the issue. This could be one of `[\"new\", \"waiting_on_you\", \"waiting_on_customer\", \"on_hold\", \"closed\"] or a custom status slug.",
|
|
"type": "string",
|
|
"x-go-name": "State"
|
|
},
|
|
"tags": {
|
|
"description": "Tags associated with the issue.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Tags"
|
|
},
|
|
"team": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the team.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"title": {
|
|
"description": "The title of the issue.",
|
|
"type": "string",
|
|
"x-go-name": "Title"
|
|
},
|
|
"type": {
|
|
"description": "The type of the issue.\n\n* Conversation IssueTypeConversation\n\n* Ticket IssueTypeTicket",
|
|
"enum": [
|
|
"Conversation",
|
|
"Ticket"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "Conversation IssueTypeConversation\nTicket IssueTypeTicket",
|
|
"x-go-name": "Type"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"issues"
|
|
],
|
|
"x-codegen-request-body-name": "Body",
|
|
"x-moar-primitive-count": 11,
|
|
"x-moar-complexity-skipped": false
|
|
}
|
|
},
|
|
"/issues/{id}/ai-response": {
|
|
"post": {
|
|
"description": "Create an AI response for an issue",
|
|
"operationId": "CreateIssueAIResponse",
|
|
"parameters": [
|
|
{
|
|
"description": "The ID or number of the issue to create an AI response for.",
|
|
"in": "path",
|
|
"name": "id",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"x-go-name": "ID"
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"ai_agent_id": {
|
|
"description": "The ID of the AI agent to use to create the AI response.",
|
|
"type": "string",
|
|
"x-go-name": "AIAgentID"
|
|
},
|
|
"post_as_internal_note": {
|
|
"description": "Whether to post the AI response as an internal note on the issue.",
|
|
"type": "boolean",
|
|
"x-go-name": "PostAsInternalNote"
|
|
}
|
|
},
|
|
"required": [
|
|
"ai_agent_id"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"required": false
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
},
|
|
"response_html": {
|
|
"description": "The HTML content of the AI response.",
|
|
"type": "string",
|
|
"x-go-name": "ResponseHTML"
|
|
},
|
|
"response_valid": {
|
|
"description": "Whether the AI was able to answer the question.",
|
|
"type": "boolean",
|
|
"x-go-name": "ResponseValid"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"issues"
|
|
],
|
|
"x-codegen-request-body-name": "Body",
|
|
"x-moar-primitive-count": 2,
|
|
"x-moar-complexity-skipped": false
|
|
}
|
|
},
|
|
"/issues/{id}/external-issues": {
|
|
"post": {
|
|
"description": "By default, links external issues. To unlink issues, set the operation field to \"unlink\".",
|
|
"operationId": "LinkExternalIssue",
|
|
"parameters": [
|
|
{
|
|
"description": "The ID or number of the issue to link external issues to.",
|
|
"in": "path",
|
|
"name": "id",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"x-go-name": "ID"
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"external_issue_id": {
|
|
"description": "The ID of the external issue in the source system.",
|
|
"type": "string",
|
|
"x-go-name": "ExternalIssueID"
|
|
},
|
|
"operation": {
|
|
"description": "Operation to perform. Use \"link\" to link issues (default) or \"unlink\" to unlink issues.",
|
|
"type": "string",
|
|
"x-go-name": "Operation"
|
|
},
|
|
"source": {
|
|
"description": "The source system of the external issue (e.g., \"linear\", \"asana\", \"jira\", \"github\").",
|
|
"type": "string",
|
|
"x-go-name": "Source"
|
|
}
|
|
},
|
|
"required": [
|
|
"external_issue_id",
|
|
"source"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"required": false
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"properties": {
|
|
"account": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the account.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"assignee": {
|
|
"properties": {
|
|
"email": {
|
|
"description": "The email of the user.",
|
|
"type": "string",
|
|
"x-go-name": "Email"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the user.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"attachment_urls": {
|
|
"description": "The attachment URLs attached to this issue, if any.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "AttachmentURLs"
|
|
},
|
|
"body_html": {
|
|
"description": "The body of the issue in HTML format.",
|
|
"type": "string",
|
|
"x-go-name": "BodyHTML"
|
|
},
|
|
"business_hours_first_response_seconds": {
|
|
"description": "The business hours time in seconds it took for the first response to the issue, if any.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "BusinessHoursFirstResponseSeconds"
|
|
},
|
|
"business_hours_resolution_seconds": {
|
|
"description": "The business hours time in seconds it took for the issue to be resolved, if any.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "BusinessHoursResolutionSeconds"
|
|
},
|
|
"chat_widget_info": {
|
|
"properties": {
|
|
"page_url": {
|
|
"description": "The URL of the page that the user was on when they started the chat widget issue.",
|
|
"type": "string",
|
|
"x-go-name": "PageURL"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"created_at": {
|
|
"description": "The time the issue was created.",
|
|
"type": "string",
|
|
"x-go-name": "CreatedAt"
|
|
},
|
|
"csat_responses": {
|
|
"description": "The CSAT responses of the issue, if any.",
|
|
"items": {
|
|
"properties": {
|
|
"comment": {
|
|
"description": "The comment of the CSAT response.",
|
|
"type": "string",
|
|
"x-go-name": "Comment"
|
|
},
|
|
"score": {
|
|
"description": "The score of the CSAT response.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "Score"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "CSATResponses"
|
|
},
|
|
"custom_fields": {
|
|
"additionalProperties": {
|
|
"properties": {
|
|
"slug": {
|
|
"description": "The slug of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
},
|
|
"value": {
|
|
"description": "The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint.",
|
|
"type": "string",
|
|
"x-go-name": "Value"
|
|
},
|
|
"values": {
|
|
"description": "The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Values"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"description": "Custom field values associated with the issue.",
|
|
"type": "object",
|
|
"x-go-name": "CustomFields"
|
|
},
|
|
"customer_portal_visible": {
|
|
"description": "Whether the issue is visible in the customer portal.",
|
|
"type": "boolean",
|
|
"x-go-name": "CustomerPortalVisible"
|
|
},
|
|
"external_issues": {
|
|
"description": "The external issues associated with the issue, if any.",
|
|
"items": {
|
|
"properties": {
|
|
"external_id": {
|
|
"description": "The external ID of the external issue.\n\nJira: ID of the issue (autoincrementing number from 10000).\n\nGitHub: Owner/Repo/IssueID.\n\nLinear: ID of the issue (UUID).\n\nAsana: ID of the task (Long number).",
|
|
"type": "string",
|
|
"x-go-name": "ExternalID"
|
|
},
|
|
"link": {
|
|
"description": "Link to the product issue.",
|
|
"type": "string",
|
|
"x-go-name": "Link"
|
|
},
|
|
"source": {
|
|
"description": "The source of the external issue.",
|
|
"type": "string",
|
|
"x-go-name": "Source"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "ExternalIssues"
|
|
},
|
|
"first_response_seconds": {
|
|
"description": "The time in seconds it took for the first response to the issue, if any.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "FirstResponseSeconds"
|
|
},
|
|
"first_response_time": {
|
|
"description": "The time of the first response to the issue, if any.",
|
|
"type": "string",
|
|
"x-go-name": "FirstResponseTime"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the issue.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"latest_message_time": {
|
|
"description": "The time of the latest message in the issue.",
|
|
"type": "string",
|
|
"x-go-name": "LatestMessageTime"
|
|
},
|
|
"link": {
|
|
"description": "The link to the issue in Pylon.",
|
|
"type": "string",
|
|
"x-go-name": "Link"
|
|
},
|
|
"number": {
|
|
"description": "The number of the issue.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "Number"
|
|
},
|
|
"number_of_touches": {
|
|
"description": "The number of times the issue has been touched.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "NumberOfTouches"
|
|
},
|
|
"requester": {
|
|
"properties": {
|
|
"email": {
|
|
"description": "The email of the contact.",
|
|
"type": "string",
|
|
"x-go-name": "Email"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the contact.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"resolution_seconds": {
|
|
"description": "The time in seconds it took for the issue to be resolved, if any.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "ResolutionSeconds"
|
|
},
|
|
"resolution_time": {
|
|
"description": "The time of the resolution of the issue, if any.",
|
|
"type": "string",
|
|
"x-go-name": "ResolutionTime"
|
|
},
|
|
"slack": {
|
|
"properties": {
|
|
"channel_id": {
|
|
"description": "The Slack channel ID associated with the issue.",
|
|
"type": "string",
|
|
"x-go-name": "SlackChannelID"
|
|
},
|
|
"message_ts": {
|
|
"description": "The root message ID of slack message that started issue.",
|
|
"type": "string",
|
|
"x-go-name": "SlackMessageTs"
|
|
},
|
|
"workspace_id": {
|
|
"description": "The Slack workspace ID associated with the issue.",
|
|
"type": "string",
|
|
"x-go-name": "SlackWorkspaceID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"snoozed_until_time": {
|
|
"description": "The time the issue was snoozed until in RFC3339 format, if any.",
|
|
"type": "string",
|
|
"x-go-name": "SnoozedUntilTime"
|
|
},
|
|
"source": {
|
|
"description": "The source of the issue.\n\n* slack IssueSourceSlack\n\n* microsoft_teams IssueSourceMicrosoftTeams\n\n* microsoft_teams_chat IssueSourceMicrosoftTeamsChat\n\n* chat_widget IssueSourceChatWidget\n\n* email IssueSourceEmail\n\n* manual IssueSourceManual\n\n* form IssueSourceForm\n\n* discord IssueSourceDiscord",
|
|
"enum": [
|
|
"slack",
|
|
"microsoft_teams",
|
|
"microsoft_teams_chat",
|
|
"chat_widget",
|
|
"email",
|
|
"manual",
|
|
"form",
|
|
"discord"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "slack IssueSourceSlack\nmicrosoft_teams IssueSourceMicrosoftTeams\nmicrosoft_teams_chat IssueSourceMicrosoftTeamsChat\nchat_widget IssueSourceChatWidget\nemail IssueSourceEmail\nmanual IssueSourceManual\nform IssueSourceForm\ndiscord IssueSourceDiscord",
|
|
"x-go-name": "Source"
|
|
},
|
|
"state": {
|
|
"description": "The state of the issue. This could be one of `[\"new\", \"waiting_on_you\", \"waiting_on_customer\", \"on_hold\", \"closed\"] or a custom status slug.",
|
|
"type": "string",
|
|
"x-go-name": "State"
|
|
},
|
|
"tags": {
|
|
"description": "Tags associated with the issue.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Tags"
|
|
},
|
|
"team": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the team.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"title": {
|
|
"description": "The title of the issue.",
|
|
"type": "string",
|
|
"x-go-name": "Title"
|
|
},
|
|
"type": {
|
|
"description": "The type of the issue.\n\n* Conversation IssueTypeConversation\n\n* Ticket IssueTypeTicket",
|
|
"enum": [
|
|
"Conversation",
|
|
"Ticket"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "Conversation IssueTypeConversation\nTicket IssueTypeTicket",
|
|
"x-go-name": "Type"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"summary": "Link or unlink external issues to/from an issue.",
|
|
"tags": [
|
|
"issues"
|
|
],
|
|
"x-codegen-request-body-name": "Body",
|
|
"x-moar-primitive-count": 3,
|
|
"x-moar-complexity-skipped": false
|
|
}
|
|
},
|
|
"/issues/{id}/followers": {
|
|
"get": {
|
|
"description": "Get followers of an issue",
|
|
"operationId": "GetIssueFollowers",
|
|
"parameters": [
|
|
{
|
|
"description": "The ID or number of the issue to get followers for.",
|
|
"in": "path",
|
|
"name": "id",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"x-go-name": "ID"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"description": "The data payload of the response.",
|
|
"items": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the follower. Either a user or contact ID.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"type": {
|
|
"description": "The type of follower. Either \"user\" or \"contact\".\n\n* user FollowerTypeUser\n\n* contact FollowerTypeContact",
|
|
"enum": [
|
|
"user",
|
|
"contact"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "user FollowerTypeUser\ncontact FollowerTypeContact",
|
|
"x-go-name": "Type"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Data"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"issues"
|
|
],
|
|
"x-moar-primitive-count": 0,
|
|
"x-moar-complexity-skipped": false
|
|
},
|
|
"post": {
|
|
"description": "By default, adds followers. To remove followers, set the operation field to \"remove\".",
|
|
"operationId": "AddIssueFollowers",
|
|
"parameters": [
|
|
{
|
|
"description": "The ID or number of the issue to add followers to.",
|
|
"in": "path",
|
|
"name": "id",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"x-go-name": "ID"
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"contact_ids": {
|
|
"description": "The IDs of contacts to add as followers.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "ContactIDs"
|
|
},
|
|
"operation": {
|
|
"description": "Operation to perform. Use \"add\" to add followers (default) or \"remove\" to remove followers.",
|
|
"type": "string",
|
|
"x-go-name": "Operation"
|
|
},
|
|
"user_ids": {
|
|
"description": "The IDs of users to add as followers.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "UserIDs"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"required": false
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"description": "The data payload of the response.",
|
|
"items": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the follower. Either a user or contact ID.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"type": {
|
|
"description": "The type of follower. Either \"user\" or \"contact\".\n\n* user FollowerTypeUser\n\n* contact FollowerTypeContact",
|
|
"enum": [
|
|
"user",
|
|
"contact"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "user FollowerTypeUser\ncontact FollowerTypeContact",
|
|
"x-go-name": "Type"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Data"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"summary": "Add or remove followers to/from an issue.",
|
|
"tags": [
|
|
"issues"
|
|
],
|
|
"x-codegen-request-body-name": "Body",
|
|
"x-moar-primitive-count": 3,
|
|
"x-moar-complexity-skipped": false
|
|
}
|
|
},
|
|
"/issues/{id}/messages": {
|
|
"get": {
|
|
"description": "Get messages for an issue",
|
|
"operationId": "GetIssueMessages",
|
|
"parameters": [
|
|
{
|
|
"description": "The ID of the issue to fetch messages for.",
|
|
"in": "path",
|
|
"name": "id",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"x-go-name": "ID"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"description": "The data payload of the response.",
|
|
"items": {
|
|
"properties": {
|
|
"author": {
|
|
"properties": {
|
|
"avatar_url": {
|
|
"type": "string",
|
|
"x-go-name": "AvatarURL"
|
|
},
|
|
"contact": {
|
|
"properties": {
|
|
"email": {
|
|
"description": "The email of the contact.",
|
|
"type": "string",
|
|
"x-go-name": "Email"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the contact.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"user": {
|
|
"properties": {
|
|
"email": {
|
|
"description": "The email of the user.",
|
|
"type": "string",
|
|
"x-go-name": "Email"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the user.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"email_info": {
|
|
"properties": {
|
|
"bcc_emails": {
|
|
"description": "The email addresses of the BCC recipients of the message.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "BccEmails"
|
|
},
|
|
"cc_emails": {
|
|
"description": "The email addresses of the CC recipients of the message.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "CcEmails"
|
|
},
|
|
"from_email": {
|
|
"description": "The email address of the sender of the message.",
|
|
"type": "string",
|
|
"x-go-name": "FromEmail"
|
|
},
|
|
"to_emails": {
|
|
"description": "The email addresses of the recipients of the message.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "ToEmails"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"file_urls": {
|
|
"description": "The URLs of the files in the message, if any.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "FileURLs"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the message.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"is_private": {
|
|
"description": "Indicates if the message is private.",
|
|
"type": "boolean",
|
|
"x-go-name": "IsPrivate"
|
|
},
|
|
"message_html": {
|
|
"description": "The HTML body of the message.",
|
|
"type": "string",
|
|
"x-go-name": "MessageHTML"
|
|
},
|
|
"source": {
|
|
"description": "The source of the message.",
|
|
"type": "string",
|
|
"x-go-name": "Source"
|
|
},
|
|
"thread_id": {
|
|
"description": "The ID of the thread the message belongs to. This is only set for internal notes.",
|
|
"type": "string",
|
|
"x-go-name": "ThreadID"
|
|
},
|
|
"timestamp": {
|
|
"description": "The time at which the message was created.",
|
|
"type": "string",
|
|
"x-go-name": "Timestamp"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Data"
|
|
},
|
|
"pagination": {
|
|
"properties": {
|
|
"cursor": {
|
|
"description": "The cursor for the next page of results.",
|
|
"type": "string",
|
|
"x-go-name": "Cursor"
|
|
},
|
|
"has_next_page": {
|
|
"description": "Indicates if there is a next page of results.",
|
|
"type": "boolean",
|
|
"x-go-name": "HasNextPage"
|
|
}
|
|
},
|
|
"required": [
|
|
"cursor",
|
|
"has_next_page"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"messages"
|
|
],
|
|
"x-moar-primitive-count": 0,
|
|
"x-moar-complexity-skipped": false
|
|
}
|
|
},
|
|
"/issues/{id}/messages/{message_id}/redact": {
|
|
"post": {
|
|
"description": "Redact a message",
|
|
"operationId": "RedactMessage",
|
|
"parameters": [
|
|
{
|
|
"description": "The ID of the issue that the message belongs to.",
|
|
"in": "path",
|
|
"name": "id",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"x-go-name": "ID"
|
|
},
|
|
{
|
|
"description": "The ID of the message to redact.",
|
|
"in": "path",
|
|
"name": "message_id",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "MessageID"
|
|
},
|
|
"x-go-name": "MessageID"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"properties": {
|
|
"author": {
|
|
"properties": {
|
|
"avatar_url": {
|
|
"type": "string",
|
|
"x-go-name": "AvatarURL"
|
|
},
|
|
"contact": {
|
|
"properties": {
|
|
"email": {
|
|
"description": "The email of the contact.",
|
|
"type": "string",
|
|
"x-go-name": "Email"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the contact.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"user": {
|
|
"properties": {
|
|
"email": {
|
|
"description": "The email of the user.",
|
|
"type": "string",
|
|
"x-go-name": "Email"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the user.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"email_info": {
|
|
"properties": {
|
|
"bcc_emails": {
|
|
"description": "The email addresses of the BCC recipients of the message.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "BccEmails"
|
|
},
|
|
"cc_emails": {
|
|
"description": "The email addresses of the CC recipients of the message.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "CcEmails"
|
|
},
|
|
"from_email": {
|
|
"description": "The email address of the sender of the message.",
|
|
"type": "string",
|
|
"x-go-name": "FromEmail"
|
|
},
|
|
"to_emails": {
|
|
"description": "The email addresses of the recipients of the message.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "ToEmails"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"file_urls": {
|
|
"description": "The URLs of the files in the message, if any.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "FileURLs"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the message.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"is_private": {
|
|
"description": "Indicates if the message is private.",
|
|
"type": "boolean",
|
|
"x-go-name": "IsPrivate"
|
|
},
|
|
"message_html": {
|
|
"description": "The HTML body of the message.",
|
|
"type": "string",
|
|
"x-go-name": "MessageHTML"
|
|
},
|
|
"source": {
|
|
"description": "The source of the message.",
|
|
"type": "string",
|
|
"x-go-name": "Source"
|
|
},
|
|
"thread_id": {
|
|
"description": "The ID of the thread the message belongs to. This is only set for internal notes.",
|
|
"type": "string",
|
|
"x-go-name": "ThreadID"
|
|
},
|
|
"timestamp": {
|
|
"description": "The time at which the message was created.",
|
|
"type": "string",
|
|
"x-go-name": "Timestamp"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"messages"
|
|
],
|
|
"x-moar-primitive-count": 0,
|
|
"x-moar-complexity-skipped": false
|
|
}
|
|
},
|
|
"/issues/{id}/note": {
|
|
"post": {
|
|
"description": "Creates a note on an issue",
|
|
"operationId": "CreateIssueNote",
|
|
"parameters": [
|
|
{
|
|
"description": "The ID of the issue.",
|
|
"in": "path",
|
|
"name": "id",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"x-go-name": "ID"
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"attachment_urls": {
|
|
"description": "An array of attachment URLs to attach to this issue.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "AttachmentURLs"
|
|
},
|
|
"body_html": {
|
|
"description": "The body of the message in HTML.",
|
|
"type": "string",
|
|
"x-go-name": "BodyHTML"
|
|
},
|
|
"message_id": {
|
|
"description": "The ID of the message to reply to. This message must be an internal note. You can find this from the GET /issues/{id}/messages endpoint. Either this or thread_id must be provided.",
|
|
"type": "string",
|
|
"x-go-name": "MessageID"
|
|
},
|
|
"thread_id": {
|
|
"description": "The ID of the thread to post the note to. You can find this from the GET /issues/{id}/threads endpoint. Either this or message_id must be provided.",
|
|
"type": "string",
|
|
"x-go-name": "ThreadID"
|
|
},
|
|
"user_id": {
|
|
"description": "Optional user ID to post the message as. If not provided, the API token user will be used.",
|
|
"type": "string",
|
|
"x-go-name": "UserID"
|
|
}
|
|
},
|
|
"required": [
|
|
"body_html"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"required": false
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the message.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"issue_id": {
|
|
"description": "The ID of the issue.",
|
|
"type": "string",
|
|
"x-go-name": "IssueID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"messages"
|
|
],
|
|
"x-codegen-request-body-name": "Body",
|
|
"x-moar-primitive-count": 5,
|
|
"x-moar-complexity-skipped": false
|
|
}
|
|
},
|
|
"/issues/{id}/reply": {
|
|
"post": {
|
|
"description": "Creates a reply to an existing issue",
|
|
"operationId": "CreateIssueReply",
|
|
"parameters": [
|
|
{
|
|
"description": "The ID of the issue.",
|
|
"in": "path",
|
|
"name": "id",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"x-go-name": "ID"
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"attachment_urls": {
|
|
"description": "An array of attachment URLs to attach to this issue.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "AttachmentURLs"
|
|
},
|
|
"body_html": {
|
|
"description": "The body of the message in HTML.",
|
|
"type": "string",
|
|
"x-go-name": "BodyHTML"
|
|
},
|
|
"contact_id": {
|
|
"description": "Optional contact ID to post the message as. Only one of user_id or contact_id can be provided.",
|
|
"type": "string",
|
|
"x-go-name": "ContactID"
|
|
},
|
|
"email_info": {
|
|
"properties": {
|
|
"bcc_emails": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "BccEmails"
|
|
},
|
|
"cc_emails": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "CcEmails"
|
|
},
|
|
"to_emails": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "ToEmails"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"message_id": {
|
|
"description": "The ID of the message to reply to.",
|
|
"type": "string",
|
|
"x-go-name": "MessageID"
|
|
},
|
|
"user_id": {
|
|
"description": "Optional user ID to post the message as. Only one of user_id or contact_id can be provided.",
|
|
"type": "string",
|
|
"x-go-name": "UserID"
|
|
}
|
|
},
|
|
"required": [
|
|
"body_html",
|
|
"message_id"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"required": false
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the message.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"issue_id": {
|
|
"description": "The ID of the issue.",
|
|
"type": "string",
|
|
"x-go-name": "IssueID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"messages"
|
|
],
|
|
"x-codegen-request-body-name": "Body",
|
|
"x-moar-primitive-count": 8,
|
|
"x-moar-complexity-skipped": false
|
|
}
|
|
},
|
|
"/issues/{id}/snooze": {
|
|
"post": {
|
|
"description": "Snooze an issue",
|
|
"operationId": "SnoozeIssue",
|
|
"parameters": [
|
|
{
|
|
"description": "The ID or number of the issue to snooze.",
|
|
"in": "path",
|
|
"name": "id",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"x-go-name": "ID"
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"snooze_until": {
|
|
"description": "The date and time to snooze the issue until. (RFC3339)",
|
|
"type": "string",
|
|
"x-go-name": "SnoozeUntil"
|
|
}
|
|
},
|
|
"required": [
|
|
"snooze_until"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"required": false
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"properties": {
|
|
"account": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the account.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"assignee": {
|
|
"properties": {
|
|
"email": {
|
|
"description": "The email of the user.",
|
|
"type": "string",
|
|
"x-go-name": "Email"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the user.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"attachment_urls": {
|
|
"description": "The attachment URLs attached to this issue, if any.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "AttachmentURLs"
|
|
},
|
|
"body_html": {
|
|
"description": "The body of the issue in HTML format.",
|
|
"type": "string",
|
|
"x-go-name": "BodyHTML"
|
|
},
|
|
"business_hours_first_response_seconds": {
|
|
"description": "The business hours time in seconds it took for the first response to the issue, if any.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "BusinessHoursFirstResponseSeconds"
|
|
},
|
|
"business_hours_resolution_seconds": {
|
|
"description": "The business hours time in seconds it took for the issue to be resolved, if any.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "BusinessHoursResolutionSeconds"
|
|
},
|
|
"chat_widget_info": {
|
|
"properties": {
|
|
"page_url": {
|
|
"description": "The URL of the page that the user was on when they started the chat widget issue.",
|
|
"type": "string",
|
|
"x-go-name": "PageURL"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"created_at": {
|
|
"description": "The time the issue was created.",
|
|
"type": "string",
|
|
"x-go-name": "CreatedAt"
|
|
},
|
|
"csat_responses": {
|
|
"description": "The CSAT responses of the issue, if any.",
|
|
"items": {
|
|
"properties": {
|
|
"comment": {
|
|
"description": "The comment of the CSAT response.",
|
|
"type": "string",
|
|
"x-go-name": "Comment"
|
|
},
|
|
"score": {
|
|
"description": "The score of the CSAT response.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "Score"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "CSATResponses"
|
|
},
|
|
"custom_fields": {
|
|
"additionalProperties": {
|
|
"properties": {
|
|
"slug": {
|
|
"description": "The slug of the custom field.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
},
|
|
"value": {
|
|
"description": "The value of the custom field. Only to be used for single-valued custom fields. If unset, the custom field will be unset. If the custom field is a select field, the value must be the select option slug, which you can find from the GET /custom-fields endpoint.",
|
|
"type": "string",
|
|
"x-go-name": "Value"
|
|
},
|
|
"values": {
|
|
"description": "The values of the custom field. Only to be used for multi-valued custom fields (ex. multiselect). If unset, the custom field will be unset. If the custom field is a multiselect field, the values must be the select option slugs which you can find from the GET /custom-fields endpoint.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Values"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"description": "Custom field values associated with the issue.",
|
|
"type": "object",
|
|
"x-go-name": "CustomFields"
|
|
},
|
|
"customer_portal_visible": {
|
|
"description": "Whether the issue is visible in the customer portal.",
|
|
"type": "boolean",
|
|
"x-go-name": "CustomerPortalVisible"
|
|
},
|
|
"external_issues": {
|
|
"description": "The external issues associated with the issue, if any.",
|
|
"items": {
|
|
"properties": {
|
|
"external_id": {
|
|
"description": "The external ID of the external issue.\n\nJira: ID of the issue (autoincrementing number from 10000).\n\nGitHub: Owner/Repo/IssueID.\n\nLinear: ID of the issue (UUID).\n\nAsana: ID of the task (Long number).",
|
|
"type": "string",
|
|
"x-go-name": "ExternalID"
|
|
},
|
|
"link": {
|
|
"description": "Link to the product issue.",
|
|
"type": "string",
|
|
"x-go-name": "Link"
|
|
},
|
|
"source": {
|
|
"description": "The source of the external issue.",
|
|
"type": "string",
|
|
"x-go-name": "Source"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "ExternalIssues"
|
|
},
|
|
"first_response_seconds": {
|
|
"description": "The time in seconds it took for the first response to the issue, if any.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "FirstResponseSeconds"
|
|
},
|
|
"first_response_time": {
|
|
"description": "The time of the first response to the issue, if any.",
|
|
"type": "string",
|
|
"x-go-name": "FirstResponseTime"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the issue.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"latest_message_time": {
|
|
"description": "The time of the latest message in the issue.",
|
|
"type": "string",
|
|
"x-go-name": "LatestMessageTime"
|
|
},
|
|
"link": {
|
|
"description": "The link to the issue in Pylon.",
|
|
"type": "string",
|
|
"x-go-name": "Link"
|
|
},
|
|
"number": {
|
|
"description": "The number of the issue.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "Number"
|
|
},
|
|
"number_of_touches": {
|
|
"description": "The number of times the issue has been touched.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "NumberOfTouches"
|
|
},
|
|
"requester": {
|
|
"properties": {
|
|
"email": {
|
|
"description": "The email of the contact.",
|
|
"type": "string",
|
|
"x-go-name": "Email"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the contact.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"resolution_seconds": {
|
|
"description": "The time in seconds it took for the issue to be resolved, if any.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "ResolutionSeconds"
|
|
},
|
|
"resolution_time": {
|
|
"description": "The time of the resolution of the issue, if any.",
|
|
"type": "string",
|
|
"x-go-name": "ResolutionTime"
|
|
},
|
|
"slack": {
|
|
"properties": {
|
|
"channel_id": {
|
|
"description": "The Slack channel ID associated with the issue.",
|
|
"type": "string",
|
|
"x-go-name": "SlackChannelID"
|
|
},
|
|
"message_ts": {
|
|
"description": "The root message ID of slack message that started issue.",
|
|
"type": "string",
|
|
"x-go-name": "SlackMessageTs"
|
|
},
|
|
"workspace_id": {
|
|
"description": "The Slack workspace ID associated with the issue.",
|
|
"type": "string",
|
|
"x-go-name": "SlackWorkspaceID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"snoozed_until_time": {
|
|
"description": "The time the issue was snoozed until in RFC3339 format, if any.",
|
|
"type": "string",
|
|
"x-go-name": "SnoozedUntilTime"
|
|
},
|
|
"source": {
|
|
"description": "The source of the issue.\n\n* slack IssueSourceSlack\n\n* microsoft_teams IssueSourceMicrosoftTeams\n\n* microsoft_teams_chat IssueSourceMicrosoftTeamsChat\n\n* chat_widget IssueSourceChatWidget\n\n* email IssueSourceEmail\n\n* manual IssueSourceManual\n\n* form IssueSourceForm\n\n* discord IssueSourceDiscord",
|
|
"enum": [
|
|
"slack",
|
|
"microsoft_teams",
|
|
"microsoft_teams_chat",
|
|
"chat_widget",
|
|
"email",
|
|
"manual",
|
|
"form",
|
|
"discord"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "slack IssueSourceSlack\nmicrosoft_teams IssueSourceMicrosoftTeams\nmicrosoft_teams_chat IssueSourceMicrosoftTeamsChat\nchat_widget IssueSourceChatWidget\nemail IssueSourceEmail\nmanual IssueSourceManual\nform IssueSourceForm\ndiscord IssueSourceDiscord",
|
|
"x-go-name": "Source"
|
|
},
|
|
"state": {
|
|
"description": "The state of the issue. This could be one of `[\"new\", \"waiting_on_you\", \"waiting_on_customer\", \"on_hold\", \"closed\"] or a custom status slug.",
|
|
"type": "string",
|
|
"x-go-name": "State"
|
|
},
|
|
"tags": {
|
|
"description": "Tags associated with the issue.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Tags"
|
|
},
|
|
"team": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the team.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"title": {
|
|
"description": "The title of the issue.",
|
|
"type": "string",
|
|
"x-go-name": "Title"
|
|
},
|
|
"type": {
|
|
"description": "The type of the issue.\n\n* Conversation IssueTypeConversation\n\n* Ticket IssueTypeTicket",
|
|
"enum": [
|
|
"Conversation",
|
|
"Ticket"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "Conversation IssueTypeConversation\nTicket IssueTypeTicket",
|
|
"x-go-name": "Type"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"issues"
|
|
],
|
|
"x-codegen-request-body-name": "Body",
|
|
"x-moar-primitive-count": 1,
|
|
"x-moar-complexity-skipped": false
|
|
}
|
|
},
|
|
"/issues/{id}/threads": {
|
|
"get": {
|
|
"description": "Get threads for an issue",
|
|
"operationId": "GetIssueThreads",
|
|
"parameters": [
|
|
{
|
|
"description": "The ID of the issue to fetch threads for.",
|
|
"in": "path",
|
|
"name": "id",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"x-go-name": "ID"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"description": "The data payload of the response.",
|
|
"items": {
|
|
"description": "If a channel ID is set, this thread is being synced with a chat platform",
|
|
"properties": {
|
|
"channel_id": {
|
|
"description": "The ID of the channel that the thread belongs to, if the thread is being synced with a chat platform.",
|
|
"type": "string",
|
|
"x-go-name": "ChannelID"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the thread.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"issue_id": {
|
|
"description": "The issue ID that the thread belongs to.",
|
|
"type": "string",
|
|
"x-go-name": "IssueID"
|
|
},
|
|
"name": {
|
|
"description": "The name of the thread.",
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"source": {
|
|
"description": "The source of the thread.",
|
|
"type": "string",
|
|
"x-go-name": "Source"
|
|
},
|
|
"thread_id": {
|
|
"description": "The ID of the thread that the thread belongs to, if the thread is being synced with a chat platform. A thread ID for Slack would be the thread timestamp.",
|
|
"type": "string",
|
|
"x-go-name": "ThreadID"
|
|
}
|
|
},
|
|
"title": "IssueThread is a thread of notes on an issue, meaning that they are for internal discussions and are not visible to the customer. Threads can be created manually through the UI or from triggers.",
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Data"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"messages"
|
|
],
|
|
"x-moar-primitive-count": 0,
|
|
"x-moar-complexity-skipped": false
|
|
},
|
|
"post": {
|
|
"description": "Create an issue thread for an issue",
|
|
"operationId": "CreateIssueThread",
|
|
"parameters": [
|
|
{
|
|
"description": "The ID of the issue to create a thread for.",
|
|
"in": "path",
|
|
"name": "id",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"x-go-name": "ID"
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"name": {
|
|
"description": "The name of the thread.",
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"required": false
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"description": "If a channel ID is set, this thread is being synced with a chat platform",
|
|
"properties": {
|
|
"channel_id": {
|
|
"description": "The ID of the channel that the thread belongs to, if the thread is being synced with a chat platform.",
|
|
"type": "string",
|
|
"x-go-name": "ChannelID"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the thread.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"issue_id": {
|
|
"description": "The issue ID that the thread belongs to.",
|
|
"type": "string",
|
|
"x-go-name": "IssueID"
|
|
},
|
|
"name": {
|
|
"description": "The name of the thread.",
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"source": {
|
|
"description": "The source of the thread.",
|
|
"type": "string",
|
|
"x-go-name": "Source"
|
|
},
|
|
"thread_id": {
|
|
"description": "The ID of the thread that the thread belongs to, if the thread is being synced with a chat platform. A thread ID for Slack would be the thread timestamp.",
|
|
"type": "string",
|
|
"x-go-name": "ThreadID"
|
|
}
|
|
},
|
|
"title": "IssueThread is a thread of notes on an issue, meaning that they are for internal discussions and are not visible to the customer. Threads can be created manually through the UI or from triggers.",
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"messages"
|
|
],
|
|
"x-codegen-request-body-name": "Body",
|
|
"x-moar-primitive-count": 1,
|
|
"x-moar-complexity-skipped": false
|
|
}
|
|
},
|
|
"/knowledge-bases": {
|
|
"get": {
|
|
"description": "Get all knowledge bases",
|
|
"operationId": "GetKnowledgeBases",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"description": "The data payload of the response.",
|
|
"items": {
|
|
"properties": {
|
|
"default_language": {
|
|
"description": "The default language of the knowledge base.",
|
|
"type": "string",
|
|
"x-go-name": "DefaultLanguage"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the knowledge base.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"slug": {
|
|
"description": "The slug of the knowledge base.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
},
|
|
"supported_languages": {
|
|
"description": "The list of supported languages for the knowledge base.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "SupportedLanguages"
|
|
},
|
|
"title": {
|
|
"description": "The name of the knowledge base.",
|
|
"type": "string",
|
|
"x-go-name": "Title"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Data"
|
|
},
|
|
"pagination": {
|
|
"properties": {
|
|
"cursor": {
|
|
"description": "The cursor for the next page of results.",
|
|
"type": "string",
|
|
"x-go-name": "Cursor"
|
|
},
|
|
"has_next_page": {
|
|
"description": "Indicates if there is a next page of results.",
|
|
"type": "boolean",
|
|
"x-go-name": "HasNextPage"
|
|
}
|
|
},
|
|
"required": [
|
|
"cursor",
|
|
"has_next_page"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"knowledge-bases"
|
|
],
|
|
"x-moar-primitive-count": 0,
|
|
"x-moar-complexity-skipped": false
|
|
}
|
|
},
|
|
"/knowledge-bases/{id}": {
|
|
"get": {
|
|
"description": "Get a knowledge base by its ID",
|
|
"operationId": "GetKnowledgeBase",
|
|
"parameters": [
|
|
{
|
|
"description": "The ID of the knowledge base.",
|
|
"in": "path",
|
|
"name": "id",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"x-go-name": "ID"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"properties": {
|
|
"default_language": {
|
|
"description": "The default language of the knowledge base.",
|
|
"type": "string",
|
|
"x-go-name": "DefaultLanguage"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the knowledge base.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"slug": {
|
|
"description": "The slug of the knowledge base.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
},
|
|
"supported_languages": {
|
|
"description": "The list of supported languages for the knowledge base.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "SupportedLanguages"
|
|
},
|
|
"title": {
|
|
"description": "The name of the knowledge base.",
|
|
"type": "string",
|
|
"x-go-name": "Title"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"knowledge-bases"
|
|
],
|
|
"x-moar-primitive-count": 0,
|
|
"x-moar-complexity-skipped": false
|
|
}
|
|
},
|
|
"/knowledge-bases/{id}/articles": {
|
|
"post": {
|
|
"description": "This endpoint creates a new article in the specified knowledge base. If translations are provided, they will also be created and associated with the article. If the article is published, the translations will also be published.",
|
|
"operationId": "CreateArticle",
|
|
"parameters": [
|
|
{
|
|
"description": "The ID of the knowledge base the article is being added to.",
|
|
"in": "path",
|
|
"name": "id",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"x-go-name": "ID"
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"author_user_id": {
|
|
"description": "The ID of the user attributed as the author of the article.",
|
|
"type": "string",
|
|
"x-go-name": "AuthorUserId"
|
|
},
|
|
"body_html": {
|
|
"description": "The HTML body of the article.",
|
|
"type": "string",
|
|
"x-go-name": "BodyHTML"
|
|
},
|
|
"collection_id": {
|
|
"description": "The id of the collection associated to the article",
|
|
"type": "string",
|
|
"x-go-name": "CollectionID"
|
|
},
|
|
"is_published": {
|
|
"description": "Whether the article should be published. Defaults to false.",
|
|
"type": "boolean",
|
|
"x-go-name": "IsPublished"
|
|
},
|
|
"is_unlisted": {
|
|
"description": "Whether the article can only be accessible only via direct link. Defaults to false.",
|
|
"type": "boolean",
|
|
"x-go-name": "IsUnlisted"
|
|
},
|
|
"slug": {
|
|
"description": "The slug of the article. Defaults to a slug based on the title.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
},
|
|
"title": {
|
|
"description": "The title of the article.",
|
|
"type": "string",
|
|
"x-go-name": "Title"
|
|
},
|
|
"translations": {
|
|
"description": "Translations of the article content in different languages",
|
|
"items": {
|
|
"properties": {
|
|
"body_html": {
|
|
"description": "The translated HTML body of the article.",
|
|
"type": "string",
|
|
"x-go-name": "BodyHTML"
|
|
},
|
|
"language": {
|
|
"description": "The language code of the translation. Supported language codes can be found in https://docs.usepylon.com/pylon-docs/knowledge-base/translation#supported-language-codes.",
|
|
"type": "string",
|
|
"x-go-name": "Language"
|
|
},
|
|
"title": {
|
|
"description": "The translated title of the article.",
|
|
"type": "string",
|
|
"x-go-name": "Title"
|
|
}
|
|
},
|
|
"required": [
|
|
"body_html",
|
|
"language",
|
|
"title"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Translations"
|
|
},
|
|
"visibility_config": {
|
|
"properties": {
|
|
"ai_agent_access": {
|
|
"description": "AI agent access control for the article. Defaults to inherit from the parent scope when omitted.\n\n* inherit KnowledgeBaseArticleAIAgentAccessInherit Defers the access check to the parent object (Collection or KnowledgeBase).\n\n* none KnowledgeBaseArticleAIAgentAccessNone No AI agents have access to this article.\n\n* specific_agents KnowledgeBaseArticleAIAgentAccessSpecificAgents Only specific AI agents enumerated in the allowlist have access.",
|
|
"enum": [
|
|
"inherit",
|
|
"none",
|
|
"specific_agents"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "inherit KnowledgeBaseArticleAIAgentAccessInherit Defers the access check to the parent object (Collection or KnowledgeBase).\nnone KnowledgeBaseArticleAIAgentAccessNone No AI agents have access to this article.\nspecific_agents KnowledgeBaseArticleAIAgentAccessSpecificAgents Only specific AI agents enumerated in the allowlist have access.",
|
|
"x-go-name": "AiAgentAccess"
|
|
},
|
|
"allowed_agent_ids": {
|
|
"description": "List of AI agent IDs that may access this article when ai_agent_access is set to \"specific_agents\".",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "AllowedAgentIDs"
|
|
},
|
|
"customer_visibility_condition": {
|
|
"properties": {
|
|
"field": {
|
|
"description": "The field for this filter. For allowed fields, see the documentation for\n\nthe specific endpoint you are using.\n\nFor non-compound filters (any operators other than \"and\" or \"or\"),\n\nField must be set, along with either Value or Values, depending on the operator.",
|
|
"type": "string",
|
|
"x-go-name": "Field"
|
|
},
|
|
"operator": {
|
|
"description": "The operator for this filter.\n\n* equals FilterOperatorEquals Matches objects that are exactly equal to the value in the field.\n\n* not_equals FilterOperatorNotEquals Matches objects that are not exactly equal to the value in the field.\n\n* contains FilterOperatorContains For a multi-valued field, such as tags, this operator will match objects that contain any of the values in the field.\n\n* does_not_contain FilterOperatorDoesNotContain For a multi-valued field, such as tags, this operator will match objects that do not contain any of the values in the field.\n\n* in FilterOperatorIn Matches objects if the field is one of several possible values, as specified in the values array.\n\n* not_in FilterOperatorNotIn Matches objects if the field is none of several possible values, as specified in the values array.\n\n* and FilterOperatorAnd Matches objects only if all subfilters match.\n\n* or FilterOperatorOr Matches objects if any subfilter matches.\n\n* time_is_after FilterOperatorTimeIsAfter Matches objects if the field is after the given time.\n\n* time_is_before FilterOperatorTimeIsBefore Matches objects if the field is before the given time.\n\n* time_range FilterOperatorTimeRange Matches objects if the field is between the given times.\n\n* string_contains FilterOperatorStringContains Matches objects if the field contains the given string.\n\n* string_does_not_contain FilterOperatorStringDoesNotContain Matches objects if the field does not contain the given string.\n\n* is_set FilterOperatorIsSet FilterOperatorIsSet matches objects if the field is set.\n\n* is_unset FilterOperatorIsUnset FilterOperatorIsUnset matches objects if the field is unset.",
|
|
"enum": [
|
|
"equals",
|
|
"not_equals",
|
|
"contains",
|
|
"does_not_contain",
|
|
"in",
|
|
"not_in",
|
|
"and",
|
|
"or",
|
|
"time_is_after",
|
|
"time_is_before",
|
|
"time_range",
|
|
"string_contains",
|
|
"string_does_not_contain",
|
|
"is_set",
|
|
"is_unset"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "equals FilterOperatorEquals Matches objects that are exactly equal to the value in the field.\nnot_equals FilterOperatorNotEquals Matches objects that are not exactly equal to the value in the field.\ncontains FilterOperatorContains For a multi-valued field, such as tags, this operator will match objects that contain any of the values in the field.\ndoes_not_contain FilterOperatorDoesNotContain For a multi-valued field, such as tags, this operator will match objects that do not contain any of the values in the field.\nin FilterOperatorIn Matches objects if the field is one of several possible values, as specified in the values array.\nnot_in FilterOperatorNotIn Matches objects if the field is none of several possible values, as specified in the values array.\nand FilterOperatorAnd Matches objects only if all subfilters match.\nor FilterOperatorOr Matches objects if any subfilter matches.\ntime_is_after FilterOperatorTimeIsAfter Matches objects if the field is after the given time.\ntime_is_before FilterOperatorTimeIsBefore Matches objects if the field is before the given time.\ntime_range FilterOperatorTimeRange Matches objects if the field is between the given times.\nstring_contains FilterOperatorStringContains Matches objects if the field contains the given string.\nstring_does_not_contain FilterOperatorStringDoesNotContain Matches objects if the field does not contain the given string.\nis_set FilterOperatorIsSet FilterOperatorIsSet matches objects if the field is set.\nis_unset FilterOperatorIsUnset FilterOperatorIsUnset matches objects if the field is unset.",
|
|
"x-go-name": "Operator"
|
|
},
|
|
"subfilters": {
|
|
"description": "Sub-filters for this filter. Valid only when operator is \"and\" or \"or\".\n\nThe maximum allowed depth for a tree of filters is 3.",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Filter",
|
|
"has_circular_reference": true
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Subfilters"
|
|
},
|
|
"value": {
|
|
"description": "The value for this filter. Only used for single-valued operators\n\n(\"equals\", \"not_equals\", \"contains\", \"does_not_contain\")",
|
|
"type": "string",
|
|
"x-go-name": "Value"
|
|
},
|
|
"values": {
|
|
"description": "The values for this filter. Only used for multi-valued operators (\"in\", \"not_in\").",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Values"
|
|
}
|
|
},
|
|
"required": [
|
|
"field",
|
|
"operator"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"visibility": {
|
|
"description": "The visibility setting of the article.\n\n* public KnowledgeBaseArticleVisibilityPublic\n\n* customer KnowledgeBaseArticleVisibilityCustomer\n\n* internal_only KnowledgeBaseArticleVisibilityInternalOnly",
|
|
"enum": [
|
|
"public",
|
|
"customer",
|
|
"internal_only"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "public KnowledgeBaseArticleVisibilityPublic\ncustomer KnowledgeBaseArticleVisibilityCustomer\ninternal_only KnowledgeBaseArticleVisibilityInternalOnly",
|
|
"x-go-name": "Visibility"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
},
|
|
"required": [
|
|
"author_user_id",
|
|
"body_html",
|
|
"title"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"required": false
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"properties": {
|
|
"current_published_content_html": {
|
|
"description": "The current published content of the article in HTML.",
|
|
"type": "string",
|
|
"x-go-name": "CurrentPublishedContentHTML"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the article.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"identifier": {
|
|
"description": "The identifier of the article",
|
|
"type": "string",
|
|
"x-go-name": "Identifier"
|
|
},
|
|
"is_published": {
|
|
"description": "IsPublished indicates if the article is published.",
|
|
"type": "boolean",
|
|
"x-go-name": "IsPublished"
|
|
},
|
|
"last_published_at": {
|
|
"description": "The last published at time of the article.",
|
|
"type": "string",
|
|
"x-go-name": "LastPublishedAt"
|
|
},
|
|
"slug": {
|
|
"description": "The slug of the article.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
},
|
|
"title": {
|
|
"description": "The name of the article.",
|
|
"type": "string",
|
|
"x-go-name": "Title"
|
|
},
|
|
"url": {
|
|
"description": "The URL of the article.",
|
|
"type": "string",
|
|
"x-go-name": "URL"
|
|
},
|
|
"visibility_config": {
|
|
"properties": {
|
|
"ai_agent_access": {
|
|
"description": "AI agent access control for the article. Defaults to inherit from the parent scope when omitted.\n\n* inherit KnowledgeBaseArticleAIAgentAccessInherit Defers the access check to the parent object (Collection or KnowledgeBase).\n\n* none KnowledgeBaseArticleAIAgentAccessNone No AI agents have access to this article.\n\n* specific_agents KnowledgeBaseArticleAIAgentAccessSpecificAgents Only specific AI agents enumerated in the allowlist have access.",
|
|
"enum": [
|
|
"inherit",
|
|
"none",
|
|
"specific_agents"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "inherit KnowledgeBaseArticleAIAgentAccessInherit Defers the access check to the parent object (Collection or KnowledgeBase).\nnone KnowledgeBaseArticleAIAgentAccessNone No AI agents have access to this article.\nspecific_agents KnowledgeBaseArticleAIAgentAccessSpecificAgents Only specific AI agents enumerated in the allowlist have access.",
|
|
"x-go-name": "AiAgentAccess"
|
|
},
|
|
"allowed_agent_ids": {
|
|
"description": "List of AI agent IDs that may access this article when ai_agent_access is set to \"specific_agents\".",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "AllowedAgentIDs"
|
|
},
|
|
"customer_visibility_condition": {
|
|
"properties": {
|
|
"field": {
|
|
"description": "The field for this filter. For allowed fields, see the documentation for\n\nthe specific endpoint you are using.\n\nFor non-compound filters (any operators other than \"and\" or \"or\"),\n\nField must be set, along with either Value or Values, depending on the operator.",
|
|
"type": "string",
|
|
"x-go-name": "Field"
|
|
},
|
|
"operator": {
|
|
"description": "The operator for this filter.\n\n* equals FilterOperatorEquals Matches objects that are exactly equal to the value in the field.\n\n* not_equals FilterOperatorNotEquals Matches objects that are not exactly equal to the value in the field.\n\n* contains FilterOperatorContains For a multi-valued field, such as tags, this operator will match objects that contain any of the values in the field.\n\n* does_not_contain FilterOperatorDoesNotContain For a multi-valued field, such as tags, this operator will match objects that do not contain any of the values in the field.\n\n* in FilterOperatorIn Matches objects if the field is one of several possible values, as specified in the values array.\n\n* not_in FilterOperatorNotIn Matches objects if the field is none of several possible values, as specified in the values array.\n\n* and FilterOperatorAnd Matches objects only if all subfilters match.\n\n* or FilterOperatorOr Matches objects if any subfilter matches.\n\n* time_is_after FilterOperatorTimeIsAfter Matches objects if the field is after the given time.\n\n* time_is_before FilterOperatorTimeIsBefore Matches objects if the field is before the given time.\n\n* time_range FilterOperatorTimeRange Matches objects if the field is between the given times.\n\n* string_contains FilterOperatorStringContains Matches objects if the field contains the given string.\n\n* string_does_not_contain FilterOperatorStringDoesNotContain Matches objects if the field does not contain the given string.\n\n* is_set FilterOperatorIsSet FilterOperatorIsSet matches objects if the field is set.\n\n* is_unset FilterOperatorIsUnset FilterOperatorIsUnset matches objects if the field is unset.",
|
|
"enum": [
|
|
"equals",
|
|
"not_equals",
|
|
"contains",
|
|
"does_not_contain",
|
|
"in",
|
|
"not_in",
|
|
"and",
|
|
"or",
|
|
"time_is_after",
|
|
"time_is_before",
|
|
"time_range",
|
|
"string_contains",
|
|
"string_does_not_contain",
|
|
"is_set",
|
|
"is_unset"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "equals FilterOperatorEquals Matches objects that are exactly equal to the value in the field.\nnot_equals FilterOperatorNotEquals Matches objects that are not exactly equal to the value in the field.\ncontains FilterOperatorContains For a multi-valued field, such as tags, this operator will match objects that contain any of the values in the field.\ndoes_not_contain FilterOperatorDoesNotContain For a multi-valued field, such as tags, this operator will match objects that do not contain any of the values in the field.\nin FilterOperatorIn Matches objects if the field is one of several possible values, as specified in the values array.\nnot_in FilterOperatorNotIn Matches objects if the field is none of several possible values, as specified in the values array.\nand FilterOperatorAnd Matches objects only if all subfilters match.\nor FilterOperatorOr Matches objects if any subfilter matches.\ntime_is_after FilterOperatorTimeIsAfter Matches objects if the field is after the given time.\ntime_is_before FilterOperatorTimeIsBefore Matches objects if the field is before the given time.\ntime_range FilterOperatorTimeRange Matches objects if the field is between the given times.\nstring_contains FilterOperatorStringContains Matches objects if the field contains the given string.\nstring_does_not_contain FilterOperatorStringDoesNotContain Matches objects if the field does not contain the given string.\nis_set FilterOperatorIsSet FilterOperatorIsSet matches objects if the field is set.\nis_unset FilterOperatorIsUnset FilterOperatorIsUnset matches objects if the field is unset.",
|
|
"x-go-name": "Operator"
|
|
},
|
|
"subfilters": {
|
|
"description": "Sub-filters for this filter. Valid only when operator is \"and\" or \"or\".\n\nThe maximum allowed depth for a tree of filters is 3.",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Filter",
|
|
"has_circular_reference": true
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Subfilters"
|
|
},
|
|
"value": {
|
|
"description": "The value for this filter. Only used for single-valued operators\n\n(\"equals\", \"not_equals\", \"contains\", \"does_not_contain\")",
|
|
"type": "string",
|
|
"x-go-name": "Value"
|
|
},
|
|
"values": {
|
|
"description": "The values for this filter. Only used for multi-valued operators (\"in\", \"not_in\").",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Values"
|
|
}
|
|
},
|
|
"required": [
|
|
"field",
|
|
"operator"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"visibility": {
|
|
"description": "The visibility setting of the article.\n\n* public KnowledgeBaseArticleVisibilityPublic\n\n* customer KnowledgeBaseArticleVisibilityCustomer\n\n* internal_only KnowledgeBaseArticleVisibilityInternalOnly",
|
|
"enum": [
|
|
"public",
|
|
"customer",
|
|
"internal_only"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "public KnowledgeBaseArticleVisibilityPublic\ncustomer KnowledgeBaseArticleVisibilityCustomer\ninternal_only KnowledgeBaseArticleVisibilityInternalOnly",
|
|
"x-go-name": "Visibility"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"summary": "Create a new article",
|
|
"tags": [
|
|
"articles"
|
|
],
|
|
"x-codegen-request-body-name": "Body",
|
|
"x-moar-primitive-count": 18,
|
|
"x-moar-complexity-skipped": false
|
|
}
|
|
},
|
|
"/knowledge-bases/{id}/articles/{article_id}": {
|
|
"delete": {
|
|
"description": "Delete an existing article",
|
|
"operationId": "DeleteArticle",
|
|
"parameters": [
|
|
{
|
|
"description": "The KnowledgeBaseID of the article to delete.",
|
|
"in": "path",
|
|
"name": "id",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "KnowledgeBaseID"
|
|
},
|
|
"x-go-name": "KnowledgeBaseID"
|
|
},
|
|
{
|
|
"description": "The ID of the article to delete.",
|
|
"in": "path",
|
|
"name": "article_id",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "ArticleID"
|
|
},
|
|
"x-go-name": "ArticleID"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"articles"
|
|
],
|
|
"x-moar-primitive-count": 0,
|
|
"x-moar-complexity-skipped": false
|
|
},
|
|
"patch": {
|
|
"description": "Update an existing article",
|
|
"operationId": "UpdateArticle",
|
|
"parameters": [
|
|
{
|
|
"description": "The KnowledgeBaseID of the article to update.",
|
|
"in": "path",
|
|
"name": "id",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "KnowledgeBaseID"
|
|
},
|
|
"x-go-name": "KnowledgeBaseID"
|
|
},
|
|
{
|
|
"description": "The ID of the article to update.",
|
|
"in": "path",
|
|
"name": "article_id",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "ArticleID"
|
|
},
|
|
"x-go-name": "ArticleID"
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"body_html": {
|
|
"description": "The HTML body of the article.",
|
|
"type": "string",
|
|
"x-go-name": "BodyHTML"
|
|
},
|
|
"language": {
|
|
"description": "The language code of the translation to update. If not provided, the default language (original article) will be updated.",
|
|
"type": "string",
|
|
"x-go-name": "Language"
|
|
},
|
|
"publish_updated_body_html": {
|
|
"description": "Whether the changes to the article should be published. Defaults to false.",
|
|
"type": "boolean",
|
|
"x-go-name": "PublishUpdatedBodyHTML"
|
|
},
|
|
"title": {
|
|
"description": "The title of the article.",
|
|
"type": "string",
|
|
"x-go-name": "Title"
|
|
},
|
|
"visibility_config": {
|
|
"properties": {
|
|
"ai_agent_access": {
|
|
"description": "AI agent access control for the article. Defaults to inherit from the parent scope when omitted.\n\n* inherit KnowledgeBaseArticleAIAgentAccessInherit Defers the access check to the parent object (Collection or KnowledgeBase).\n\n* none KnowledgeBaseArticleAIAgentAccessNone No AI agents have access to this article.\n\n* specific_agents KnowledgeBaseArticleAIAgentAccessSpecificAgents Only specific AI agents enumerated in the allowlist have access.",
|
|
"enum": [
|
|
"inherit",
|
|
"none",
|
|
"specific_agents"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "inherit KnowledgeBaseArticleAIAgentAccessInherit Defers the access check to the parent object (Collection or KnowledgeBase).\nnone KnowledgeBaseArticleAIAgentAccessNone No AI agents have access to this article.\nspecific_agents KnowledgeBaseArticleAIAgentAccessSpecificAgents Only specific AI agents enumerated in the allowlist have access.",
|
|
"x-go-name": "AiAgentAccess"
|
|
},
|
|
"allowed_agent_ids": {
|
|
"description": "List of AI agent IDs that may access this article when ai_agent_access is set to \"specific_agents\".",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "AllowedAgentIDs"
|
|
},
|
|
"customer_visibility_condition": {
|
|
"properties": {
|
|
"field": {
|
|
"description": "The field for this filter. For allowed fields, see the documentation for\n\nthe specific endpoint you are using.\n\nFor non-compound filters (any operators other than \"and\" or \"or\"),\n\nField must be set, along with either Value or Values, depending on the operator.",
|
|
"type": "string",
|
|
"x-go-name": "Field"
|
|
},
|
|
"operator": {
|
|
"description": "The operator for this filter.\n\n* equals FilterOperatorEquals Matches objects that are exactly equal to the value in the field.\n\n* not_equals FilterOperatorNotEquals Matches objects that are not exactly equal to the value in the field.\n\n* contains FilterOperatorContains For a multi-valued field, such as tags, this operator will match objects that contain any of the values in the field.\n\n* does_not_contain FilterOperatorDoesNotContain For a multi-valued field, such as tags, this operator will match objects that do not contain any of the values in the field.\n\n* in FilterOperatorIn Matches objects if the field is one of several possible values, as specified in the values array.\n\n* not_in FilterOperatorNotIn Matches objects if the field is none of several possible values, as specified in the values array.\n\n* and FilterOperatorAnd Matches objects only if all subfilters match.\n\n* or FilterOperatorOr Matches objects if any subfilter matches.\n\n* time_is_after FilterOperatorTimeIsAfter Matches objects if the field is after the given time.\n\n* time_is_before FilterOperatorTimeIsBefore Matches objects if the field is before the given time.\n\n* time_range FilterOperatorTimeRange Matches objects if the field is between the given times.\n\n* string_contains FilterOperatorStringContains Matches objects if the field contains the given string.\n\n* string_does_not_contain FilterOperatorStringDoesNotContain Matches objects if the field does not contain the given string.\n\n* is_set FilterOperatorIsSet FilterOperatorIsSet matches objects if the field is set.\n\n* is_unset FilterOperatorIsUnset FilterOperatorIsUnset matches objects if the field is unset.",
|
|
"enum": [
|
|
"equals",
|
|
"not_equals",
|
|
"contains",
|
|
"does_not_contain",
|
|
"in",
|
|
"not_in",
|
|
"and",
|
|
"or",
|
|
"time_is_after",
|
|
"time_is_before",
|
|
"time_range",
|
|
"string_contains",
|
|
"string_does_not_contain",
|
|
"is_set",
|
|
"is_unset"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "equals FilterOperatorEquals Matches objects that are exactly equal to the value in the field.\nnot_equals FilterOperatorNotEquals Matches objects that are not exactly equal to the value in the field.\ncontains FilterOperatorContains For a multi-valued field, such as tags, this operator will match objects that contain any of the values in the field.\ndoes_not_contain FilterOperatorDoesNotContain For a multi-valued field, such as tags, this operator will match objects that do not contain any of the values in the field.\nin FilterOperatorIn Matches objects if the field is one of several possible values, as specified in the values array.\nnot_in FilterOperatorNotIn Matches objects if the field is none of several possible values, as specified in the values array.\nand FilterOperatorAnd Matches objects only if all subfilters match.\nor FilterOperatorOr Matches objects if any subfilter matches.\ntime_is_after FilterOperatorTimeIsAfter Matches objects if the field is after the given time.\ntime_is_before FilterOperatorTimeIsBefore Matches objects if the field is before the given time.\ntime_range FilterOperatorTimeRange Matches objects if the field is between the given times.\nstring_contains FilterOperatorStringContains Matches objects if the field contains the given string.\nstring_does_not_contain FilterOperatorStringDoesNotContain Matches objects if the field does not contain the given string.\nis_set FilterOperatorIsSet FilterOperatorIsSet matches objects if the field is set.\nis_unset FilterOperatorIsUnset FilterOperatorIsUnset matches objects if the field is unset.",
|
|
"x-go-name": "Operator"
|
|
},
|
|
"subfilters": {
|
|
"description": "Sub-filters for this filter. Valid only when operator is \"and\" or \"or\".\n\nThe maximum allowed depth for a tree of filters is 3.",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Filter",
|
|
"has_circular_reference": true
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Subfilters"
|
|
},
|
|
"value": {
|
|
"description": "The value for this filter. Only used for single-valued operators\n\n(\"equals\", \"not_equals\", \"contains\", \"does_not_contain\")",
|
|
"type": "string",
|
|
"x-go-name": "Value"
|
|
},
|
|
"values": {
|
|
"description": "The values for this filter. Only used for multi-valued operators (\"in\", \"not_in\").",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Values"
|
|
}
|
|
},
|
|
"required": [
|
|
"field",
|
|
"operator"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"visibility": {
|
|
"description": "The visibility setting of the article.\n\n* public KnowledgeBaseArticleVisibilityPublic\n\n* customer KnowledgeBaseArticleVisibilityCustomer\n\n* internal_only KnowledgeBaseArticleVisibilityInternalOnly",
|
|
"enum": [
|
|
"public",
|
|
"customer",
|
|
"internal_only"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "public KnowledgeBaseArticleVisibilityPublic\ncustomer KnowledgeBaseArticleVisibilityCustomer\ninternal_only KnowledgeBaseArticleVisibilityInternalOnly",
|
|
"x-go-name": "Visibility"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"required": false
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"properties": {
|
|
"current_published_content_html": {
|
|
"description": "The current published content of the article in HTML.",
|
|
"type": "string",
|
|
"x-go-name": "CurrentPublishedContentHTML"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the article.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"identifier": {
|
|
"description": "The identifier of the article",
|
|
"type": "string",
|
|
"x-go-name": "Identifier"
|
|
},
|
|
"is_published": {
|
|
"description": "IsPublished indicates if the article is published.",
|
|
"type": "boolean",
|
|
"x-go-name": "IsPublished"
|
|
},
|
|
"last_published_at": {
|
|
"description": "The last published at time of the article.",
|
|
"type": "string",
|
|
"x-go-name": "LastPublishedAt"
|
|
},
|
|
"slug": {
|
|
"description": "The slug of the article.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
},
|
|
"title": {
|
|
"description": "The name of the article.",
|
|
"type": "string",
|
|
"x-go-name": "Title"
|
|
},
|
|
"url": {
|
|
"description": "The URL of the article.",
|
|
"type": "string",
|
|
"x-go-name": "URL"
|
|
},
|
|
"visibility_config": {
|
|
"properties": {
|
|
"ai_agent_access": {
|
|
"description": "AI agent access control for the article. Defaults to inherit from the parent scope when omitted.\n\n* inherit KnowledgeBaseArticleAIAgentAccessInherit Defers the access check to the parent object (Collection or KnowledgeBase).\n\n* none KnowledgeBaseArticleAIAgentAccessNone No AI agents have access to this article.\n\n* specific_agents KnowledgeBaseArticleAIAgentAccessSpecificAgents Only specific AI agents enumerated in the allowlist have access.",
|
|
"enum": [
|
|
"inherit",
|
|
"none",
|
|
"specific_agents"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "inherit KnowledgeBaseArticleAIAgentAccessInherit Defers the access check to the parent object (Collection or KnowledgeBase).\nnone KnowledgeBaseArticleAIAgentAccessNone No AI agents have access to this article.\nspecific_agents KnowledgeBaseArticleAIAgentAccessSpecificAgents Only specific AI agents enumerated in the allowlist have access.",
|
|
"x-go-name": "AiAgentAccess"
|
|
},
|
|
"allowed_agent_ids": {
|
|
"description": "List of AI agent IDs that may access this article when ai_agent_access is set to \"specific_agents\".",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "AllowedAgentIDs"
|
|
},
|
|
"customer_visibility_condition": {
|
|
"properties": {
|
|
"field": {
|
|
"description": "The field for this filter. For allowed fields, see the documentation for\n\nthe specific endpoint you are using.\n\nFor non-compound filters (any operators other than \"and\" or \"or\"),\n\nField must be set, along with either Value or Values, depending on the operator.",
|
|
"type": "string",
|
|
"x-go-name": "Field"
|
|
},
|
|
"operator": {
|
|
"description": "The operator for this filter.\n\n* equals FilterOperatorEquals Matches objects that are exactly equal to the value in the field.\n\n* not_equals FilterOperatorNotEquals Matches objects that are not exactly equal to the value in the field.\n\n* contains FilterOperatorContains For a multi-valued field, such as tags, this operator will match objects that contain any of the values in the field.\n\n* does_not_contain FilterOperatorDoesNotContain For a multi-valued field, such as tags, this operator will match objects that do not contain any of the values in the field.\n\n* in FilterOperatorIn Matches objects if the field is one of several possible values, as specified in the values array.\n\n* not_in FilterOperatorNotIn Matches objects if the field is none of several possible values, as specified in the values array.\n\n* and FilterOperatorAnd Matches objects only if all subfilters match.\n\n* or FilterOperatorOr Matches objects if any subfilter matches.\n\n* time_is_after FilterOperatorTimeIsAfter Matches objects if the field is after the given time.\n\n* time_is_before FilterOperatorTimeIsBefore Matches objects if the field is before the given time.\n\n* time_range FilterOperatorTimeRange Matches objects if the field is between the given times.\n\n* string_contains FilterOperatorStringContains Matches objects if the field contains the given string.\n\n* string_does_not_contain FilterOperatorStringDoesNotContain Matches objects if the field does not contain the given string.\n\n* is_set FilterOperatorIsSet FilterOperatorIsSet matches objects if the field is set.\n\n* is_unset FilterOperatorIsUnset FilterOperatorIsUnset matches objects if the field is unset.",
|
|
"enum": [
|
|
"equals",
|
|
"not_equals",
|
|
"contains",
|
|
"does_not_contain",
|
|
"in",
|
|
"not_in",
|
|
"and",
|
|
"or",
|
|
"time_is_after",
|
|
"time_is_before",
|
|
"time_range",
|
|
"string_contains",
|
|
"string_does_not_contain",
|
|
"is_set",
|
|
"is_unset"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "equals FilterOperatorEquals Matches objects that are exactly equal to the value in the field.\nnot_equals FilterOperatorNotEquals Matches objects that are not exactly equal to the value in the field.\ncontains FilterOperatorContains For a multi-valued field, such as tags, this operator will match objects that contain any of the values in the field.\ndoes_not_contain FilterOperatorDoesNotContain For a multi-valued field, such as tags, this operator will match objects that do not contain any of the values in the field.\nin FilterOperatorIn Matches objects if the field is one of several possible values, as specified in the values array.\nnot_in FilterOperatorNotIn Matches objects if the field is none of several possible values, as specified in the values array.\nand FilterOperatorAnd Matches objects only if all subfilters match.\nor FilterOperatorOr Matches objects if any subfilter matches.\ntime_is_after FilterOperatorTimeIsAfter Matches objects if the field is after the given time.\ntime_is_before FilterOperatorTimeIsBefore Matches objects if the field is before the given time.\ntime_range FilterOperatorTimeRange Matches objects if the field is between the given times.\nstring_contains FilterOperatorStringContains Matches objects if the field contains the given string.\nstring_does_not_contain FilterOperatorStringDoesNotContain Matches objects if the field does not contain the given string.\nis_set FilterOperatorIsSet FilterOperatorIsSet matches objects if the field is set.\nis_unset FilterOperatorIsUnset FilterOperatorIsUnset matches objects if the field is unset.",
|
|
"x-go-name": "Operator"
|
|
},
|
|
"subfilters": {
|
|
"description": "Sub-filters for this filter. Valid only when operator is \"and\" or \"or\".\n\nThe maximum allowed depth for a tree of filters is 3.",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Filter",
|
|
"has_circular_reference": true
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Subfilters"
|
|
},
|
|
"value": {
|
|
"description": "The value for this filter. Only used for single-valued operators\n\n(\"equals\", \"not_equals\", \"contains\", \"does_not_contain\")",
|
|
"type": "string",
|
|
"x-go-name": "Value"
|
|
},
|
|
"values": {
|
|
"description": "The values for this filter. Only used for multi-valued operators (\"in\", \"not_in\").",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Values"
|
|
}
|
|
},
|
|
"required": [
|
|
"field",
|
|
"operator"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"visibility": {
|
|
"description": "The visibility setting of the article.\n\n* public KnowledgeBaseArticleVisibilityPublic\n\n* customer KnowledgeBaseArticleVisibilityCustomer\n\n* internal_only KnowledgeBaseArticleVisibilityInternalOnly",
|
|
"enum": [
|
|
"public",
|
|
"customer",
|
|
"internal_only"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "public KnowledgeBaseArticleVisibilityPublic\ncustomer KnowledgeBaseArticleVisibilityCustomer\ninternal_only KnowledgeBaseArticleVisibilityInternalOnly",
|
|
"x-go-name": "Visibility"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"articles"
|
|
],
|
|
"x-codegen-request-body-name": "Body",
|
|
"x-moar-primitive-count": 12,
|
|
"x-moar-complexity-skipped": false
|
|
}
|
|
},
|
|
"/knowledge-bases/{id}/collections": {
|
|
"get": {
|
|
"description": "List all collections in a knowledge base",
|
|
"operationId": "GetCollections",
|
|
"parameters": [
|
|
{
|
|
"description": "The ID of the knowledge base",
|
|
"in": "path",
|
|
"name": "id",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"x-go-name": "ID"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"description": "The data payload of the response.",
|
|
"items": {
|
|
"properties": {
|
|
"created_at": {
|
|
"description": "The created at time of the collection.",
|
|
"type": "string",
|
|
"x-go-name": "CreatedAt"
|
|
},
|
|
"description": {
|
|
"description": "The description of the collection.",
|
|
"type": "string",
|
|
"x-go-name": "Description"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the collection.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"parent_collection_id": {
|
|
"description": "The ID of the parent collection.",
|
|
"type": "string",
|
|
"x-go-name": "ParentCollectionID"
|
|
},
|
|
"slug": {
|
|
"description": "The slug of the collection.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
},
|
|
"title": {
|
|
"description": "The name of the collection.",
|
|
"type": "string",
|
|
"x-go-name": "Title"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Data"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"collections"
|
|
],
|
|
"x-moar-primitive-count": 0,
|
|
"x-moar-complexity-skipped": false
|
|
},
|
|
"post": {
|
|
"description": "Create a new collection",
|
|
"operationId": "CreateCollection",
|
|
"parameters": [
|
|
{
|
|
"description": "The ID of the knowledge base the article is being added to.",
|
|
"in": "path",
|
|
"name": "id",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"x-go-name": "ID"
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"description": {
|
|
"description": "Description of the collection.",
|
|
"type": "string",
|
|
"x-go-name": "Description"
|
|
},
|
|
"parent_collection_id": {
|
|
"description": "The id of the collection associated to the article",
|
|
"type": "string",
|
|
"x-go-name": "ParentCollectionID"
|
|
},
|
|
"slug": {
|
|
"description": "The slug of the collection. Defaults to a slug based on the title.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
},
|
|
"title": {
|
|
"description": "The title of the collection.",
|
|
"type": "string",
|
|
"x-go-name": "Title"
|
|
}
|
|
},
|
|
"required": [
|
|
"title"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"required": false
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"properties": {
|
|
"created_at": {
|
|
"description": "The created at time of the collection.",
|
|
"type": "string",
|
|
"x-go-name": "CreatedAt"
|
|
},
|
|
"description": {
|
|
"description": "The description of the collection.",
|
|
"type": "string",
|
|
"x-go-name": "Description"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the collection.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"parent_collection_id": {
|
|
"description": "The ID of the parent collection.",
|
|
"type": "string",
|
|
"x-go-name": "ParentCollectionID"
|
|
},
|
|
"slug": {
|
|
"description": "The slug of the collection.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
},
|
|
"title": {
|
|
"description": "The name of the collection.",
|
|
"type": "string",
|
|
"x-go-name": "Title"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"collections"
|
|
],
|
|
"x-codegen-request-body-name": "Body",
|
|
"x-moar-primitive-count": 4,
|
|
"x-moar-complexity-skipped": false
|
|
}
|
|
},
|
|
"/knowledge-bases/{id}/collections/{collection_id}": {
|
|
"get": {
|
|
"description": "Get a specific collection by ID",
|
|
"operationId": "GetCollection",
|
|
"parameters": [
|
|
{
|
|
"description": "The ID of the knowledge base",
|
|
"in": "path",
|
|
"name": "id",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"x-go-name": "ID"
|
|
},
|
|
{
|
|
"description": "The ID of the collection",
|
|
"in": "path",
|
|
"name": "collection_id",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "CollectionID"
|
|
},
|
|
"x-go-name": "CollectionID"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"properties": {
|
|
"created_at": {
|
|
"description": "The created at time of the collection.",
|
|
"type": "string",
|
|
"x-go-name": "CreatedAt"
|
|
},
|
|
"description": {
|
|
"description": "The description of the collection.",
|
|
"type": "string",
|
|
"x-go-name": "Description"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the collection.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"parent_collection_id": {
|
|
"description": "The ID of the parent collection.",
|
|
"type": "string",
|
|
"x-go-name": "ParentCollectionID"
|
|
},
|
|
"slug": {
|
|
"description": "The slug of the collection.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
},
|
|
"title": {
|
|
"description": "The name of the collection.",
|
|
"type": "string",
|
|
"x-go-name": "Title"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"collections"
|
|
],
|
|
"x-moar-primitive-count": 0,
|
|
"x-moar-complexity-skipped": false
|
|
}
|
|
},
|
|
"/knowledge-bases/{id}/route-redirects": {
|
|
"post": {
|
|
"description": "Create a new route redirect",
|
|
"operationId": "CreateRouteRedirect",
|
|
"parameters": [
|
|
{
|
|
"description": "The ID of the knowledge base the route redirect is being added to.",
|
|
"in": "path",
|
|
"name": "id",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"x-go-name": "ID"
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"from_path": {
|
|
"description": "The path to redirect from.",
|
|
"type": "string",
|
|
"x-go-name": "FromPath"
|
|
},
|
|
"language": {
|
|
"description": "Language of the object to redirect to. If not specified, the default language of the knowledge base will be used.",
|
|
"type": "string",
|
|
"x-go-name": "Language"
|
|
},
|
|
"object_id": {
|
|
"description": "The ID of the object to redirect to.",
|
|
"type": "string",
|
|
"x-go-name": "ObjectID"
|
|
},
|
|
"object_type": {
|
|
"description": "The type of the object to redirect to. This must be \"article\".",
|
|
"type": "string",
|
|
"x-go-name": "ObjectType"
|
|
}
|
|
},
|
|
"required": [
|
|
"from_path",
|
|
"object_id",
|
|
"object_type"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"required": false
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"properties": {
|
|
"created_at": {
|
|
"description": "The time at which the route redirect was created.",
|
|
"type": "string",
|
|
"x-go-name": "CreatedAt"
|
|
},
|
|
"from_path": {
|
|
"description": "The path to redirect from.",
|
|
"type": "string",
|
|
"x-go-name": "FromPath"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the route redirect.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"language": {
|
|
"description": "The language of the object to redirect to.",
|
|
"type": "string",
|
|
"x-go-name": "Language"
|
|
},
|
|
"object_id": {
|
|
"description": "The ID of the object to redirect to.",
|
|
"type": "string",
|
|
"x-go-name": "ObjectID"
|
|
},
|
|
"object_type": {
|
|
"description": "The type of the object to redirect to.",
|
|
"type": "string",
|
|
"x-go-name": "ObjectType"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"route-redirects"
|
|
],
|
|
"x-codegen-request-body-name": "Body",
|
|
"x-moar-primitive-count": 4,
|
|
"x-moar-complexity-skipped": false
|
|
}
|
|
},
|
|
"/me": {
|
|
"get": {
|
|
"description": "Get details of the organization associated with the API token",
|
|
"operationId": "GetMe",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the organization.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"name": {
|
|
"description": "The name of the organization.",
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"me"
|
|
],
|
|
"x-moar-primitive-count": 0,
|
|
"x-moar-complexity-skipped": false
|
|
}
|
|
},
|
|
"/milestones": {
|
|
"post": {
|
|
"description": "Create a milestone",
|
|
"operationId": "CreateMilestone",
|
|
"parameters": [
|
|
{
|
|
"description": "Name for this milestone",
|
|
"in": "query",
|
|
"name": "name",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"x-go-name": "Name"
|
|
},
|
|
{
|
|
"description": "Due date for this milestone, in RFC 3339 format",
|
|
"in": "query",
|
|
"name": "due_date",
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "DueDate"
|
|
},
|
|
"x-go-name": "DueDate"
|
|
},
|
|
{
|
|
"description": "Project ID for this milestone",
|
|
"in": "query",
|
|
"name": "project_id",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "ProjectID"
|
|
},
|
|
"x-go-name": "ProjectID"
|
|
},
|
|
{
|
|
"description": "Account ID for this project",
|
|
"in": "query",
|
|
"name": "account_id",
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "AccountID"
|
|
},
|
|
"x-go-name": "AccountID"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"properties": {
|
|
"account": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the account.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"created_at": {
|
|
"type": "string",
|
|
"x-go-name": "CreatedAt"
|
|
},
|
|
"due_date": {
|
|
"type": "string",
|
|
"x-go-name": "DueDate"
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"project": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the project.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"updated_at": {
|
|
"type": "string",
|
|
"x-go-name": "UpdatedAt"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"milestones"
|
|
],
|
|
"x-moar-primitive-count": 0,
|
|
"x-moar-complexity-skipped": false
|
|
}
|
|
},
|
|
"/milestones/{id}": {
|
|
"delete": {
|
|
"description": "Delete a milestone",
|
|
"operationId": "DeleteMilestone",
|
|
"parameters": [
|
|
{
|
|
"description": "The ID of the milestone to delete.",
|
|
"in": "path",
|
|
"name": "id",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"x-go-name": "ID"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"milestones"
|
|
],
|
|
"x-moar-primitive-count": 0,
|
|
"x-moar-complexity-skipped": false
|
|
},
|
|
"patch": {
|
|
"description": "Update a milestone",
|
|
"operationId": "UpdateMilestone",
|
|
"parameters": [
|
|
{
|
|
"description": "The ID of the milestone to update.",
|
|
"in": "path",
|
|
"name": "id",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"x-go-name": "ID"
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"due_date": {
|
|
"description": "Due date for this milestone, in RFC 3339 format",
|
|
"type": "string",
|
|
"x-go-name": "DueDate"
|
|
},
|
|
"name": {
|
|
"description": "Name for this milestone",
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"required": false
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"properties": {
|
|
"account": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the account.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"created_at": {
|
|
"type": "string",
|
|
"x-go-name": "CreatedAt"
|
|
},
|
|
"due_date": {
|
|
"type": "string",
|
|
"x-go-name": "DueDate"
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"project": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the project.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"updated_at": {
|
|
"type": "string",
|
|
"x-go-name": "UpdatedAt"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"milestones"
|
|
],
|
|
"x-codegen-request-body-name": "Body",
|
|
"x-moar-primitive-count": 2,
|
|
"x-moar-complexity-skipped": false
|
|
}
|
|
},
|
|
"/projects": {
|
|
"post": {
|
|
"description": "Create a project",
|
|
"operationId": "CreateProject",
|
|
"parameters": [
|
|
{
|
|
"description": "Name for this project",
|
|
"in": "query",
|
|
"name": "name",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"x-go-name": "Name"
|
|
},
|
|
{
|
|
"description": "Description HTML for this project",
|
|
"in": "query",
|
|
"name": "description_html",
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "DescriptionHTML"
|
|
},
|
|
"x-go-name": "DescriptionHTML"
|
|
},
|
|
{
|
|
"description": "Customer portal visible for this project",
|
|
"in": "query",
|
|
"name": "customer_portal_visible",
|
|
"schema": {
|
|
"default": false,
|
|
"type": "boolean",
|
|
"x-go-name": "CustomerPortalVisible"
|
|
},
|
|
"x-go-name": "CustomerPortalVisible"
|
|
},
|
|
{
|
|
"description": "Start date for this project, in RFC 3339 format",
|
|
"in": "query",
|
|
"name": "start_date",
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "StartDate"
|
|
},
|
|
"x-go-name": "StartDate"
|
|
},
|
|
{
|
|
"description": "End date for this project, in RFC 3339 format",
|
|
"in": "query",
|
|
"name": "end_date",
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "EndDate"
|
|
},
|
|
"x-go-name": "EndDate"
|
|
},
|
|
{
|
|
"description": "Account ID for this project",
|
|
"in": "query",
|
|
"name": "account_id",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "AccountID"
|
|
},
|
|
"x-go-name": "AccountID"
|
|
},
|
|
{
|
|
"description": "Owner ID for this project",
|
|
"in": "query",
|
|
"name": "owner_id",
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "OwnerID"
|
|
},
|
|
"x-go-name": "OwnerID"
|
|
},
|
|
{
|
|
"description": "Project template ID for this project",
|
|
"in": "query",
|
|
"name": "project_template_id",
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "ProjectTemplateID"
|
|
},
|
|
"x-go-name": "ProjectTemplateID"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"properties": {
|
|
"account": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the account.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"archived_at": {
|
|
"description": "The archived at time of the project in RFC3339 format.",
|
|
"type": "string",
|
|
"x-go-name": "ArchivedAt"
|
|
},
|
|
"created_at": {
|
|
"description": "The created at time of the project.",
|
|
"type": "string",
|
|
"x-go-name": "CreatedAt"
|
|
},
|
|
"customer_portal_visible": {
|
|
"description": "The customer portal visible of the project.",
|
|
"type": "boolean",
|
|
"x-go-name": "CustomerPortalVisible"
|
|
},
|
|
"description_html": {
|
|
"description": "The description of the project in HTML format.",
|
|
"type": "string",
|
|
"x-go-name": "DescriptionHTML"
|
|
},
|
|
"end_date": {
|
|
"description": "The end date of the project in RFC3339 format.",
|
|
"type": "string",
|
|
"x-go-name": "EndDate"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the project.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"is_archived": {
|
|
"description": "Whether the project is archived.",
|
|
"type": "boolean",
|
|
"x-go-name": "IsArchived"
|
|
},
|
|
"name": {
|
|
"description": "The name of the project.",
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"owner_id": {
|
|
"description": "The owner ID of the project.",
|
|
"type": "string",
|
|
"x-go-name": "OwnerID"
|
|
},
|
|
"project_template": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the project template.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"start_date": {
|
|
"description": "The start date of the project in RFC3339 format.",
|
|
"type": "string",
|
|
"x-go-name": "StartDate"
|
|
},
|
|
"updated_at": {
|
|
"description": "The updated at time of the project.",
|
|
"type": "string",
|
|
"x-go-name": "UpdatedAt"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"projects"
|
|
],
|
|
"x-moar-primitive-count": 0,
|
|
"x-moar-complexity-skipped": false
|
|
}
|
|
},
|
|
"/projects/{id}": {
|
|
"delete": {
|
|
"description": "Delete an existing project",
|
|
"operationId": "DeleteProject",
|
|
"parameters": [
|
|
{
|
|
"description": "The ID of the project to delete.",
|
|
"in": "path",
|
|
"name": "id",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"x-go-name": "ID"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"projects"
|
|
],
|
|
"x-moar-primitive-count": 0,
|
|
"x-moar-complexity-skipped": false
|
|
},
|
|
"patch": {
|
|
"description": "Update a project",
|
|
"operationId": "UpdateProject",
|
|
"parameters": [
|
|
{
|
|
"description": "The ID of the project to update.",
|
|
"in": "path",
|
|
"name": "id",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"x-go-name": "ID"
|
|
},
|
|
{
|
|
"description": "Name for this project",
|
|
"in": "query",
|
|
"name": "name",
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"x-go-name": "Name"
|
|
},
|
|
{
|
|
"description": "Description HTML for this project",
|
|
"in": "query",
|
|
"name": "description_html",
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "DescriptionHTML"
|
|
},
|
|
"x-go-name": "DescriptionHTML"
|
|
},
|
|
{
|
|
"description": "Customer portal visible for this project",
|
|
"in": "query",
|
|
"name": "customer_portal_visible",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"x-go-name": "CustomerPortalVisible"
|
|
},
|
|
"x-go-name": "CustomerPortalVisible"
|
|
},
|
|
{
|
|
"description": "Start date for this project, in RFC 3339 format",
|
|
"in": "query",
|
|
"name": "start_date",
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "StartDate"
|
|
},
|
|
"x-go-name": "StartDate"
|
|
},
|
|
{
|
|
"description": "End date for this project, in RFC 3339 format",
|
|
"in": "query",
|
|
"name": "end_date",
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "EndDate"
|
|
},
|
|
"x-go-name": "EndDate"
|
|
},
|
|
{
|
|
"description": "Owner ID for this project",
|
|
"in": "query",
|
|
"name": "owner_id",
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "OwnerID"
|
|
},
|
|
"x-go-name": "OwnerID"
|
|
},
|
|
{
|
|
"description": "Whether the project is archived",
|
|
"in": "query",
|
|
"name": "is_archived",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"x-go-name": "IsArchived"
|
|
},
|
|
"x-go-name": "IsArchived"
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"customer_portal_visible": {
|
|
"description": "Customer portal visible for this project",
|
|
"type": "boolean",
|
|
"x-go-name": "CustomerPortalVisible"
|
|
},
|
|
"description_html": {
|
|
"description": "Description HTML for this project",
|
|
"type": "string",
|
|
"x-go-name": "DescriptionHTML"
|
|
},
|
|
"end_date": {
|
|
"description": "End date for this project, in RFC 3339 format",
|
|
"type": "string",
|
|
"x-go-name": "EndDate"
|
|
},
|
|
"is_archived": {
|
|
"description": "Whether the project is archived",
|
|
"type": "boolean",
|
|
"x-go-name": "IsArchived"
|
|
},
|
|
"name": {
|
|
"description": "Name for this project",
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"owner_id": {
|
|
"description": "Owner ID for this project",
|
|
"type": "string",
|
|
"x-go-name": "OwnerID"
|
|
},
|
|
"start_date": {
|
|
"description": "Start date for this project, in RFC 3339 format",
|
|
"type": "string",
|
|
"x-go-name": "StartDate"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"required": false
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"properties": {
|
|
"account": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the account.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"archived_at": {
|
|
"description": "The archived at time of the project in RFC3339 format.",
|
|
"type": "string",
|
|
"x-go-name": "ArchivedAt"
|
|
},
|
|
"created_at": {
|
|
"description": "The created at time of the project.",
|
|
"type": "string",
|
|
"x-go-name": "CreatedAt"
|
|
},
|
|
"customer_portal_visible": {
|
|
"description": "The customer portal visible of the project.",
|
|
"type": "boolean",
|
|
"x-go-name": "CustomerPortalVisible"
|
|
},
|
|
"description_html": {
|
|
"description": "The description of the project in HTML format.",
|
|
"type": "string",
|
|
"x-go-name": "DescriptionHTML"
|
|
},
|
|
"end_date": {
|
|
"description": "The end date of the project in RFC3339 format.",
|
|
"type": "string",
|
|
"x-go-name": "EndDate"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the project.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"is_archived": {
|
|
"description": "Whether the project is archived.",
|
|
"type": "boolean",
|
|
"x-go-name": "IsArchived"
|
|
},
|
|
"name": {
|
|
"description": "The name of the project.",
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"owner_id": {
|
|
"description": "The owner ID of the project.",
|
|
"type": "string",
|
|
"x-go-name": "OwnerID"
|
|
},
|
|
"project_template": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the project template.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"start_date": {
|
|
"description": "The start date of the project in RFC3339 format.",
|
|
"type": "string",
|
|
"x-go-name": "StartDate"
|
|
},
|
|
"updated_at": {
|
|
"description": "The updated at time of the project.",
|
|
"type": "string",
|
|
"x-go-name": "UpdatedAt"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"projects"
|
|
],
|
|
"x-codegen-request-body-name": "Body",
|
|
"x-moar-primitive-count": 7,
|
|
"x-moar-complexity-skipped": false
|
|
}
|
|
},
|
|
"/tags": {
|
|
"get": {
|
|
"description": "Get all tags",
|
|
"operationId": "GetTags",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"description": "The data payload of the response.",
|
|
"items": {
|
|
"properties": {
|
|
"hex_color": {
|
|
"description": "The hex code of the tag's color.",
|
|
"type": "string",
|
|
"x-go-name": "HexColor"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the tag.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"object_type": {
|
|
"description": "The object type of the tagged object.",
|
|
"type": "string",
|
|
"x-go-name": "ObjectType"
|
|
},
|
|
"value": {
|
|
"description": "The value of the Tag.",
|
|
"type": "string",
|
|
"x-go-name": "Value"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Data"
|
|
},
|
|
"pagination": {
|
|
"properties": {
|
|
"cursor": {
|
|
"description": "The cursor for the next page of results.",
|
|
"type": "string",
|
|
"x-go-name": "Cursor"
|
|
},
|
|
"has_next_page": {
|
|
"description": "Indicates if there is a next page of results.",
|
|
"type": "boolean",
|
|
"x-go-name": "HasNextPage"
|
|
}
|
|
},
|
|
"required": [
|
|
"cursor",
|
|
"has_next_page"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"tags"
|
|
],
|
|
"x-moar-primitive-count": 0,
|
|
"x-moar-complexity-skipped": false
|
|
},
|
|
"post": {
|
|
"description": "Create a new tag",
|
|
"operationId": "CreateTag",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"hex_color": {
|
|
"description": "The hex code of the tag's color.",
|
|
"type": "string",
|
|
"x-go-name": "HexColor"
|
|
},
|
|
"object_type": {
|
|
"description": "The object type of the associated object. Can be \"account\", \"issue\", or \"contact\".",
|
|
"type": "string",
|
|
"x-go-name": "ObjectType"
|
|
},
|
|
"value": {
|
|
"description": "The tag value.",
|
|
"type": "string",
|
|
"x-go-name": "Value"
|
|
}
|
|
},
|
|
"required": [
|
|
"object_type",
|
|
"value"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"required": false
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"properties": {
|
|
"hex_color": {
|
|
"description": "The hex code of the tag's color.",
|
|
"type": "string",
|
|
"x-go-name": "HexColor"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the tag.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"object_type": {
|
|
"description": "The object type of the tagged object.",
|
|
"type": "string",
|
|
"x-go-name": "ObjectType"
|
|
},
|
|
"value": {
|
|
"description": "The value of the Tag.",
|
|
"type": "string",
|
|
"x-go-name": "Value"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"tags"
|
|
],
|
|
"x-codegen-request-body-name": "Body",
|
|
"x-moar-primitive-count": 3,
|
|
"x-moar-complexity-skipped": false
|
|
}
|
|
},
|
|
"/tags/{id}": {
|
|
"delete": {
|
|
"description": "Delete an existing tag",
|
|
"operationId": "DeleteTag",
|
|
"parameters": [
|
|
{
|
|
"description": "The ID of the tag to update.",
|
|
"in": "path",
|
|
"name": "id",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"x-go-name": "ID"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"tags"
|
|
],
|
|
"x-moar-primitive-count": 0,
|
|
"x-moar-complexity-skipped": false
|
|
},
|
|
"get": {
|
|
"description": "Get a tag by its ID",
|
|
"operationId": "GetTag",
|
|
"parameters": [
|
|
{
|
|
"description": "The ID of the tag.",
|
|
"in": "path",
|
|
"name": "id",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"x-go-name": "ID"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"properties": {
|
|
"hex_color": {
|
|
"description": "The hex code of the tag's color.",
|
|
"type": "string",
|
|
"x-go-name": "HexColor"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the tag.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"object_type": {
|
|
"description": "The object type of the tagged object.",
|
|
"type": "string",
|
|
"x-go-name": "ObjectType"
|
|
},
|
|
"value": {
|
|
"description": "The value of the Tag.",
|
|
"type": "string",
|
|
"x-go-name": "Value"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"tags"
|
|
],
|
|
"x-moar-primitive-count": 0,
|
|
"x-moar-complexity-skipped": false
|
|
},
|
|
"patch": {
|
|
"description": "Update an existing tag",
|
|
"operationId": "UpdateTag",
|
|
"parameters": [
|
|
{
|
|
"description": "The ID of the tag to update.",
|
|
"in": "path",
|
|
"name": "id",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"x-go-name": "ID"
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"hex_color": {
|
|
"description": "The hex code of the tag's color.",
|
|
"type": "string",
|
|
"x-go-name": "HexColor"
|
|
},
|
|
"value": {
|
|
"description": "in: body\n\nThe name of the tag.",
|
|
"type": "string",
|
|
"x-go-name": "Value"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"required": false
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"properties": {
|
|
"hex_color": {
|
|
"description": "The hex code of the tag's color.",
|
|
"type": "string",
|
|
"x-go-name": "HexColor"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the tag.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"object_type": {
|
|
"description": "The object type of the tagged object.",
|
|
"type": "string",
|
|
"x-go-name": "ObjectType"
|
|
},
|
|
"value": {
|
|
"description": "The value of the Tag.",
|
|
"type": "string",
|
|
"x-go-name": "Value"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"tags"
|
|
],
|
|
"x-codegen-request-body-name": "Body",
|
|
"x-moar-primitive-count": 2,
|
|
"x-moar-complexity-skipped": false
|
|
}
|
|
},
|
|
"/tasks": {
|
|
"post": {
|
|
"description": "Create a task",
|
|
"operationId": "CreateTask",
|
|
"parameters": [
|
|
{
|
|
"description": "Title for this task",
|
|
"in": "query",
|
|
"name": "title",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "Title"
|
|
},
|
|
"x-go-name": "Title"
|
|
},
|
|
{
|
|
"description": "Body HTML for this task",
|
|
"in": "query",
|
|
"name": "body_html",
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "BodyHTML"
|
|
},
|
|
"x-go-name": "BodyHTML"
|
|
},
|
|
{
|
|
"description": "Milestone ID for this task",
|
|
"in": "query",
|
|
"name": "milestone_id",
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "MilestoneID"
|
|
},
|
|
"x-go-name": "MilestoneID"
|
|
},
|
|
{
|
|
"description": "Status for this task\n\nnot_started TaskStatusNotStarted\n\nin_progress TaskStatusInProgress\n\ncompleted TaskStatusCompleted",
|
|
"in": "query",
|
|
"name": "status",
|
|
"schema": {
|
|
"enum": [
|
|
"not_started",
|
|
"in_progress",
|
|
"completed"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "not_started TaskStatusNotStarted\nin_progress TaskStatusInProgress\ncompleted TaskStatusCompleted",
|
|
"x-go-name": "Status"
|
|
},
|
|
"x-go-enum-desc": "not_started TaskStatusNotStarted\nin_progress TaskStatusInProgress\ncompleted TaskStatusCompleted",
|
|
"x-go-name": "Status"
|
|
},
|
|
{
|
|
"description": "Customer portal visible for this task",
|
|
"in": "query",
|
|
"name": "customer_portal_visible",
|
|
"schema": {
|
|
"default": false,
|
|
"type": "boolean",
|
|
"x-go-name": "CustomerPortalVisible"
|
|
},
|
|
"x-go-name": "CustomerPortalVisible"
|
|
},
|
|
{
|
|
"description": "Due date for this task, in RFC 3339 format",
|
|
"in": "query",
|
|
"name": "due_date",
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "DueDate"
|
|
},
|
|
"x-go-name": "DueDate"
|
|
},
|
|
{
|
|
"description": "Assignee ID for this task",
|
|
"in": "query",
|
|
"name": "assignee_id",
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "AssigneeID"
|
|
},
|
|
"x-go-name": "AssigneeID"
|
|
},
|
|
{
|
|
"description": "Account ID for this task",
|
|
"in": "query",
|
|
"name": "account_id",
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "AccountID"
|
|
},
|
|
"x-go-name": "AccountID"
|
|
},
|
|
{
|
|
"description": "Project ID for this task",
|
|
"in": "query",
|
|
"name": "project_id",
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "ProjectID"
|
|
},
|
|
"x-go-name": "ProjectID"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"properties": {
|
|
"account": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the account.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"assignee": {
|
|
"properties": {
|
|
"contact": {
|
|
"properties": {
|
|
"email": {
|
|
"description": "The email of the contact.",
|
|
"type": "string",
|
|
"x-go-name": "Email"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the contact.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"user": {
|
|
"properties": {
|
|
"email": {
|
|
"description": "The email of the user.",
|
|
"type": "string",
|
|
"x-go-name": "Email"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the user.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"body_html": {
|
|
"description": "The body of the task in HTML format.",
|
|
"type": "string",
|
|
"x-go-name": "BodyHTML"
|
|
},
|
|
"created_at": {
|
|
"description": "The created at time of the task.",
|
|
"type": "string",
|
|
"x-go-name": "CreatedAt"
|
|
},
|
|
"customer_portal_visible": {
|
|
"description": "The customer portal visible of the task.",
|
|
"type": "boolean",
|
|
"x-go-name": "CustomerPortalVisible"
|
|
},
|
|
"due_date": {
|
|
"description": "The due date of the task in RFC3339 format.",
|
|
"type": "string",
|
|
"x-go-name": "DueDate"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the task.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"milestone": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the milestone.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"project": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the project.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"status": {
|
|
"description": "The status of the task.\n\n* not_started TaskStatusNotStarted\n\n* in_progress TaskStatusInProgress\n\n* completed TaskStatusCompleted",
|
|
"enum": [
|
|
"not_started",
|
|
"in_progress",
|
|
"completed"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "not_started TaskStatusNotStarted\nin_progress TaskStatusInProgress\ncompleted TaskStatusCompleted",
|
|
"x-go-name": "Status"
|
|
},
|
|
"title": {
|
|
"description": "The title of the task.",
|
|
"type": "string",
|
|
"x-go-name": "Title"
|
|
},
|
|
"updated_at": {
|
|
"description": "The updated at time of the task.",
|
|
"type": "string",
|
|
"x-go-name": "UpdatedAt"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"tasks"
|
|
],
|
|
"x-moar-primitive-count": 0,
|
|
"x-moar-complexity-skipped": false
|
|
}
|
|
},
|
|
"/tasks/{id}": {
|
|
"delete": {
|
|
"description": "Delete an existing task",
|
|
"operationId": "DeleteTask",
|
|
"parameters": [
|
|
{
|
|
"description": "The ID of the task to delete.",
|
|
"in": "path",
|
|
"name": "id",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"x-go-name": "ID"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"tasks"
|
|
],
|
|
"x-moar-primitive-count": 0,
|
|
"x-moar-complexity-skipped": false
|
|
},
|
|
"patch": {
|
|
"description": "Update a task",
|
|
"operationId": "UpdateTask",
|
|
"parameters": [
|
|
{
|
|
"description": "The ID of the task to update.",
|
|
"in": "path",
|
|
"name": "id",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"x-go-name": "ID"
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"assignee_id": {
|
|
"description": "Assignee ID for this task",
|
|
"type": "string",
|
|
"x-go-name": "AssigneeID"
|
|
},
|
|
"body_html": {
|
|
"description": "Body HTML for this task",
|
|
"type": "string",
|
|
"x-go-name": "BodyHTML"
|
|
},
|
|
"customer_portal_visible": {
|
|
"description": "Customer portal visible for this task",
|
|
"type": "boolean",
|
|
"x-go-name": "CustomerPortalVisible"
|
|
},
|
|
"due_date": {
|
|
"description": "Due date for this task, in RFC 3339 format",
|
|
"type": "string",
|
|
"x-go-name": "DueDate"
|
|
},
|
|
"milestone_id": {
|
|
"description": "Milestone ID for this task",
|
|
"type": "string",
|
|
"x-go-name": "MilestoneID"
|
|
},
|
|
"project_id": {
|
|
"description": "Project ID for this task",
|
|
"type": "string",
|
|
"x-go-name": "ProjectID"
|
|
},
|
|
"status": {
|
|
"description": "Status for this task\n\n* not_started TaskStatusNotStarted\n\n* in_progress TaskStatusInProgress\n\n* completed TaskStatusCompleted",
|
|
"enum": [
|
|
"not_started",
|
|
"in_progress",
|
|
"completed"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "not_started TaskStatusNotStarted\nin_progress TaskStatusInProgress\ncompleted TaskStatusCompleted",
|
|
"x-go-name": "Status"
|
|
},
|
|
"title": {
|
|
"description": "Title for this task",
|
|
"type": "string",
|
|
"x-go-name": "Title"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"required": false
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"properties": {
|
|
"account": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the account.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"assignee": {
|
|
"properties": {
|
|
"contact": {
|
|
"properties": {
|
|
"email": {
|
|
"description": "The email of the contact.",
|
|
"type": "string",
|
|
"x-go-name": "Email"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the contact.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"user": {
|
|
"properties": {
|
|
"email": {
|
|
"description": "The email of the user.",
|
|
"type": "string",
|
|
"x-go-name": "Email"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the user.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"body_html": {
|
|
"description": "The body of the task in HTML format.",
|
|
"type": "string",
|
|
"x-go-name": "BodyHTML"
|
|
},
|
|
"created_at": {
|
|
"description": "The created at time of the task.",
|
|
"type": "string",
|
|
"x-go-name": "CreatedAt"
|
|
},
|
|
"customer_portal_visible": {
|
|
"description": "The customer portal visible of the task.",
|
|
"type": "boolean",
|
|
"x-go-name": "CustomerPortalVisible"
|
|
},
|
|
"due_date": {
|
|
"description": "The due date of the task in RFC3339 format.",
|
|
"type": "string",
|
|
"x-go-name": "DueDate"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the task.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"milestone": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the milestone.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"project": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the project.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"status": {
|
|
"description": "The status of the task.\n\n* not_started TaskStatusNotStarted\n\n* in_progress TaskStatusInProgress\n\n* completed TaskStatusCompleted",
|
|
"enum": [
|
|
"not_started",
|
|
"in_progress",
|
|
"completed"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "not_started TaskStatusNotStarted\nin_progress TaskStatusInProgress\ncompleted TaskStatusCompleted",
|
|
"x-go-name": "Status"
|
|
},
|
|
"title": {
|
|
"description": "The title of the task.",
|
|
"type": "string",
|
|
"x-go-name": "Title"
|
|
},
|
|
"updated_at": {
|
|
"description": "The updated at time of the task.",
|
|
"type": "string",
|
|
"x-go-name": "UpdatedAt"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"tasks"
|
|
],
|
|
"x-codegen-request-body-name": "Body",
|
|
"x-moar-primitive-count": 8,
|
|
"x-moar-complexity-skipped": false
|
|
}
|
|
},
|
|
"/teams": {
|
|
"get": {
|
|
"description": "Get a list of teams",
|
|
"operationId": "GetTeams",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"description": "The data payload of the response.",
|
|
"items": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the team.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"name": {
|
|
"description": "The name of the team.",
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"users": {
|
|
"description": "The users in the team.",
|
|
"items": {
|
|
"properties": {
|
|
"email": {
|
|
"description": "The email of the user.",
|
|
"type": "string",
|
|
"x-go-name": "Email"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the user.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Users"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Data"
|
|
},
|
|
"pagination": {
|
|
"properties": {
|
|
"cursor": {
|
|
"description": "The cursor for the next page of results.",
|
|
"type": "string",
|
|
"x-go-name": "Cursor"
|
|
},
|
|
"has_next_page": {
|
|
"description": "Indicates if there is a next page of results.",
|
|
"type": "boolean",
|
|
"x-go-name": "HasNextPage"
|
|
}
|
|
},
|
|
"required": [
|
|
"cursor",
|
|
"has_next_page"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"teams"
|
|
],
|
|
"x-moar-primitive-count": 0,
|
|
"x-moar-complexity-skipped": false
|
|
},
|
|
"post": {
|
|
"description": "Create a new team",
|
|
"operationId": "CreateTeam",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"name": {
|
|
"description": "The name of the team.",
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"user_ids": {
|
|
"description": "The list of user IDs to add to the team.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "UserIDs"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"required": false
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the team.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"name": {
|
|
"description": "The name of the team.",
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"users": {
|
|
"description": "The users in the team.",
|
|
"items": {
|
|
"properties": {
|
|
"email": {
|
|
"description": "The email of the user.",
|
|
"type": "string",
|
|
"x-go-name": "Email"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the user.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Users"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"teams"
|
|
],
|
|
"x-codegen-request-body-name": "Body",
|
|
"x-moar-primitive-count": 2,
|
|
"x-moar-complexity-skipped": false
|
|
}
|
|
},
|
|
"/teams/{id}": {
|
|
"get": {
|
|
"description": "Get a team by its ID",
|
|
"operationId": "GetTeam",
|
|
"parameters": [
|
|
{
|
|
"description": "The ID of the team to fetch.",
|
|
"in": "path",
|
|
"name": "id",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"x-go-name": "ID"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the team.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"name": {
|
|
"description": "The name of the team.",
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"users": {
|
|
"description": "The users in the team.",
|
|
"items": {
|
|
"properties": {
|
|
"email": {
|
|
"description": "The email of the user.",
|
|
"type": "string",
|
|
"x-go-name": "Email"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the user.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Users"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"teams"
|
|
],
|
|
"x-moar-primitive-count": 0,
|
|
"x-moar-complexity-skipped": false
|
|
},
|
|
"patch": {
|
|
"description": "Update an existing team",
|
|
"operationId": "UpdateTeam",
|
|
"parameters": [
|
|
{
|
|
"description": "The ID of the team to update.",
|
|
"in": "path",
|
|
"name": "id",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"x-go-name": "ID"
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"name": {
|
|
"description": "The name of the team.",
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"user_ids": {
|
|
"description": "The list of user IDs to add to the team. If provided, the team members will be updated to be exactly the given users.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "UserIDs"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"required": false
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the team.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"name": {
|
|
"description": "The name of the team.",
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"users": {
|
|
"description": "The users in the team.",
|
|
"items": {
|
|
"properties": {
|
|
"email": {
|
|
"description": "The email of the user.",
|
|
"type": "string",
|
|
"x-go-name": "Email"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the user.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Users"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"teams"
|
|
],
|
|
"x-codegen-request-body-name": "Body",
|
|
"x-moar-primitive-count": 2,
|
|
"x-moar-complexity-skipped": false
|
|
}
|
|
},
|
|
"/ticket-forms": {
|
|
"get": {
|
|
"description": "Get a list of ticket forms",
|
|
"operationId": "GetTicketForms",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"description": "The data payload of the response.",
|
|
"items": {
|
|
"properties": {
|
|
"description_html": {
|
|
"description": "The description of the ticket form in HTML.",
|
|
"type": "string",
|
|
"x-go-name": "DescriptionHTML"
|
|
},
|
|
"fields": {
|
|
"description": "The layout of the ticket form.",
|
|
"items": {
|
|
"properties": {
|
|
"description_html": {
|
|
"description": "The description of the ticket form layout field in HTML.",
|
|
"type": "string",
|
|
"x-go-name": "DescriptionHTML"
|
|
},
|
|
"name": {
|
|
"description": "The name of the ticket form layout field.",
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"slug": {
|
|
"description": "The slug of the ticket form layout field.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
},
|
|
"type": {
|
|
"description": "The type of the ticket form layout field.",
|
|
"type": "string",
|
|
"x-go-name": "Type"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Fields"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the ticket form.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"is_public": {
|
|
"description": "Indicates if the ticket form is public.",
|
|
"type": "boolean",
|
|
"x-go-name": "IsPublic"
|
|
},
|
|
"name": {
|
|
"description": "The name of the ticket form.",
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"slug": {
|
|
"description": "The slug of the ticket form.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
},
|
|
"url": {
|
|
"description": "The URL of the ticket form.",
|
|
"type": "string",
|
|
"x-go-name": "URL"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Data"
|
|
},
|
|
"pagination": {
|
|
"properties": {
|
|
"cursor": {
|
|
"description": "The cursor for the next page of results.",
|
|
"type": "string",
|
|
"x-go-name": "Cursor"
|
|
},
|
|
"has_next_page": {
|
|
"description": "Indicates if there is a next page of results.",
|
|
"type": "boolean",
|
|
"x-go-name": "HasNextPage"
|
|
}
|
|
},
|
|
"required": [
|
|
"cursor",
|
|
"has_next_page"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"ticket-forms"
|
|
],
|
|
"x-moar-primitive-count": 0,
|
|
"x-moar-complexity-skipped": false
|
|
}
|
|
},
|
|
"/ticket-forms/{id}": {
|
|
"get": {
|
|
"description": "Get a ticket form",
|
|
"operationId": "GetTicketForm",
|
|
"parameters": [
|
|
{
|
|
"description": "The ID of the ticket form to fetch.",
|
|
"in": "path",
|
|
"name": "id",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"x-go-name": "ID"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"properties": {
|
|
"description_html": {
|
|
"description": "The description of the ticket form in HTML.",
|
|
"type": "string",
|
|
"x-go-name": "DescriptionHTML"
|
|
},
|
|
"fields": {
|
|
"description": "The layout of the ticket form.",
|
|
"items": {
|
|
"properties": {
|
|
"description_html": {
|
|
"description": "The description of the ticket form layout field in HTML.",
|
|
"type": "string",
|
|
"x-go-name": "DescriptionHTML"
|
|
},
|
|
"name": {
|
|
"description": "The name of the ticket form layout field.",
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"slug": {
|
|
"description": "The slug of the ticket form layout field.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
},
|
|
"type": {
|
|
"description": "The type of the ticket form layout field.",
|
|
"type": "string",
|
|
"x-go-name": "Type"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Fields"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the ticket form.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"is_public": {
|
|
"description": "Indicates if the ticket form is public.",
|
|
"type": "boolean",
|
|
"x-go-name": "IsPublic"
|
|
},
|
|
"name": {
|
|
"description": "The name of the ticket form.",
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"slug": {
|
|
"description": "The slug of the ticket form.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
},
|
|
"url": {
|
|
"description": "The URL of the ticket form.",
|
|
"type": "string",
|
|
"x-go-name": "URL"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"ticket-forms"
|
|
],
|
|
"x-moar-primitive-count": 0,
|
|
"x-moar-complexity-skipped": false
|
|
}
|
|
},
|
|
"/training-data": {
|
|
"get": {
|
|
"operationId": "ListTrainingData",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"items": {
|
|
"properties": {
|
|
"created_at": {
|
|
"type": "string",
|
|
"x-go-name": "CreatedAt"
|
|
},
|
|
"documents": {
|
|
"items": {
|
|
"properties": {
|
|
"external_id": {
|
|
"type": "string",
|
|
"x-go-name": "ExternalID"
|
|
},
|
|
"file_name": {
|
|
"type": "string",
|
|
"x-go-name": "FileName"
|
|
},
|
|
"file_size": {
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "FileSize"
|
|
},
|
|
"file_type": {
|
|
"type": "string",
|
|
"x-go-name": "FileType"
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"s3_key": {
|
|
"type": "string",
|
|
"x-go-name": "S3Key"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Documents"
|
|
},
|
|
"exclude_from_kb_search": {
|
|
"type": "boolean",
|
|
"x-go-name": "ExcludeFromKBSearch"
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"scrape_status": {
|
|
"properties": {
|
|
"last_scraped_at": {
|
|
"type": "string",
|
|
"x-go-name": "LastScrapedAt"
|
|
},
|
|
"pages_scraped": {
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "PagesScraped"
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"x-go-name": "Status"
|
|
},
|
|
"total_pages": {
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "TotalPages"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"x-go-name": "Type"
|
|
},
|
|
"updated_at": {
|
|
"type": "string",
|
|
"x-go-name": "UpdatedAt"
|
|
},
|
|
"visibility": {
|
|
"type": "string",
|
|
"x-go-name": "Visibility"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Data"
|
|
},
|
|
"request_id": {
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"summary": "Retrieves a list of all training data configurations for the organization.",
|
|
"tags": [
|
|
"training-data"
|
|
],
|
|
"x-moar-primitive-count": 0,
|
|
"x-moar-complexity-skipped": false
|
|
},
|
|
"post": {
|
|
"operationId": "CreateTrainingData",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"training_data_name": {
|
|
"description": "The name of the training data container.",
|
|
"type": "string",
|
|
"x-go-name": "TrainingDataName"
|
|
},
|
|
"visibility": {
|
|
"description": "The visibility of the training data. Defaults to \"everyone\".\n\nValid values: \"everyone\", \"user_only\", \"ai_agent_only\"",
|
|
"type": "string",
|
|
"x-go-name": "Visibility"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"required": false
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"properties": {
|
|
"created_at": {
|
|
"type": "string",
|
|
"x-go-name": "CreatedAt"
|
|
},
|
|
"documents": {
|
|
"items": {
|
|
"properties": {
|
|
"external_id": {
|
|
"type": "string",
|
|
"x-go-name": "ExternalID"
|
|
},
|
|
"file_name": {
|
|
"type": "string",
|
|
"x-go-name": "FileName"
|
|
},
|
|
"file_size": {
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "FileSize"
|
|
},
|
|
"file_type": {
|
|
"type": "string",
|
|
"x-go-name": "FileType"
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"s3_key": {
|
|
"type": "string",
|
|
"x-go-name": "S3Key"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Documents"
|
|
},
|
|
"exclude_from_kb_search": {
|
|
"type": "boolean",
|
|
"x-go-name": "ExcludeFromKBSearch"
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"scrape_status": {
|
|
"properties": {
|
|
"last_scraped_at": {
|
|
"type": "string",
|
|
"x-go-name": "LastScrapedAt"
|
|
},
|
|
"pages_scraped": {
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "PagesScraped"
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"x-go-name": "Status"
|
|
},
|
|
"total_pages": {
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "TotalPages"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"x-go-name": "Type"
|
|
},
|
|
"updated_at": {
|
|
"type": "string",
|
|
"x-go-name": "UpdatedAt"
|
|
},
|
|
"visibility": {
|
|
"type": "string",
|
|
"x-go-name": "Visibility"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"request_id": {
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"summary": "Creates a new training data configuration.",
|
|
"tags": [
|
|
"training-data"
|
|
],
|
|
"x-codegen-request-body-name": "Body",
|
|
"x-moar-primitive-count": 2,
|
|
"x-moar-complexity-skipped": false
|
|
}
|
|
},
|
|
"/training-data/{id}": {
|
|
"get": {
|
|
"operationId": "GetTrainingData",
|
|
"parameters": [
|
|
{
|
|
"description": "The ID of the training data.",
|
|
"in": "path",
|
|
"name": "id",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"x-go-name": "ID"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"properties": {
|
|
"created_at": {
|
|
"type": "string",
|
|
"x-go-name": "CreatedAt"
|
|
},
|
|
"documents": {
|
|
"items": {
|
|
"properties": {
|
|
"external_id": {
|
|
"type": "string",
|
|
"x-go-name": "ExternalID"
|
|
},
|
|
"file_name": {
|
|
"type": "string",
|
|
"x-go-name": "FileName"
|
|
},
|
|
"file_size": {
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "FileSize"
|
|
},
|
|
"file_type": {
|
|
"type": "string",
|
|
"x-go-name": "FileType"
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"s3_key": {
|
|
"type": "string",
|
|
"x-go-name": "S3Key"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Documents"
|
|
},
|
|
"exclude_from_kb_search": {
|
|
"type": "boolean",
|
|
"x-go-name": "ExcludeFromKBSearch"
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"scrape_status": {
|
|
"properties": {
|
|
"last_scraped_at": {
|
|
"type": "string",
|
|
"x-go-name": "LastScrapedAt"
|
|
},
|
|
"pages_scraped": {
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "PagesScraped"
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"x-go-name": "Status"
|
|
},
|
|
"total_pages": {
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "TotalPages"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"x-go-name": "Type"
|
|
},
|
|
"updated_at": {
|
|
"type": "string",
|
|
"x-go-name": "UpdatedAt"
|
|
},
|
|
"visibility": {
|
|
"type": "string",
|
|
"x-go-name": "Visibility"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"request_id": {
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"summary": "Retrieves a specific training data configuration by its ID.",
|
|
"tags": [
|
|
"training-data"
|
|
],
|
|
"x-moar-primitive-count": 0,
|
|
"x-moar-complexity-skipped": false
|
|
}
|
|
},
|
|
"/training-data/{id}/documents": {
|
|
"delete": {
|
|
"operationId": "DeleteTrainingDataDocuments",
|
|
"parameters": [
|
|
{
|
|
"description": "The ID of the training data.",
|
|
"in": "path",
|
|
"name": "id",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"x-go-name": "ID"
|
|
},
|
|
{
|
|
"description": "Document IDs to delete.",
|
|
"explode": false,
|
|
"in": "query",
|
|
"name": "document_ids",
|
|
"schema": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "DocumentIDs"
|
|
},
|
|
"style": "form",
|
|
"x-go-name": "DocumentIDs"
|
|
},
|
|
{
|
|
"description": "External IDs to delete.",
|
|
"explode": false,
|
|
"in": "query",
|
|
"name": "external_ids",
|
|
"schema": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "ExternalIDs"
|
|
},
|
|
"style": "form",
|
|
"x-go-name": "ExternalIDs"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"deleted_count": {
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "DeletedCount"
|
|
},
|
|
"request_id": {
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"summary": "Deletes documents from a training data configuration.",
|
|
"tags": [
|
|
"training-data"
|
|
],
|
|
"x-moar-primitive-count": 0,
|
|
"x-moar-complexity-skipped": false
|
|
}
|
|
},
|
|
"/user-roles": {
|
|
"get": {
|
|
"description": "Get a list of all user roles",
|
|
"operationId": "GetUserRoles",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"description": "The data payload of the response.",
|
|
"items": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the role.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"name": {
|
|
"description": "The name of the role.",
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"slug": {
|
|
"description": "The slug of the role.",
|
|
"type": "string",
|
|
"x-go-name": "Slug"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Data"
|
|
},
|
|
"pagination": {
|
|
"properties": {
|
|
"cursor": {
|
|
"description": "The cursor for the next page of results.",
|
|
"type": "string",
|
|
"x-go-name": "Cursor"
|
|
},
|
|
"has_next_page": {
|
|
"description": "Indicates if there is a next page of results.",
|
|
"type": "boolean",
|
|
"x-go-name": "HasNextPage"
|
|
}
|
|
},
|
|
"required": [
|
|
"cursor",
|
|
"has_next_page"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"user-roles"
|
|
],
|
|
"x-moar-primitive-count": 0,
|
|
"x-moar-complexity-skipped": false
|
|
}
|
|
},
|
|
"/users": {
|
|
"get": {
|
|
"description": "Get a list of users",
|
|
"operationId": "GetUsers",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"description": "The data payload of the response.",
|
|
"items": {
|
|
"properties": {
|
|
"avatar_url": {
|
|
"description": "The avatar URL of the user.",
|
|
"type": "string",
|
|
"x-go-name": "AvatarURL"
|
|
},
|
|
"email": {
|
|
"description": "The primary email of the user.",
|
|
"type": "string",
|
|
"x-go-name": "Email"
|
|
},
|
|
"emails": {
|
|
"description": "The list of all emails of the user.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Emails"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the user.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"name": {
|
|
"description": "The name of the user.",
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"role_id": {
|
|
"description": "The role_id of the user.",
|
|
"type": "string",
|
|
"x-go-name": "RoleID"
|
|
},
|
|
"status": {
|
|
"description": "The status of the user.",
|
|
"type": "string",
|
|
"x-go-name": "Status"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Data"
|
|
},
|
|
"pagination": {
|
|
"properties": {
|
|
"cursor": {
|
|
"description": "The cursor for the next page of results.",
|
|
"type": "string",
|
|
"x-go-name": "Cursor"
|
|
},
|
|
"has_next_page": {
|
|
"description": "Indicates if there is a next page of results.",
|
|
"type": "boolean",
|
|
"x-go-name": "HasNextPage"
|
|
}
|
|
},
|
|
"required": [
|
|
"cursor",
|
|
"has_next_page"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"users"
|
|
],
|
|
"x-moar-primitive-count": 0,
|
|
"x-moar-complexity-skipped": false
|
|
}
|
|
},
|
|
"/users/search": {
|
|
"post": {
|
|
"description": "Currently, the following fields are filterable for users:\n\n* email. Allowed operators: `equals`, `in`, `not_in`",
|
|
"operationId": "SearchUsers",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"cursor": {
|
|
"description": "The cursor to use for pagination.",
|
|
"type": "string",
|
|
"x-go-name": "Cursor"
|
|
},
|
|
"filter": {
|
|
"properties": {
|
|
"field": {
|
|
"description": "The field for this filter. For allowed fields, see the documentation for\n\nthe specific endpoint you are using.\n\nFor non-compound filters (any operators other than \"and\" or \"or\"),\n\nField must be set, along with either Value or Values, depending on the operator.",
|
|
"type": "string",
|
|
"x-go-name": "Field"
|
|
},
|
|
"operator": {
|
|
"description": "The operator for this filter.\n\n* equals FilterOperatorEquals Matches objects that are exactly equal to the value in the field.\n\n* not_equals FilterOperatorNotEquals Matches objects that are not exactly equal to the value in the field.\n\n* contains FilterOperatorContains For a multi-valued field, such as tags, this operator will match objects that contain any of the values in the field.\n\n* does_not_contain FilterOperatorDoesNotContain For a multi-valued field, such as tags, this operator will match objects that do not contain any of the values in the field.\n\n* in FilterOperatorIn Matches objects if the field is one of several possible values, as specified in the values array.\n\n* not_in FilterOperatorNotIn Matches objects if the field is none of several possible values, as specified in the values array.\n\n* and FilterOperatorAnd Matches objects only if all subfilters match.\n\n* or FilterOperatorOr Matches objects if any subfilter matches.\n\n* time_is_after FilterOperatorTimeIsAfter Matches objects if the field is after the given time.\n\n* time_is_before FilterOperatorTimeIsBefore Matches objects if the field is before the given time.\n\n* time_range FilterOperatorTimeRange Matches objects if the field is between the given times.\n\n* string_contains FilterOperatorStringContains Matches objects if the field contains the given string.\n\n* string_does_not_contain FilterOperatorStringDoesNotContain Matches objects if the field does not contain the given string.\n\n* is_set FilterOperatorIsSet FilterOperatorIsSet matches objects if the field is set.\n\n* is_unset FilterOperatorIsUnset FilterOperatorIsUnset matches objects if the field is unset.",
|
|
"enum": [
|
|
"equals",
|
|
"not_equals",
|
|
"contains",
|
|
"does_not_contain",
|
|
"in",
|
|
"not_in",
|
|
"and",
|
|
"or",
|
|
"time_is_after",
|
|
"time_is_before",
|
|
"time_range",
|
|
"string_contains",
|
|
"string_does_not_contain",
|
|
"is_set",
|
|
"is_unset"
|
|
],
|
|
"type": "string",
|
|
"x-go-enum-desc": "equals FilterOperatorEquals Matches objects that are exactly equal to the value in the field.\nnot_equals FilterOperatorNotEquals Matches objects that are not exactly equal to the value in the field.\ncontains FilterOperatorContains For a multi-valued field, such as tags, this operator will match objects that contain any of the values in the field.\ndoes_not_contain FilterOperatorDoesNotContain For a multi-valued field, such as tags, this operator will match objects that do not contain any of the values in the field.\nin FilterOperatorIn Matches objects if the field is one of several possible values, as specified in the values array.\nnot_in FilterOperatorNotIn Matches objects if the field is none of several possible values, as specified in the values array.\nand FilterOperatorAnd Matches objects only if all subfilters match.\nor FilterOperatorOr Matches objects if any subfilter matches.\ntime_is_after FilterOperatorTimeIsAfter Matches objects if the field is after the given time.\ntime_is_before FilterOperatorTimeIsBefore Matches objects if the field is before the given time.\ntime_range FilterOperatorTimeRange Matches objects if the field is between the given times.\nstring_contains FilterOperatorStringContains Matches objects if the field contains the given string.\nstring_does_not_contain FilterOperatorStringDoesNotContain Matches objects if the field does not contain the given string.\nis_set FilterOperatorIsSet FilterOperatorIsSet matches objects if the field is set.\nis_unset FilterOperatorIsUnset FilterOperatorIsUnset matches objects if the field is unset.",
|
|
"x-go-name": "Operator"
|
|
},
|
|
"subfilters": {
|
|
"description": "Sub-filters for this filter. Valid only when operator is \"and\" or \"or\".\n\nThe maximum allowed depth for a tree of filters is 3.",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Filter",
|
|
"has_circular_reference": true
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Subfilters"
|
|
},
|
|
"value": {
|
|
"description": "The value for this filter. Only used for single-valued operators\n\n(\"equals\", \"not_equals\", \"contains\", \"does_not_contain\")",
|
|
"type": "string",
|
|
"x-go-name": "Value"
|
|
},
|
|
"values": {
|
|
"description": "The values for this filter. Only used for multi-valued operators (\"in\", \"not_in\").",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Values"
|
|
}
|
|
},
|
|
"required": [
|
|
"field",
|
|
"operator"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"limit": {
|
|
"description": "The number of users to fetch. Defaults to 100. Must be greater than 0 and less than 1000.",
|
|
"format": "int64",
|
|
"type": "integer",
|
|
"x-go-name": "Limit"
|
|
}
|
|
},
|
|
"required": [
|
|
"filter"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"required": false
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"description": "The data payload of the response.",
|
|
"items": {
|
|
"properties": {
|
|
"avatar_url": {
|
|
"description": "The avatar URL of the user.",
|
|
"type": "string",
|
|
"x-go-name": "AvatarURL"
|
|
},
|
|
"email": {
|
|
"description": "The primary email of the user.",
|
|
"type": "string",
|
|
"x-go-name": "Email"
|
|
},
|
|
"emails": {
|
|
"description": "The list of all emails of the user.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Emails"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the user.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"name": {
|
|
"description": "The name of the user.",
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"role_id": {
|
|
"description": "The role_id of the user.",
|
|
"type": "string",
|
|
"x-go-name": "RoleID"
|
|
},
|
|
"status": {
|
|
"description": "The status of the user.",
|
|
"type": "string",
|
|
"x-go-name": "Status"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Data"
|
|
},
|
|
"pagination": {
|
|
"properties": {
|
|
"cursor": {
|
|
"description": "The cursor for the next page of results.",
|
|
"type": "string",
|
|
"x-go-name": "Cursor"
|
|
},
|
|
"has_next_page": {
|
|
"description": "Indicates if there is a next page of results.",
|
|
"type": "boolean",
|
|
"x-go-name": "HasNextPage"
|
|
}
|
|
},
|
|
"required": [
|
|
"cursor",
|
|
"has_next_page"
|
|
],
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"summary": "Search for users by a given filter",
|
|
"tags": [
|
|
"users"
|
|
],
|
|
"x-codegen-request-body-name": "Body",
|
|
"x-moar-primitive-count": 7,
|
|
"x-moar-complexity-skipped": false
|
|
}
|
|
},
|
|
"/users/{id}": {
|
|
"get": {
|
|
"description": "Get a user by its ID",
|
|
"operationId": "GetUser",
|
|
"parameters": [
|
|
{
|
|
"description": "The ID of the user to fetch.",
|
|
"in": "path",
|
|
"name": "id",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"x-go-name": "ID"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"properties": {
|
|
"avatar_url": {
|
|
"description": "The avatar URL of the user.",
|
|
"type": "string",
|
|
"x-go-name": "AvatarURL"
|
|
},
|
|
"email": {
|
|
"description": "The primary email of the user.",
|
|
"type": "string",
|
|
"x-go-name": "Email"
|
|
},
|
|
"emails": {
|
|
"description": "The list of all emails of the user.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Emails"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the user.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"name": {
|
|
"description": "The name of the user.",
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"role_id": {
|
|
"description": "The role_id of the user.",
|
|
"type": "string",
|
|
"x-go-name": "RoleID"
|
|
},
|
|
"status": {
|
|
"description": "The status of the user.",
|
|
"type": "string",
|
|
"x-go-name": "Status"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"user"
|
|
],
|
|
"x-moar-primitive-count": 0,
|
|
"x-moar-complexity-skipped": false
|
|
},
|
|
"patch": {
|
|
"description": "Update a user",
|
|
"operationId": "UpdateUser",
|
|
"parameters": [
|
|
{
|
|
"description": "The ID of the user to update.",
|
|
"in": "path",
|
|
"name": "id",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"x-go-name": "ID"
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"role_id": {
|
|
"description": "The role_id of the user.",
|
|
"type": "string",
|
|
"x-go-name": "RoleID"
|
|
},
|
|
"status": {
|
|
"description": "The new user status for the user. Can be one of `active`, `away`, or `out_of_office`.",
|
|
"type": "string",
|
|
"x-go-name": "Status"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"required": false
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"data": {
|
|
"properties": {
|
|
"avatar_url": {
|
|
"description": "The avatar URL of the user.",
|
|
"type": "string",
|
|
"x-go-name": "AvatarURL"
|
|
},
|
|
"email": {
|
|
"description": "The primary email of the user.",
|
|
"type": "string",
|
|
"x-go-name": "Email"
|
|
},
|
|
"emails": {
|
|
"description": "The list of all emails of the user.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Emails"
|
|
},
|
|
"id": {
|
|
"description": "The ID of the user.",
|
|
"type": "string",
|
|
"x-go-name": "ID"
|
|
},
|
|
"name": {
|
|
"description": "The name of the user.",
|
|
"type": "string",
|
|
"x-go-name": "Name"
|
|
},
|
|
"role_id": {
|
|
"description": "The role_id of the user.",
|
|
"type": "string",
|
|
"x-go-name": "RoleID"
|
|
},
|
|
"status": {
|
|
"description": "The status of the user.",
|
|
"type": "string",
|
|
"x-go-name": "Status"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/endpoints"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"errors": {
|
|
"description": "The list of errors.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"x-go-name": "Errors"
|
|
},
|
|
"exists_id": {
|
|
"description": "The ID of the object that already exists if this is a duplicate object error.",
|
|
"type": "string",
|
|
"x-go-name": "ExistsID"
|
|
},
|
|
"request_id": {
|
|
"description": "The request ID for tracking.",
|
|
"type": "string",
|
|
"x-go-name": "RequestID"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"x-go-package": "pylon/api/apiserver/apitypes"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"user"
|
|
],
|
|
"x-codegen-request-body-name": "Body",
|
|
"x-moar-primitive-count": 2,
|
|
"x-moar-complexity-skipped": false
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
],
|
|
"servers": [
|
|
{
|
|
"url": "https://api.usepylon.com"
|
|
}
|
|
],
|
|
"x-original-swagger-version": "2.0"
|
|
}
|