From 78284cc19b5a313174d5261b14d5f06aadb6349a Mon Sep 17 00:00:00 2001 From: dsinghvi Date: Wed, 3 May 2023 12:23:20 -0400 Subject: [PATCH 1/5] save progress --- fern/beta/definition/api.yml | 13 + fern/beta/generators.yml | 12 + fern/beta/openapi/openapi-beta.yaml | 2239 ++++++++++++ fern/fern.config.json | 4 + fern/public/definition/api.yml | 13 + fern/public/generators.yml | 13 + fern/public/openapi/openapi.yaml | 4891 +++++++++++++++++++++++++++ 7 files changed, 7185 insertions(+) create mode 100644 fern/beta/definition/api.yml create mode 100644 fern/beta/generators.yml create mode 100644 fern/beta/openapi/openapi-beta.yaml create mode 100644 fern/fern.config.json create mode 100644 fern/public/definition/api.yml create mode 100644 fern/public/generators.yml create mode 100644 fern/public/openapi/openapi.yaml diff --git a/fern/beta/definition/api.yml b/fern/beta/definition/api.yml new file mode 100644 index 00000000..76901a15 --- /dev/null +++ b/fern/beta/definition/api.yml @@ -0,0 +1,13 @@ +name: api +display-name: DevRev Beta REST API +error-discrimination: + strategy: status-code +auth: auth-token +auth-schemes: + auth-token: + header: Authorization + name: apiKey + type: string +default-environment: default +environments: + default: '{protocol}://{hostname}' diff --git a/fern/beta/generators.yml b/fern/beta/generators.yml new file mode 100644 index 00000000..17089646 --- /dev/null +++ b/fern/beta/generators.yml @@ -0,0 +1,12 @@ +default-group: sdks +groups: + sdks: + generators: + - name: fernapi/fern-typescript-sdk + version: 0.5.17 + output: + location: npm + url: npm.buildwithfern.com + package-name: "@devrev-fern/beta" + config: + namespaceExport: DevRevBeta \ No newline at end of file diff --git a/fern/beta/openapi/openapi-beta.yaml b/fern/beta/openapi/openapi-beta.yaml new file mode 100644 index 00000000..caac67ed --- /dev/null +++ b/fern/beta/openapi/openapi-beta.yaml @@ -0,0 +1,2239 @@ +components: + responses: + bad-request: + content: + application/json: + schema: + $ref: '#/components/schemas/error-bad-request' + description: 400 Bad Request. + forbidden: + content: + application/json: + schema: + $ref: '#/components/schemas/error-forbidden' + description: 403 Forbidden. + internal-server-error: + content: + application/json: + schema: + $ref: '#/components/schemas/error-internal-server-error' + description: 500 Internal Server Error. + not-found: + content: + application/json: + schema: + $ref: '#/components/schemas/error-not-found' + description: 404 Not Found. + service-unavailable: + content: + application/json: + schema: + $ref: '#/components/schemas/error-service-unavailable' + description: 503 Service Unavailable. + too-many-requests: + content: + application/json: + schema: + $ref: '#/components/schemas/error-too-many-requests' + description: 429 Too Many Requests. + headers: + Retry-After: + schema: + description: Number of seconds to wait before retrying. + type: number + unauthorized: + content: + application/json: + schema: + $ref: '#/components/schemas/error-unauthorized' + description: 401 Unauthorized. + schemas: + artifact-summary: + allOf: + - $ref: '#/components/schemas/atom-base-summary' + title: artifact-summary + atom-base: + properties: + created_by: + $ref: '#/components/schemas/user-summary' + created_date: + description: Timestamp when the object was created. + format: date-time + type: string + display_id: + description: Human-readable object ID unique to the Dev organization. + type: string + id: + description: Globally unique object ID. + type: string + modified_by: + $ref: '#/components/schemas/user-summary' + modified_date: + description: Timestamp when the object was last modified. + format: date-time + type: string + required: + - id + title: atom-base + type: object + atom-base-summary: + properties: + display_id: + description: Human-readable object ID unique to the Dev organization. + type: string + id: + description: Globally unique object ID. + type: string + required: + - id + title: atom-base-summary + type: object + capability-summary: + allOf: + - $ref: '#/components/schemas/part-base-summary' + title: capability-summary + conversation: + allOf: + - $ref: '#/components/schemas/atom-base' + - properties: + description: + description: Description of the conversation object. + type: string + group: + $ref: '#/components/schemas/group-summary' + messages: + description: The latest messages on the conversation. + items: + $ref: '#/components/schemas/timeline-entry' + type: array + owned_by: + description: Owner IDs for the conversation. + items: + $ref: '#/components/schemas/user-summary' + type: array + stage: + $ref: '#/components/schemas/stage' + title: + description: Title of the conversation object. + type: string + type: object + title: conversation + conversation-summary: + allOf: + - $ref: '#/components/schemas/atom-base-summary' + - properties: + title: + description: Title of the conversation object. + type: string + type: object + title: conversation-summary + conversations-create-request: + description: The request to create a new conversation. + properties: + description: + description: Description for the conversation. + type: string + group: + description: The group that the conversation is associated with. + type: string + members: + description: The users in the conversation. + example: + - don::identity:devo/:devu/ + items: + type: string + type: array + messages: + description: Initial messages on the conversation. + items: + $ref: '#/components/schemas/conversations-create-request-message' + type: array + stage: + $ref: '#/components/schemas/stage-init' + tags: + description: Tags associated with the conversation. + items: + $ref: '#/components/schemas/set-tag-with-value' + type: array + title: + description: The title for the conversation. + type: string + type: + $ref: '#/components/schemas/conversations-create-request-type-value' + required: + - type + title: conversations-create-request + type: object + conversations-create-request-message: + properties: + artifacts: + description: The IDs of the artifacts to the message. + example: + - don::core:devo/:artifact/ + items: + type: string + type: array + body: + description: The message's body. + type: string + title: conversations-create-request-message + type: object + conversations-create-request-type-value: + enum: + - support + type: string + conversations-create-response: + description: The response to creating a new conversation. + properties: + conversation: + $ref: '#/components/schemas/conversation' + required: + - conversation + title: conversations-create-response + type: object + x-go-name: ConversationsCreateResponseBody + conversations-delete-request: + description: The request to delete a conversation. + properties: + id: + description: The ID of the conversation to delete. + type: string + required: + - id + title: conversations-delete-request + type: object + conversations-delete-response: + description: The response for deleting a conversation. + title: conversations-delete-response + type: object + x-go-name: ConversationsDeleteResponseBody + conversations-export-response: + properties: + conversations: + description: The resulting collection of conversation items. + items: + $ref: '#/components/schemas/conversation' + type: array + required: + - conversations + title: conversations-export-response + type: object + x-go-name: ConversationsExportResponseBody + conversations-get-response: + description: The response to getting a conversation's information. + properties: + conversation: + $ref: '#/components/schemas/conversation' + required: + - conversation + title: conversations-get-response + type: object + x-go-name: ConversationsGetResponseBody + conversations-list-response: + description: The response to listing the conversations. + properties: + conversations: + description: The list of conversations. + items: + $ref: '#/components/schemas/conversation' + type: array + next_cursor: + description: | + The cursor used to iterate subsequent results in accordance to the + sort order. If not set, then no later elements exist. + type: string + prev_cursor: + description: | + The cursor used to iterate preceding results in accordance to the + sort order. If not set, then no prior elements exist. + type: string + required: + - conversations + title: conversations-list-response + type: object + x-go-name: ConversationsListResponseBody + conversations-update-request: + description: The request to update a conversation. + properties: + applies_to_parts: + $ref: '#/components/schemas/conversations-update-request-applies-to-parts' + description: + description: The updated description for the conversation. + type: string + group: + description: The group that the conversation is associated with. + type: string + id: + description: The ID of the conversation to update. + type: string + stage: + $ref: '#/components/schemas/stage-update' + status: + description: The updated status of the conversation. + type: string + title: + description: The updated title of the conversation. + type: string + required: + - id + title: conversations-update-request + type: object + conversations-update-request-applies-to-parts: + properties: + set: + description: Updates the parts that the conversation applies to. + example: + - don::core:devo/:/ + items: + type: string + type: array + title: conversations-update-request-applies-to-parts + type: object + conversations-update-response: + description: The response for updating a conversation. + properties: + conversation: + $ref: '#/components/schemas/conversation' + required: + - conversation + title: conversations-update-response + type: object + x-go-name: ConversationsUpdateResponseBody + dev-user-summary: + allOf: + - $ref: '#/components/schemas/user-base-summary' + title: dev-user-summary + enhancement-summary: + allOf: + - $ref: '#/components/schemas/part-base-summary' + title: enhancement-summary + error-bad-request: + allOf: + - $ref: '#/components/schemas/error-base' + - discriminator: + mapping: + bad_request: '#/components/schemas/error-bad-request-bad-request' + invalid_enum_value: '#/components/schemas/error-bad-request-invalid-enum-value' + missing_required_field: '#/components/schemas/error-bad-request-missing-required-field' + parse_error: '#/components/schemas/error-bad-request-parse-error' + value_not_permitted: '#/components/schemas/error-bad-request-value-not-permitted' + propertyName: type + oneOf: + - $ref: '#/components/schemas/error-bad-request-bad-request' + - $ref: '#/components/schemas/error-bad-request-invalid-enum-value' + - $ref: '#/components/schemas/error-bad-request-missing-required-field' + - $ref: '#/components/schemas/error-bad-request-parse-error' + - $ref: '#/components/schemas/error-bad-request-value-not-permitted' + properties: + type: + $ref: '#/components/schemas/error-bad-request-type' + required: + - type + type: object + title: error-bad-request + error-bad-request-bad-request: + title: error-bad-request-bad-request + type: object + error-bad-request-invalid-enum-value: + properties: + allowed_values: + description: The allowed values for the field. + items: + type: string + type: array + field_name: + description: The field whose enum value is invalid. + type: string + value: + description: The value that was received. + type: string + required: + - allowed_values + - field_name + - value + title: error-bad-request-invalid-enum-value + type: object + error-bad-request-missing-required-field: + properties: + field_name: + description: The missing field's name. + type: string + required: + - field_name + title: error-bad-request-missing-required-field + type: object + error-bad-request-parse-error: + title: error-bad-request-parse-error + type: object + error-bad-request-type: + enum: + - bad_request + - invalid_enum_value + - missing_required_field + - parse_error + - value_not_permitted + type: string + error-bad-request-value-not-permitted: + properties: + field_name: + description: The field whose value is not permitted. + type: string + reason: + description: The reason the value isn't permitted. + type: string + required: + - field_name + title: error-bad-request-value-not-permitted + type: object + error-base: + properties: + message: + description: The message associated with the error. + type: string + title: error-base + type: object + error-forbidden: + allOf: + - $ref: '#/components/schemas/error-base' + - discriminator: + mapping: + forbidden: '#/components/schemas/error-forbidden-forbidden' + propertyName: type + oneOf: + - $ref: '#/components/schemas/error-forbidden-forbidden' + properties: + type: + $ref: '#/components/schemas/error-forbidden-type' + required: + - type + type: object + title: error-forbidden + error-forbidden-forbidden: + title: error-forbidden-forbidden + type: object + error-forbidden-type: + enum: + - forbidden + type: string + error-internal-server-error: + allOf: + - $ref: '#/components/schemas/error-base' + - discriminator: + mapping: + internal_error: '#/components/schemas/error-internal-server-error-internal-error' + propertyName: type + oneOf: + - $ref: '#/components/schemas/error-internal-server-error-internal-error' + properties: + reference_id: + description: | + A unique ID that's generated for the error that can be used for + inquiry. + type: string + type: + $ref: '#/components/schemas/error-internal-server-error-type' + required: + - type + type: object + title: error-internal-server-error + error-internal-server-error-internal-error: + title: error-internal-server-error-internal-error + type: object + error-internal-server-error-type: + enum: + - internal_error + type: string + error-not-found: + allOf: + - $ref: '#/components/schemas/error-base' + - discriminator: + mapping: + not_found: '#/components/schemas/error-not-found-not-found' + propertyName: type + oneOf: + - $ref: '#/components/schemas/error-not-found-not-found' + properties: + type: + $ref: '#/components/schemas/error-not-found-type' + required: + - type + type: object + title: error-not-found + error-not-found-not-found: + title: error-not-found-not-found + type: object + error-not-found-type: + enum: + - not_found + type: string + error-service-unavailable: + allOf: + - $ref: '#/components/schemas/error-base' + - discriminator: + mapping: + service_unavailable: '#/components/schemas/error-service-unavailable-service-unavailable' + propertyName: type + oneOf: + - $ref: '#/components/schemas/error-service-unavailable-service-unavailable' + properties: + type: + $ref: '#/components/schemas/error-service-unavailable-type' + required: + - type + type: object + title: error-service-unavailable + error-service-unavailable-service-unavailable: + title: error-service-unavailable-service-unavailable + type: object + error-service-unavailable-type: + enum: + - service_unavailable + type: string + error-too-many-requests: + allOf: + - $ref: '#/components/schemas/error-base' + - discriminator: + mapping: + too_many_requests: '#/components/schemas/error-too-many-requests-too-many-requests' + propertyName: type + oneOf: + - $ref: '#/components/schemas/error-too-many-requests-too-many-requests' + properties: + retry_after: + description: | + The number of seconds after which the client should retry. + format: int64 + type: integer + type: + $ref: '#/components/schemas/error-too-many-requests-type' + required: + - type + type: object + title: error-too-many-requests + error-too-many-requests-too-many-requests: + title: error-too-many-requests-too-many-requests + type: object + error-too-many-requests-type: + enum: + - too_many_requests + type: string + error-unauthorized: + allOf: + - $ref: '#/components/schemas/error-base' + - discriminator: + mapping: + unauthenticated: '#/components/schemas/error-unauthorized-unauthenticated' + propertyName: type + oneOf: + - $ref: '#/components/schemas/error-unauthorized-unauthenticated' + properties: + type: + $ref: '#/components/schemas/error-unauthorized-type' + required: + - type + type: object + title: error-unauthorized + error-unauthorized-type: + enum: + - unauthenticated + type: string + error-unauthorized-unauthenticated: + title: error-unauthorized-unauthenticated + type: object + feature-summary: + allOf: + - $ref: '#/components/schemas/part-base-summary' + title: feature-summary + group-summary: + allOf: + - $ref: '#/components/schemas/atom-base-summary' + title: group-summary + issue-priority: + description: Priority of the work based upon impact and criticality. + enum: + - p0 + - p1 + - p2 + - p3 + type: string + issue-summary: + allOf: + - $ref: '#/components/schemas/work-base-summary' + - properties: + priority: + $ref: '#/components/schemas/issue-priority' + type: object + title: issue-summary + link: + allOf: + - $ref: '#/components/schemas/atom-base' + - properties: + link_type: + $ref: '#/components/schemas/link-type' + source: + $ref: '#/components/schemas/link-endpoint-summary' + target: + $ref: '#/components/schemas/link-endpoint-summary' + required: + - link_type + - source + - target + type: object + title: link + link-endpoint-summary: + discriminator: + mapping: + capability: '#/components/schemas/capability-summary' + conversation: '#/components/schemas/conversation-summary' + enhancement: '#/components/schemas/enhancement-summary' + feature: '#/components/schemas/feature-summary' + issue: '#/components/schemas/issue-summary' + product: '#/components/schemas/product-summary' + ticket: '#/components/schemas/ticket-summary' + propertyName: type + oneOf: + - $ref: '#/components/schemas/capability-summary' + - $ref: '#/components/schemas/conversation-summary' + - $ref: '#/components/schemas/enhancement-summary' + - $ref: '#/components/schemas/feature-summary' + - $ref: '#/components/schemas/issue-summary' + - $ref: '#/components/schemas/product-summary' + - $ref: '#/components/schemas/ticket-summary' + properties: + type: + $ref: '#/components/schemas/link-endpoint-type' + required: + - type + title: link-endpoint-summary + type: object + link-endpoint-type: + enum: + - capability + - conversation + - enhancement + - feature + - issue + - product + - ticket + type: string + link-rev-user-to-rev-org-request: + description: A request to link a rev user to a rev org. + properties: + rev_org_don: + description: The don of the rev org to link the rev user to. + example: don::identity:devo/:revo/ + type: string + user_don: + description: The don of the rev user to link. + type: string + required: + - rev_org_don + - user_don + title: link-rev-user-to-rev-org-request + type: object + link-rev-user-to-rev-org-response: + description: The response to link a rev user to a rev org. + properties: + rev_user: + $ref: '#/components/schemas/rev-user' + required: + - rev_user + title: link-rev-user-to-rev-org-response + type: object + x-go-name: LinkRevUserToRevOrgResponseBody + link-type: + description: Type of link used to define the relationship. + enum: + - developed_with + - imports + - is_dependent_on + - is_duplicate_of + - is_parent_of + - is_part_of + - is_related_to + - serves + type: string + links-create-request: + description: The request to create a new link. + properties: + link_type: + $ref: '#/components/schemas/link-type' + source: + description: The ID of the source object. + type: string + target: + description: The ID of the target object. + type: string + required: + - link_type + - source + - target + title: links-create-request + type: object + links-create-response: + description: The response to creating a new link. + properties: + link: + $ref: '#/components/schemas/link' + required: + - link + title: links-create-response + type: object + x-go-name: LinksCreateResponseBody + links-delete-request: + description: The request to delete a link. + properties: + id: + description: The ID of the link to delete. + type: string + required: + - id + title: links-delete-request + type: object + links-delete-response: + description: The response for deleting a link. + title: links-delete-response + type: object + x-go-name: LinksDeleteResponseBody + links-direction: + description: | + The direction of link, which can either be outbound such that the + object is the source of the link, otherwise inbound where the object is + the target of the link. + enum: + - is_source + - is_target + type: string + links-get-response: + description: The response to getting a link's information. + properties: + link: + $ref: '#/components/schemas/link' + required: + - link + title: links-get-response + type: object + x-go-name: LinksGetResponseBody + links-list-response: + description: The response to listing the links. + properties: + links: + description: The list of links. + items: + $ref: '#/components/schemas/link' + type: array + next_cursor: + description: | + The cursor used to iterate subsequent results in accordance to the + sort order. If not set, then no later elements exist. + type: string + prev_cursor: + description: | + The cursor used to iterate preceding results in accordance to the + sort order. If not set, then no prior elements exist. + type: string + required: + - links + title: links-list-response + type: object + x-go-name: LinksListResponseBody + list-mode: + description: | + The iteration mode to use. If "after", then entries after the provided + cursor will be returned, or if no cursor is provided, then from the + beginning. If "before", then entries before the provided cursor will be + returned, or if no cursor is provided, then from the end. Entries will + always be returned in the specified sort-by order. + enum: + - after + - before + type: string + org-base-summary: + allOf: + - $ref: '#/components/schemas/atom-base-summary' + - properties: + display_name: + description: Name of the Organization. + type: string + type: object + title: org-base-summary + org-summary: + discriminator: + mapping: + rev_org: '#/components/schemas/rev-org-summary' + propertyName: type + oneOf: + - $ref: '#/components/schemas/rev-org-summary' + properties: + type: + $ref: '#/components/schemas/org-type' + required: + - type + title: org-summary + type: object + org-type: + enum: + - rev_org + type: string + part-base-summary: + allOf: + - $ref: '#/components/schemas/atom-base-summary' + - properties: + name: + description: Name of the part. + type: string + required: + - name + type: object + title: part-base-summary + product-summary: + allOf: + - $ref: '#/components/schemas/part-base-summary' + title: product-summary + rev-org-summary: + allOf: + - $ref: '#/components/schemas/org-base-summary' + title: rev-org-summary + rev-user: + allOf: + - $ref: '#/components/schemas/user-base' + - properties: + description: + description: Description of the Rev user. + type: string + external_ref: + description: | + External ref is a mutable unique identifier for a user within the + Rev organization from your primary customer record. If none is + available, a good alternative is the email address/phone number + which could uniquely identify the user. If none is specified, a + system-generated identifier will be assigned to the user. + type: string + rev_org: + $ref: '#/components/schemas/org-summary' + type: object + title: rev-user + rev-user-summary: + allOf: + - $ref: '#/components/schemas/user-base-summary' + - properties: + external_ref: + description: | + External ref is a mutable unique identifier for a user within the + Rev organization from your primary customer record. If none is + available, a good alternative is the email address/phone number + which could uniquely identify the user. If none is specified, a + system-generated identifier will be assigned to the user. + type: string + rev_org: + $ref: '#/components/schemas/org-summary' + type: object + title: rev-user-summary + rev-users-create-request: + description: | + Request object to create a new Rev user for a Rev organization. + properties: + description: + description: Description of the Rev user. + type: string + display_name: + description: | + The user's display name. The name is non-unique and mutable. + type: string + email: + description: Email address of the Rev user. + type: string + external_ref: + description: | + External ref is a mutable unique identifier for a user within the + Dev organization from your primary customer record. If none is + available, a good alternative is the email address/phone number + which could uniquely identify the user. If none is specified, a + system-generated identifier will be assigned to the user. + type: string + phone_numbers: + description: Phone numbers of the Rev user. + items: + type: string + type: array + rev_org: + description: | + The ID of Rev organization for which a Rev user is to be created. + example: don::identity:devo/:revo/ + type: string + required: + - rev_org + title: rev-users-create-request + type: object + rev-users-create-response: + description: | + Response object for creating a new Rev user for Rev organization. + properties: + rev_user: + $ref: '#/components/schemas/rev-user' + required: + - rev_user + title: rev-users-create-response + type: object + x-go-name: RevUsersCreateResponseBody + rev-users-delete-request: + description: Request object to delete a Rev user. + properties: + id: + description: The ID of Rev user to delete. + type: string + required: + - id + title: rev-users-delete-request + type: object + rev-users-delete-response: + description: The response to deleting a Rev user of a Rev organization. + title: rev-users-delete-response + type: object + x-go-name: RevUsersDeleteResponseBody + rev-users-get-response: + description: The returned Rev user. + properties: + rev_user: + $ref: '#/components/schemas/rev-user' + required: + - rev_user + title: rev-users-get-response + type: object + x-go-name: RevUsersGetResponseBody + rev-users-list-response: + description: | + The response to listing all Rev users matching the filter criteria. + properties: + next_cursor: + description: | + The cursor used to iterate subsequent results in accordance to the + sort order. If not set, then no later elements exist. + type: string + prev_cursor: + description: | + The cursor used to iterate preceding results in accordance to the + sort order. If not set, then no prior elements exist. + type: string + rev_users: + description: List containing all the Rev users. + items: + $ref: '#/components/schemas/rev-user' + type: array + required: + - rev_users + title: rev-users-list-response + type: object + x-go-name: RevUsersListResponseBody + rev-users-update-request: + description: Request to update details of a Rev user. + properties: + description: + description: Updated description of the Rev user. + type: string + display_name: + description: Updated display name of the Rev user. + type: string + email: + description: Updated email address of the Rev user. + type: string + external_ref: + description: Updated external ref value of the Rev user. + type: string + id: + description: The ID of Rev user to update. + type: string + required: + - id + title: rev-users-update-request + type: object + rev-users-update-response: + description: Updated Rev user object. + properties: + rev_user: + $ref: '#/components/schemas/rev-user' + required: + - rev_user + title: rev-users-update-response + type: object + x-go-name: RevUsersUpdateResponseBody + set-tag-with-value: + properties: + id: + description: The ID of the tag. + example: don::core:devo/:tag/ + type: string + value: + description: | + The value for the object's association with the tag. If specified, + the value must be one that's specified in the tag's allowed values. + type: string + required: + - id + title: set-tag-with-value + type: object + stage: + description: Describes the current stage of a work item. + properties: + name: + description: Current stage name of the work item. + type: string + required: + - name + title: stage + type: object + stage-init: + description: Sets an object's initial stage. + properties: + name: + description: The name of the stage. + type: string + title: stage-init + type: object + stage-update: + description: Updates an object's stage. + properties: + name: + description: | + The updated name of the stage, otherwise unchanged if not set. + type: string + title: stage-update + type: object + sys-user: + allOf: + - $ref: '#/components/schemas/user-base' + title: sys-user + sys-user-summary: + allOf: + - $ref: '#/components/schemas/user-base-summary' + title: sys-user-summary + sys-users-list-response: + description: The response to listing the system users. + properties: + next_cursor: + description: | + The cursor used to iterate subsequent results in accordance to the + sort order. If not set, then no later elements exist. + type: string + prev_cursor: + description: | + The cursor used to iterate preceding results in accordance to the + sort order. If not set, then no prior elements exist. + type: string + sys_users: + description: The list of system users. + items: + $ref: '#/components/schemas/sys-user' + type: array + required: + - sys_users + title: sys-users-list-response + type: object + x-go-name: SysUsersListResponseBody + sys-users-update-request: + description: Request to update information of the system user. + properties: + display_name: + description: Updated display name for the system user. + type: string + display_picture: + description: Artifact ID of the system user's new display picture. + example: don::core:devo/:artifact/ + nullable: true + type: string + full_name: + description: Updated full name for the system user. + type: string + id: + description: The ID of system user to update. + type: string + required: + - id + title: sys-users-update-request + type: object + sys-users-update-response: + description: Updated Sys user object. + properties: + sys_user: + $ref: '#/components/schemas/sys-user' + required: + - sys_user + title: sys-users-update-response + type: object + x-go-name: SysUsersUpdateResponseBody + ticket-severity: + description: Severity of the ticket. + enum: + - blocker + - high + - low + - medium + type: string + ticket-summary: + allOf: + - $ref: '#/components/schemas/work-base-summary' + - properties: + rev_org: + $ref: '#/components/schemas/org-summary' + severity: + $ref: '#/components/schemas/ticket-severity' + type: object + title: ticket-summary + timeline-comment: + allOf: + - $ref: '#/components/schemas/timeline-entry-base' + - properties: + artifacts: + description: The artifacts for the comment. + items: + $ref: '#/components/schemas/artifact-summary' + type: array + body: + description: | + The comment's body. If the comment has been deleted, then no body + will appear in the response. + type: string + body_type: + $ref: '#/components/schemas/timeline-comment-body-type' + snap_kit_body: + description: The SnapKit Body of the comment. + type: object + type: object + title: timeline-comment + timeline-comment-body-type: + description: The type of the body to use for the comment. + enum: + - snap_kit + - text + type: string + timeline-entry: + discriminator: + mapping: + timeline_comment: '#/components/schemas/timeline-comment' + propertyName: type + oneOf: + - $ref: '#/components/schemas/timeline-comment' + properties: + type: + $ref: '#/components/schemas/timeline-entry-type' + required: + - type + title: timeline-entry + type: object + timeline-entry-base: + allOf: + - $ref: '#/components/schemas/atom-base' + title: timeline-entry-base + timeline-entry-type: + enum: + - timeline_comment + type: string + unlink-rev-user-from-rev-org-request: + description: A request to unlink a rev user from a rev org. + properties: + rev_org_don: + description: The don of the rev org to unlink the rev user from. + example: don::identity:devo/:revo/ + type: string + user_don: + description: The don of the rev user to unlink. + type: string + required: + - rev_org_don + - user_don + title: unlink-rev-user-from-rev-org-request + type: object + unlink-rev-user-from-rev-org-response: + description: The response to unlink a rev user from a rev org. + properties: + rev_user: + $ref: '#/components/schemas/rev-user' + required: + - rev_user + title: unlink-rev-user-from-rev-org-response + type: object + x-go-name: UnlinkRevUserFromRevOrgResponseBody + user-base: + allOf: + - $ref: '#/components/schemas/atom-base' + - properties: + display_name: + description: | + The user's display name. The name is non-unique and mutable. + type: string + display_picture: + $ref: '#/components/schemas/artifact-summary' + email: + description: Email address of the user. + type: string + full_name: + description: Full name of the user. + type: string + phone_numbers: + description: Phone numbers of the user. + items: + type: string + type: array + state: + $ref: '#/components/schemas/user-state' + type: object + title: user-base + user-base-summary: + allOf: + - $ref: '#/components/schemas/atom-base-summary' + - properties: + display_name: + description: | + The user's display name. The name is non-unique and mutable. + type: string + display_picture: + $ref: '#/components/schemas/artifact-summary' + email: + description: Email address of the user. + type: string + full_name: + description: Full name of the user. + type: string + state: + $ref: '#/components/schemas/user-state' + type: object + title: user-base-summary + user-state: + description: State of the user. + enum: + - active + - deactivated + - locked + - shadow + - unassigned + type: string + user-summary: + discriminator: + mapping: + dev_user: '#/components/schemas/dev-user-summary' + rev_user: '#/components/schemas/rev-user-summary' + sys_user: '#/components/schemas/sys-user-summary' + propertyName: type + oneOf: + - $ref: '#/components/schemas/dev-user-summary' + - $ref: '#/components/schemas/rev-user-summary' + - $ref: '#/components/schemas/sys-user-summary' + properties: + type: + $ref: '#/components/schemas/user-type' + required: + - type + title: user-summary + type: object + user-type: + enum: + - dev_user + - rev_user + - sys_user + type: string + work-base-summary: + allOf: + - $ref: '#/components/schemas/atom-base-summary' + - properties: + title: + description: Title of the work object. + type: string + required: + - title + type: object + title: work-base-summary + securitySchemes: + auth-token: + description: |- + All the DevRev APIs require a token to authenticate the user. Provide `Authorization: ` as a header to every API request. + [How do I find my token?](https://devrev.ai/docs/apis/auth) + in: header + name: Authorization + type: apiKey +info: + description: DevRev's BETA REST API Specification. + title: DevRev Beta REST API + version: BETA +openapi: 3.0.3 +paths: + /conversations.create: + post: + description: Creates a conversation. + operationId: conversations-create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/conversations-create-request' + responses: + "201": + content: + application/json: + schema: + $ref: '#/components/schemas/conversations-create-response' + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - conversations + /conversations.delete: + post: + description: Deletes the requested conversation. + operationId: conversations-delete + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/conversations-delete-request' + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/conversations-delete-response' + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "404": + $ref: '#/components/responses/not-found' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - conversations + /conversations.export: + get: + description: Exports a collection of conversation items. + operationId: conversations-export + parameters: + - description: | + Filters for conversations belonging to any of the provided parts. + explode: false + in: query + name: applies_to_parts + schema: + example: + - don::core:devo/:/ + items: + type: string + type: array + - description: | + The number of conversation items to return. The default is '50', the + maximum is '5000'. + explode: false + in: query + name: first + schema: + format: int32 + type: integer + - description: | + Filters for conversations where these users are participants. + explode: false + in: query + name: members + schema: + example: + - don::identity:devo/:devu/ + items: + type: string + type: array + - description: Filters for conversations owned by any of these users. + explode: false + in: query + name: owned_by + schema: + example: + - don::identity:devo/:devu/ + items: + type: string + type: array + - description: | + Filters for conversations that are associated with any of the + provided Rev organizations. + explode: false + in: query + name: rev_org + schema: + example: + - don::identity:devo/:revo/ + items: + type: string + type: array + - description: | + Filters for conversations with any of the provided source channels. + explode: false + in: query + name: source_channels + schema: + items: + type: string + type: array + - description: Filters for records in the provided stage(s). + explode: false + in: query + name: stage.name + schema: + items: + type: string + type: array + - description: Filters for conversations with any of the provided tags. + explode: false + in: query + name: tags + schema: + example: + - don::core:devo/:tag/ + items: + type: string + type: array + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/conversations-export-response' + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - conversations + /conversations.get: + get: + description: Gets the requested conversation's information. + operationId: conversations-get + parameters: + - description: The requested conversation's ID. + explode: false + in: query + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/conversations-get-response' + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "404": + $ref: '#/components/responses/not-found' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - conversations + /conversations.list: + get: + description: Lists the available conversations. + operationId: conversations-list + parameters: + - description: | + Filters for conversations belonging to any of the provided parts. + explode: false + in: query + name: applies_to_parts + schema: + example: + - don::core:devo/:/ + items: + type: string + type: array + - description: | + The cursor to resume iteration from. If not provided, then iteration + starts from the beginning. + explode: false + in: query + name: cursor + schema: + type: string + - description: | + The maximum number of conversations to return. The default is '50'. + explode: false + in: query + name: limit + schema: + format: int32 + type: integer + - description: | + Filters for conversations where these users are participants. + explode: false + in: query + name: members + schema: + example: + - don::identity:devo/:devu/ + items: + type: string + type: array + - description: | + The iteration mode to use, otherwise if not set, then "after" is + used. + explode: false + in: query + name: mode + schema: + $ref: '#/components/schemas/list-mode' + - description: Filters for conversations owned by any of these users. + explode: false + in: query + name: owned_by + schema: + example: + - don::identity:devo/:devu/ + items: + type: string + type: array + - description: | + Filters for conversations that are associated with any of the + provided Rev organizations. + explode: false + in: query + name: rev_org + schema: + example: + - don::identity:devo/:revo/ + items: + type: string + type: array + - description: | + Filters for conversations with any of the provided source channels. + explode: false + in: query + name: source_channels + schema: + items: + type: string + type: array + - description: Filters for records in the provided stage(s). + explode: false + in: query + name: stage.name + schema: + items: + type: string + type: array + - description: Filters for conversations with any of the provided tags. + explode: false + in: query + name: tags + schema: + example: + - don::core:devo/:tag/ + items: + type: string + type: array + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/conversations-list-response' + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - conversations + /conversations.update: + post: + description: Updates the requested conversation. + operationId: conversations-update + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/conversations-update-request' + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/conversations-update-response' + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "404": + $ref: '#/components/responses/not-found' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - conversations + /links.create: + post: + description: | + Creates a link between two objects to indicate a relationship. + operationId: links-create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/links-create-request' + responses: + "201": + content: + application/json: + schema: + $ref: '#/components/schemas/links-create-response' + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - links + /links.delete: + post: + description: Deletes a link. + operationId: links-delete + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/links-delete-request' + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/links-delete-response' + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "404": + $ref: '#/components/responses/not-found' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - links + /links.get: + get: + description: Gets the requested link's information. + operationId: links-get + parameters: + - description: The requested link's ID. + explode: false + in: query + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/links-get-response' + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "404": + $ref: '#/components/responses/not-found' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - links + /links.list: + get: + description: Lists the available links. + operationId: links-list + parameters: + - description: The ID of the object to list the links for. + explode: false + in: query + name: object + required: true + schema: + type: string + - description: | + The cursor to resume iteration from. If not provided, then iteration + starts from the beginning. + explode: false + in: query + name: cursor + schema: + type: string + - description: | + The direction of the links to list, otherwise if not present, then + links in both directions (source and target) are included. + explode: false + in: query + name: direction + schema: + $ref: '#/components/schemas/links-direction' + - description: | + The maximum number of links to return. If not set, then the default + is '50'. + explode: false + in: query + name: limit + schema: + format: int32 + type: integer + - description: | + The link type(s) to filter for, otherwise if not present, all link + types are included. + explode: false + in: query + name: link_type + schema: + items: + $ref: '#/components/schemas/link-type' + type: array + - description: | + The iteration mode to use, otherwise if not set, then "after" is + used. + explode: false + in: query + name: mode + schema: + $ref: '#/components/schemas/list-mode' + - description: | + The link types to filter for, otherwise if not present, all link + types are included. + explode: false + in: query + name: types + schema: + deprecated: true + items: + $ref: '#/components/schemas/link-type' + type: array + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/links-list-response' + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - links + /rev-users.create: + post: + description: | + Creates a Rev user for a Rev organization. Rev user can be a customer + or a lead of an organization. + operationId: rev-users-create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/rev-users-create-request' + responses: + "201": + content: + application/json: + schema: + $ref: '#/components/schemas/rev-users-create-response' + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - rev-users + /rev-users.delete: + post: + description: Deletes a Rev user. + operationId: rev-users-delete + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/rev-users-delete-request' + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/rev-users-delete-response' + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "404": + $ref: '#/components/responses/not-found' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - rev-users + /rev-users.get: + get: + description: Returns the Rev user of a Rev organization by its ID. + operationId: rev-users-get + parameters: + - description: The ID of Rev user to be retrieved. + explode: false + in: query + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/rev-users-get-response' + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "404": + $ref: '#/components/responses/not-found' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - rev-users + /rev-users.link: + post: + description: Links a rev user to a rev org. + operationId: link-rev-user-to-rev-org + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/link-rev-user-to-rev-org-request' + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/link-rev-user-to-rev-org-response' + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "404": + $ref: '#/components/responses/not-found' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - rev-users + /rev-users.list: + get: + description: | + Returns a list of all Rev Users belonging to the authenticated user's + Dev Organization. + operationId: rev-users-list + parameters: + - description: | + Filters for Rev users that were created by the specified user(s). + explode: false + in: query + name: created_by + schema: + items: + type: string + type: array + - description: | + Filters for objects created after the provided timestamp (inclusive). + explode: false + in: query + name: created_date.after + schema: + format: date-time + type: string + - description: | + Filters for objects created before the provided timestamp + (inclusive). + explode: false + in: query + name: created_date.before + schema: + format: date-time + type: string + - description: | + The cursor to resume iteration from. If not provided, then iteration + starts from the beginning. + explode: false + in: query + name: cursor + schema: + type: string + - description: List of emails of Rev users to be filtered. + explode: false + in: query + name: email + schema: + items: + type: string + type: array + - description: List of external refs to filter Rev users for. + explode: false + in: query + name: external_ref + schema: + items: + type: string + type: array + - description: | + The maximum number of Rev users to return. The default is '50'. + explode: false + in: query + name: limit + schema: + format: int32 + type: integer + - description: | + The iteration mode to use, otherwise if not set, then "after" is + used. + explode: false + in: query + name: mode + schema: + $ref: '#/components/schemas/list-mode' + - description: | + Filters for objects created after the provided timestamp (inclusive). + explode: false + in: query + name: modified_date.after + schema: + format: date-time + type: string + - description: | + Filters for objects created before the provided timestamp + (inclusive). + explode: false + in: query + name: modified_date.before + schema: + format: date-time + type: string + - description: List of IDs of Rev organizations to be filtered. + explode: false + in: query + name: rev_org + schema: + example: + - don::identity:devo/:revo/ + items: + type: string + type: array + - description: | + Fields to sort the Rev users by and the direction to sort them. + explode: false + in: query + name: sort_by + schema: + items: + type: string + type: array + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/rev-users-list-response' + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "404": + $ref: '#/components/responses/not-found' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - rev-users + /rev-users.unlink: + post: + description: Unlinks a rev user from a rev org. + operationId: unlink-rev-user-from-rev-org + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/unlink-rev-user-from-rev-org-request' + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/unlink-rev-user-from-rev-org-response' + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "404": + $ref: '#/components/responses/not-found' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - rev-users + /rev-users.update: + post: + description: Updates a Rev user. + operationId: rev-users-update + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/rev-users-update-request' + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/rev-users-update-response' + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "404": + $ref: '#/components/responses/not-found' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - rev-users + /sys-users.list: + get: + description: Lists system users within your organization. + operationId: sys-users-list + parameters: + - description: | + The cursor to resume iteration from. If not provided, then iteration + starts from the beginning. + explode: false + in: query + name: cursor + schema: + type: string + - description: | + The maximum number of system users to return. Value can range from + '1' to '100', with a default of '50'. + explode: false + in: query + name: limit + schema: + format: int32 + type: integer + - description: | + The iteration mode to use, otherwise if not set, then "after" is + used. + explode: false + in: query + name: mode + schema: + $ref: '#/components/schemas/list-mode' + - description: | + Fields to sort the system users by and the direction to sort them. + explode: false + in: query + name: sort_by + schema: + items: + type: string + type: array + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/sys-users-list-response' + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - sys-users + /sys-users.update: + post: + description: Updates the system user. + operationId: sys-users-update + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/sys-users-update-request' + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/sys-users-update-response' + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "404": + $ref: '#/components/responses/not-found' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - sys-users +security: +- auth-token: [] +servers: +- description: DevRev API endpoint. + url: '{protocol}://{hostname}' + variables: + hostname: + default: api.devrev.ai + description: API hostname. + protocol: + default: https + description: API protocol. +tags: +- description: DevRev conversation interaction. + name: conversations +- description: DevRev link interactions. + name: links +- description: Rev user interactions. + name: rev-users +- description: System user interactions + name: sys-users diff --git a/fern/fern.config.json b/fern/fern.config.json new file mode 100644 index 00000000..b1f6a8bd --- /dev/null +++ b/fern/fern.config.json @@ -0,0 +1,4 @@ +{ + "organization": "devrev", + "version": "0.8.4" +} \ No newline at end of file diff --git a/fern/public/definition/api.yml b/fern/public/definition/api.yml new file mode 100644 index 00000000..9622590d --- /dev/null +++ b/fern/public/definition/api.yml @@ -0,0 +1,13 @@ +name: api +display-name: DevRev REST API +error-discrimination: + strategy: status-code +auth: auth-token +auth-schemes: + auth-token: + header: Authorization + name: apiKey + type: string +default-environment: Production +environments: + Production: https://api.devrev.ai diff --git a/fern/public/generators.yml b/fern/public/generators.yml new file mode 100644 index 00000000..b0589a53 --- /dev/null +++ b/fern/public/generators.yml @@ -0,0 +1,13 @@ +groups: + sdks: + generators: + - name: fernapi/fern-typescript-sdk + version: 0.5.17 + output: + location: npm + package-name: "@fern-api/devrev" + token: ${FERN_NPM_TOKEN} + github: + repository: fern-devrev/devrev-node + config: + namespaceExport: DevRev \ No newline at end of file diff --git a/fern/public/openapi/openapi.yaml b/fern/public/openapi/openapi.yaml new file mode 100644 index 00000000..a5cca822 --- /dev/null +++ b/fern/public/openapi/openapi.yaml @@ -0,0 +1,4891 @@ +components: + responses: + bad-request: + content: + application/json: + schema: + $ref: '#/components/schemas/error-bad-request' + description: 400 Bad Request. + forbidden: + content: + application/json: + schema: + $ref: '#/components/schemas/error-forbidden' + description: 403 Forbidden. + internal-server-error: + content: + application/json: + schema: + $ref: '#/components/schemas/error-internal-server-error' + description: 500 Internal Server Error. + not-found: + content: + application/json: + schema: + $ref: '#/components/schemas/error-not-found' + description: 404 Not Found. + service-unavailable: + content: + application/json: + schema: + $ref: '#/components/schemas/error-service-unavailable' + description: 503 Service Unavailable. + too-many-requests: + content: + application/json: + schema: + $ref: '#/components/schemas/error-too-many-requests' + description: 429 Too Many Requests. + headers: + Retry-After: + schema: + description: Number of seconds to wait before retrying. + type: number + unauthorized: + content: + application/json: + schema: + $ref: '#/components/schemas/error-unauthorized' + description: 401 Unauthorized. + schemas: + artifact-summary: + allOf: + - $ref: '#/components/schemas/atom-base-summary' + title: artifact-summary + artifacts-locate-response: + description: The response to getting an artifact's download URL. + properties: + expires_at: + description: The expiration timestamp of the URL. + format: date-time + type: string + url: + description: The artifact's download URL. + type: string + required: + - url + title: artifacts-locate-response + type: object + x-go-name: ArtifactsLocateResponseBody + artifacts-prepare-request: + description: The request to prepare a URL to upload a file. + properties: + file_name: + description: The name of the file that's being uploaded. + type: string + required: + - file_name + title: artifacts-prepare-request + type: object + artifacts-prepare-response: + description: The response to preparing a URL to upload a file. + properties: + form_data: + description: The POST policy form data. + items: + $ref: '#/components/schemas/artifacts-prepare-response-form-data' + type: array + id: + description: The generated artifact's ID. + example: don::core:devo/:artifact/ + type: string + url: + description: The URL that the file's data should be uploaded to. + type: string + required: + - form_data + - id + - url + title: artifacts-prepare-response + type: object + x-go-name: ArtifactsPrepareResponseBody + artifacts-prepare-response-form-data: + properties: + key: + description: Key of the form field. + type: string + value: + description: Value corresponding to the key. + type: string + required: + - key + - value + title: artifacts-prepare-response-form-data + type: object + atom-base: + properties: + created_by: + $ref: '#/components/schemas/user-summary' + created_date: + description: Timestamp when the object was created. + format: date-time + type: string + display_id: + description: Human-readable object ID unique to the Dev organization. + type: string + id: + description: Globally unique object ID. + type: string + modified_by: + $ref: '#/components/schemas/user-summary' + modified_date: + description: Timestamp when the object was last modified. + format: date-time + type: string + required: + - id + title: atom-base + type: object + atom-base-summary: + properties: + display_id: + description: Human-readable object ID unique to the Dev organization. + type: string + id: + description: Globally unique object ID. + type: string + required: + - id + title: atom-base-summary + type: object + auth-connection: + description: | + Connection object that specifies the configuration for an + authentication connection that is set up for a Dev organization. + discriminator: + mapping: + google_apps: '#/components/schemas/auth-connection-options-google-apps' + oidc: '#/components/schemas/auth-connection-options-oidc' + samlp: '#/components/schemas/auth-connection-options-saml' + social: '#/components/schemas/auth-connection-options-social' + waad: '#/components/schemas/auth-connection-options-azure-ad' + propertyName: type + oneOf: + - $ref: '#/components/schemas/auth-connection-options-azure-ad' + - $ref: '#/components/schemas/auth-connection-options-google-apps' + - $ref: '#/components/schemas/auth-connection-options-oidc' + - $ref: '#/components/schemas/auth-connection-options-saml' + - $ref: '#/components/schemas/auth-connection-options-social' + properties: + display_name: + description: | + Display name of the authentication connection. This name will be + visible to all the users when they sign in to this Dev + organization. For example, if the display_name is 'abclogin', then + it would appear on the login button as 'Log in to abclogin'. + type: string + enabled: + description: | + Whether the authentication connection is enabled or disabled. If + set to false, the authentication connection will not show up on the + login screen as a login option. + type: boolean + id: + description: ID of the authentication connection. + type: string + type: + $ref: '#/components/schemas/auth-connection-type' + required: + - id + - type + title: auth-connection + type: object + auth-connection-options-azure-ad: + description: | + Object encapsulating the configuration parameters for an Azure AD + authentication connection. + properties: + client_id: + description: Client ID for the Azure authentication connection. + type: string + client_secret: + description: Client secret for the Azure authentication connection. + type: string + domain: + description: Domain URL of the Azure authentication connection. + type: string + title: auth-connection-options-azure-ad + type: object + auth-connection-options-google-apps: + description: | + Object encapsulating the configuration parameters for a Google Apps + authentication connection. + properties: + client_id: + description: Client ID for the Google Apps authentication connection. + type: string + client_secret: + description: | + Client secret for the Google Apps authentication connection. + type: string + tenant_domain: + description: | + Tenant domain URL of the Google Apps authentication connection. + type: string + title: auth-connection-options-google-apps + type: object + auth-connection-options-oidc: + description: | + Object encapsulating the configuration parameters for an OIDC + authentication connection. + properties: + client_id: + description: Client ID for the OIDC authentication connection. + type: string + client_secret: + description: Client secret for the OIDC authentication connection. + type: string + issuer: + description: Issuer URL of the OIDC authentication connection. + type: string + title: auth-connection-options-oidc + type: object + auth-connection-options-saml: + description: | + Object encapsulating the configuration parameters for a SAML + authentication connection. + properties: + sign_in_endpoint: + description: Sign In endpoint for the SAML authentication connection. + type: string + signing_cert: + description: | + Signing certificate for the SAML authentication connection. + type: string + title: auth-connection-options-saml + type: object + auth-connection-options-social: + title: auth-connection-options-social + type: object + auth-connection-toggle: + enum: + - disable + - enable + type: string + auth-connection-type: + description: | + Defines the type for the authentication connection. The configuration + for each authentication connection will depend on the type value. + enum: + - google_apps + - oidc + - samlp + - social + - waad + type: string + auth-token: + allOf: + - $ref: '#/components/schemas/atom-base' + - properties: + client_id: + description: | + An identifier that represents the application that requested the + token. Only applicable for application access tokens. + type: string + expires_at: + description: The time at which the token expires. + format: date-time + type: string + issued_at: + description: The time at which the token was issued. + format: date-time + type: string + requested_token_type: + $ref: '#/components/schemas/auth-token-requested-token-type' + scopes: + description: The scopes associated with the issued token. + items: + type: string + type: array + status: + $ref: '#/components/schemas/auth-token-status' + subject: + description: The subject of the token. + type: string + token_hint: + description: A hint that identifies the token. + type: string + type: object + title: auth-token + auth-token-grant-type: + description: Specifies the process of obtaining a token. + enum: + - urn:devrev:params:oauth:grant-type:token-issue + - urn:ietf:params:oauth:grant-type:token-exchange + type: string + auth-token-requested-token-type: + description: The type of the requested token. + enum: + - urn:devrev:params:oauth:token-type:aat + - urn:devrev:params:oauth:token-type:aat:public + - urn:devrev:params:oauth:token-type:dev + - urn:devrev:params:oauth:token-type:pat + - urn:devrev:params:oauth:token-type:rev + - urn:devrev:params:oauth:token-type:session + - urn:devrev:params:oauth:token-type:session:dev0 + - urn:devrev:params:oauth:token-type:sys + - urn:ietf:params:oauth:token-type:jwt + type: string + auth-token-status: + description: The status of the token. + enum: + - active + - expired + - revoked + type: string + auth-token-subject-token-type: + description: The type of the subject token. + enum: + - urn:devrev:params:oauth:token-type:jwt:auth0 + - urn:devrev:params:oauth:token-type:jwt:dev + - urn:devrev:params:oauth:token-type:revinfo + - urn:devrev:params:oauth:token-type:sysu + - urn:devrev:params:oauth:token-type:userinfo + - urn:devrev:params:oauth:token-type:userinfo:profile + - urn:ietf:params:oauth:token-type:jwt + type: string + auth-token-token-type: + description: | + The type of the issued token. Bearer is the only supported token type. + enum: + - bearer + type: string + auth-tokens-create-request: + description: | + A request to create a new token corresponding to the requested token + type. + properties: + aud: + description: The expected audience values with respect to the token. + items: + type: string + type: array + client_id: + description: | + An identifier that represents the application which is requesting + the token. If no client_id is present in the request to generate an + application access token (AAT), DevRev will generate a client_id. + This client_id is only associated with an AAT. + type: string + expires_in: + description: | + The expected validity lifetime of the token in number of days. + format: int64 + type: integer + grant_type: + $ref: '#/components/schemas/auth-token-grant-type' + requested_token_type: + $ref: '#/components/schemas/auth-token-requested-token-type' + rev_info: + $ref: '#/components/schemas/auth-tokens-rev-info' + scope: + description: | + The requested set of scopes associated with the issued token. A + space-delimited list of values in which the order of values does + not matter. + type: string + subject_token: + description: | + Represents the entity that requests the token. Not required when + requesting an application access token (AAT). + type: string + subject_token_type: + $ref: '#/components/schemas/auth-token-subject-token-type' + token_hint: + description: A hint that identifies the token. + type: string + title: auth-tokens-create-request + type: object + auth-tokens-create-response: + description: | + Response for the request to create a new token corresponding to the + requested token type. + properties: + access_token: + description: | + The issued JSON Web Token (JWT) corresponding to the requested + token type. + type: string + client_id: + description: | + An identifier that represents the application which is requesting + the token. Only present in a response corresponding to an + application access token (AAT). + type: string + expires_in: + description: | + The validity lifetime of the token specified in seconds since Unix + epoch. + format: int64 + type: integer + refresh_token: + description: A token to refresh the issued token. + type: string + scope: + description: | + The scopes associated with the issued token. A space-delimited list + of values in which the order of values does not matter. + type: string + token_type: + $ref: '#/components/schemas/auth-token-token-type' + required: + - access_token + - expires_in + - token_type + title: auth-tokens-create-response + type: object + x-go-name: AuthTokensCreateResponseBody + auth-tokens-delete-request: + description: The request to revoke the token. + properties: + token_id: + description: | + The unique identifier for the token under a given Dev organization. + If no token ID is provided, then the token ID will be set from the + JTI claim of the token in the authorization header. + type: string + title: auth-tokens-delete-request + type: object + auth-tokens-get-response: + description: The response to get the token metadata. + properties: + token: + $ref: '#/components/schemas/auth-token' + required: + - token + title: auth-tokens-get-response + type: object + x-go-name: AuthTokensGetResponseBody + auth-tokens-list-response: + description: The response to list the token metadata. + properties: + tokens: + description: The list of token metadata. + items: + $ref: '#/components/schemas/auth-token' + type: array + required: + - tokens + title: auth-tokens-list-response + type: object + x-go-name: AuthTokensListResponseBody + auth-tokens-org-traits: + description: Carries Rev org info. + properties: + display_name: + description: The display name of the Rev org. + type: string + domain: + description: The domain of the Rev org. + type: string + title: auth-tokens-org-traits + type: object + auth-tokens-rev-info: + description: | + Carries info corresponding to the Rev user to be provisioned and/or + issue a Rev session token. + properties: + org_ref: + description: An identifier which uniquely identifies a Rev org. + type: string + org_traits: + $ref: '#/components/schemas/auth-tokens-org-traits' + rev_user_id: + description: The unique ID of the Rev user. + type: string + user_ref: + description: An identifier which uniquely identifies a Rev user. + type: string + user_traits: + $ref: '#/components/schemas/auth-tokens-user-traits' + required: + - user_ref + title: auth-tokens-rev-info + type: object + auth-tokens-self-delete-request: + description: | + The request to delete all the tokens created by the authenticated user, + that match with the provided token type. + properties: + requested_token_type: + $ref: '#/components/schemas/auth-token-requested-token-type' + title: auth-tokens-self-delete-request + type: object + auth-tokens-update-request: + description: A request to update the token metadata. + properties: + token_hint: + description: A hint that identifies the token. + type: string + token_id: + description: | + The unique identifier of the token under a given Dev organization. + type: string + required: + - token_hint + - token_id + title: auth-tokens-update-request + type: object + auth-tokens-update-response: + description: Response for the request to update the token metadata. + properties: + token: + $ref: '#/components/schemas/auth-token' + required: + - token + title: auth-tokens-update-response + type: object + x-go-name: AuthTokensUpdateResponseBody + auth-tokens-user-traits: + description: Carries Rev user info. + properties: + display_name: + description: The display name of the Rev user. + type: string + email: + description: The email address of the Rev user. + type: string + full_name: + description: The full name of the Rev user. + type: string + title: auth-tokens-user-traits + type: object + capability: + allOf: + - $ref: '#/components/schemas/part-base' + title: capability + capability-summary: + allOf: + - $ref: '#/components/schemas/part-base-summary' + title: capability-summary + dev-org-auth-connections-create-request: + description: | + Request to create a new enterprise authentication connection. + discriminator: + mapping: + google_apps: '#/components/schemas/auth-connection-options-google-apps' + oidc: '#/components/schemas/auth-connection-options-oidc' + samlp: '#/components/schemas/auth-connection-options-saml' + waad: '#/components/schemas/auth-connection-options-azure-ad' + propertyName: type + oneOf: + - $ref: '#/components/schemas/auth-connection-options-azure-ad' + - $ref: '#/components/schemas/auth-connection-options-google-apps' + - $ref: '#/components/schemas/auth-connection-options-oidc' + - $ref: '#/components/schemas/auth-connection-options-saml' + properties: + display_name: + description: | + Display name of the authentication connection. This name will be + visible to all the users when they sign in to this Dev + organization. For example, if the display_name is 'abclogin', then + it would appear on the login button as 'Log in to abclogin'. + type: string + type: + $ref: '#/components/schemas/dev-org-auth-connections-create-request-type' + required: + - type + title: dev-org-auth-connections-create-request + type: object + dev-org-auth-connections-create-request-type: + description: | + Defines the type for the authentication connection. Different types of + authentication connections have different configuration parameters. + enum: + - google_apps + - oidc + - samlp + - waad + type: string + dev-org-auth-connections-create-response: + description: | + Response for the request to create a new enterprise authentication + connection. + properties: + auth_connection: + $ref: '#/components/schemas/auth-connection' + required: + - auth_connection + title: dev-org-auth-connections-create-response + type: object + x-go-name: DevOrgAuthConnectionsCreateResponseBody + dev-org-auth-connections-delete-request: + description: | + Request to delete an enterprise authentication connection for a Dev + organization. A default connection and a connection which is currently + enabled cannot be deleted. + properties: + id: + description: ID of the authentication connection to be deleted. + type: string + required: + - id + title: dev-org-auth-connections-delete-request + type: object + dev-org-auth-connections-get-response: + description: | + Response object encapsulating the configuration details of an + authentication connection. + properties: + auth_connection: + $ref: '#/components/schemas/auth-connection' + required: + - auth_connection + title: dev-org-auth-connections-get-response + type: object + x-go-name: DevOrgAuthConnectionsGetResponseBody + dev-org-auth-connections-list-response: + description: | + Response object for the request to list all the social and enterprise + authentication connections configured for a Dev organization. + properties: + auth_connections: + description: | + List of all the authentication connections currently configured for + a Dev organization. + items: + $ref: '#/components/schemas/auth-connection' + type: array + required: + - auth_connections + title: dev-org-auth-connections-list-response + type: object + x-go-name: DevOrgAuthConnectionsListResponseBody + dev-org-auth-connections-toggle-request: + description: | + Request to enable or disable an authentication connection for a Dev + organization. + properties: + id: + description: ID of the authentication connection to be toggled. + type: string + toggle: + $ref: '#/components/schemas/auth-connection-toggle' + required: + - id + title: dev-org-auth-connections-toggle-request + type: object + dev-org-auth-connections-update-request: + description: | + Request to update an enterprise authentication connection for a Dev + organization. + discriminator: + mapping: + google_apps: '#/components/schemas/auth-connection-options-google-apps' + none: '#/components/schemas/empty' + oidc: '#/components/schemas/auth-connection-options-oidc' + samlp: '#/components/schemas/auth-connection-options-saml' + waad: '#/components/schemas/auth-connection-options-azure-ad' + propertyName: type + oneOf: + - $ref: '#/components/schemas/auth-connection-options-azure-ad' + - $ref: '#/components/schemas/auth-connection-options-google-apps' + - $ref: '#/components/schemas/auth-connection-options-oidc' + - $ref: '#/components/schemas/auth-connection-options-saml' + properties: + display_name: + description: | + New display name of the authentication connection. This name will + be visible to all the users when they sign in to this Dev + organization. For example, if the display_name is 'abclogin', then + it would appear on the login button as 'Log in to abclogin'. + type: string + id: + description: | + ID of the authentication connection which is to be updated. + type: string + type: + $ref: '#/components/schemas/dev-org-auth-connections-update-request-type' + required: + - id + - type + title: dev-org-auth-connections-update-request + type: object + dev-org-auth-connections-update-request-type: + description: | + Specifies the type for the authentication connection. Different types + of authentication connections have different configuration parameters + that can be updated. + enum: + - google_apps + - none + - oidc + - samlp + - waad + type: string + dev-org-auth-connections-update-response: + description: | + Response for the request to update an enterprise authentication + connection. + properties: + auth_connection: + $ref: '#/components/schemas/auth-connection' + required: + - auth_connection + title: dev-org-auth-connections-update-response + type: object + x-go-name: DevOrgAuthConnectionsUpdateResponseBody + dev-user: + allOf: + - $ref: '#/components/schemas/user-base' + - properties: + external_identities: + description: IDs of the Dev User outside the DevRev SOR. + items: + $ref: '#/components/schemas/external-identity' + type: array + type: object + title: dev-user + dev-user-summary: + allOf: + - $ref: '#/components/schemas/user-base-summary' + title: dev-user-summary + dev-users-list-response: + description: The response to listing the Dev users. + properties: + dev_users: + description: The list of Dev users. + items: + $ref: '#/components/schemas/dev-user' + type: array + next_cursor: + description: | + The cursor used to iterate subsequent results in accordance to the + sort order. If not set, then no later elements exist. + type: string + prev_cursor: + description: | + The cursor used to iterate preceding results in accordance to the + sort order. If not set, then no prior elements exist. + type: string + required: + - dev_users + title: dev-users-list-response + type: object + x-go-name: DevUsersListResponseBody + dev-users-self-response: + description: | + The response to getting the information for the authenticated user. + properties: + dev_user: + $ref: '#/components/schemas/dev-user' + required: + - dev_user + title: dev-users-self-response + type: object + x-go-name: DevUsersSelfResponseBody + empty: + title: empty + type: object + enhancement: + allOf: + - $ref: '#/components/schemas/part-base' + - properties: + target_close_date: + description: Timestamp when the enhancement is expected to be closed. + format: date-time + type: string + type: object + title: enhancement + enhancement-summary: + allOf: + - $ref: '#/components/schemas/part-base-summary' + title: enhancement-summary + error-bad-request: + allOf: + - $ref: '#/components/schemas/error-base' + - discriminator: + mapping: + bad_request: '#/components/schemas/error-bad-request-bad-request' + invalid_enum_value: '#/components/schemas/error-bad-request-invalid-enum-value' + missing_required_field: '#/components/schemas/error-bad-request-missing-required-field' + parse_error: '#/components/schemas/error-bad-request-parse-error' + value_not_permitted: '#/components/schemas/error-bad-request-value-not-permitted' + propertyName: type + oneOf: + - $ref: '#/components/schemas/error-bad-request-bad-request' + - $ref: '#/components/schemas/error-bad-request-invalid-enum-value' + - $ref: '#/components/schemas/error-bad-request-missing-required-field' + - $ref: '#/components/schemas/error-bad-request-parse-error' + - $ref: '#/components/schemas/error-bad-request-value-not-permitted' + properties: + type: + $ref: '#/components/schemas/error-bad-request-type' + required: + - type + type: object + title: error-bad-request + error-bad-request-bad-request: + title: error-bad-request-bad-request + type: object + error-bad-request-invalid-enum-value: + properties: + allowed_values: + description: The allowed values for the field. + items: + type: string + type: array + field_name: + description: The field whose enum value is invalid. + type: string + value: + description: The value that was received. + type: string + required: + - allowed_values + - field_name + - value + title: error-bad-request-invalid-enum-value + type: object + error-bad-request-missing-required-field: + properties: + field_name: + description: The missing field's name. + type: string + required: + - field_name + title: error-bad-request-missing-required-field + type: object + error-bad-request-parse-error: + title: error-bad-request-parse-error + type: object + error-bad-request-type: + enum: + - bad_request + - invalid_enum_value + - missing_required_field + - parse_error + - value_not_permitted + type: string + error-bad-request-value-not-permitted: + properties: + field_name: + description: The field whose value is not permitted. + type: string + reason: + description: The reason the value isn't permitted. + type: string + required: + - field_name + title: error-bad-request-value-not-permitted + type: object + error-base: + properties: + message: + description: The message associated with the error. + type: string + title: error-base + type: object + error-forbidden: + allOf: + - $ref: '#/components/schemas/error-base' + - discriminator: + mapping: + forbidden: '#/components/schemas/error-forbidden-forbidden' + propertyName: type + oneOf: + - $ref: '#/components/schemas/error-forbidden-forbidden' + properties: + type: + $ref: '#/components/schemas/error-forbidden-type' + required: + - type + type: object + title: error-forbidden + error-forbidden-forbidden: + title: error-forbidden-forbidden + type: object + error-forbidden-type: + enum: + - forbidden + type: string + error-internal-server-error: + allOf: + - $ref: '#/components/schemas/error-base' + - discriminator: + mapping: + internal_error: '#/components/schemas/error-internal-server-error-internal-error' + propertyName: type + oneOf: + - $ref: '#/components/schemas/error-internal-server-error-internal-error' + properties: + reference_id: + description: | + A unique ID that's generated for the error that can be used for + inquiry. + type: string + type: + $ref: '#/components/schemas/error-internal-server-error-type' + required: + - type + type: object + title: error-internal-server-error + error-internal-server-error-internal-error: + title: error-internal-server-error-internal-error + type: object + error-internal-server-error-type: + enum: + - internal_error + type: string + error-not-found: + allOf: + - $ref: '#/components/schemas/error-base' + - discriminator: + mapping: + not_found: '#/components/schemas/error-not-found-not-found' + propertyName: type + oneOf: + - $ref: '#/components/schemas/error-not-found-not-found' + properties: + type: + $ref: '#/components/schemas/error-not-found-type' + required: + - type + type: object + title: error-not-found + error-not-found-not-found: + title: error-not-found-not-found + type: object + error-not-found-type: + enum: + - not_found + type: string + error-service-unavailable: + allOf: + - $ref: '#/components/schemas/error-base' + - discriminator: + mapping: + service_unavailable: '#/components/schemas/error-service-unavailable-service-unavailable' + propertyName: type + oneOf: + - $ref: '#/components/schemas/error-service-unavailable-service-unavailable' + properties: + type: + $ref: '#/components/schemas/error-service-unavailable-type' + required: + - type + type: object + title: error-service-unavailable + error-service-unavailable-service-unavailable: + title: error-service-unavailable-service-unavailable + type: object + error-service-unavailable-type: + enum: + - service_unavailable + type: string + error-too-many-requests: + allOf: + - $ref: '#/components/schemas/error-base' + - discriminator: + mapping: + too_many_requests: '#/components/schemas/error-too-many-requests-too-many-requests' + propertyName: type + oneOf: + - $ref: '#/components/schemas/error-too-many-requests-too-many-requests' + properties: + retry_after: + description: | + The number of seconds after which the client should retry. + format: int64 + type: integer + type: + $ref: '#/components/schemas/error-too-many-requests-type' + required: + - type + type: object + title: error-too-many-requests + error-too-many-requests-too-many-requests: + title: error-too-many-requests-too-many-requests + type: object + error-too-many-requests-type: + enum: + - too_many_requests + type: string + error-unauthorized: + allOf: + - $ref: '#/components/schemas/error-base' + - discriminator: + mapping: + unauthenticated: '#/components/schemas/error-unauthorized-unauthenticated' + propertyName: type + oneOf: + - $ref: '#/components/schemas/error-unauthorized-unauthenticated' + properties: + type: + $ref: '#/components/schemas/error-unauthorized-type' + required: + - type + type: object + title: error-unauthorized + error-unauthorized-type: + enum: + - unauthenticated + type: string + error-unauthorized-unauthenticated: + title: error-unauthorized-unauthenticated + type: object + event-part-created: + properties: + part: + $ref: '#/components/schemas/part' + required: + - part + title: event-part-created + type: object + event-part-deleted: + properties: + id: + description: The ID of the part that was deleted. + example: don::core:devo/:/ + type: string + required: + - id + title: event-part-deleted + type: object + event-part-updated: + properties: + part: + $ref: '#/components/schemas/part' + required: + - part + title: event-part-updated + type: object + event-rev-org-created: + properties: + rev_org: + $ref: '#/components/schemas/rev-org' + required: + - rev_org + title: event-rev-org-created + type: object + event-rev-org-deleted: + properties: + id: + description: The ID of the Rev organization that was deleted. + example: don::identity:devo/:revo/ + type: string + required: + - id + title: event-rev-org-deleted + type: object + event-rev-org-updated: + properties: + rev_org: + $ref: '#/components/schemas/rev-org' + required: + - rev_org + title: event-rev-org-updated + type: object + event-tag-created: + properties: + tag: + $ref: '#/components/schemas/tag' + required: + - tag + title: event-tag-created + type: object + event-tag-deleted: + properties: + id: + description: The ID of the tag that was deleted. + example: don::core:devo/:tag/ + type: string + required: + - id + title: event-tag-deleted + type: object + event-tag-updated: + properties: + tag: + $ref: '#/components/schemas/tag' + required: + - tag + title: event-tag-updated + type: object + event-timeline-entry-created: + properties: + entry: + $ref: '#/components/schemas/timeline-entry' + required: + - entry + title: event-timeline-entry-created + type: object + event-timeline-entry-deleted: + properties: + id: + description: The ID of the timeline entry that was deleted. + type: string + required: + - id + title: event-timeline-entry-deleted + type: object + event-timeline-entry-updated: + properties: + entry: + $ref: '#/components/schemas/timeline-entry' + required: + - entry + title: event-timeline-entry-updated + type: object + event-webhook-created: + properties: + webhook: + $ref: '#/components/schemas/webhook' + required: + - webhook + title: event-webhook-created + type: object + event-webhook-deleted: + properties: + id: + description: The ID of the webhook that was deleted. + example: don::integration:devo/:webhook/ + type: string + required: + - id + title: event-webhook-deleted + type: object + event-webhook-updated: + properties: + webhook: + $ref: '#/components/schemas/webhook' + required: + - webhook + title: event-webhook-updated + type: object + event-work-created: + properties: + work: + $ref: '#/components/schemas/work' + required: + - work + title: event-work-created + type: object + event-work-deleted: + properties: + id: + description: The ID of the work that was deleted. + example: don::core:devo/:/ + type: string + required: + - id + title: event-work-deleted + type: object + event-work-updated: + properties: + work: + $ref: '#/components/schemas/work' + required: + - work + title: event-work-updated + type: object + external-identity: + description: External identity of a user. + title: external-identity + type: object + feature: + allOf: + - $ref: '#/components/schemas/part-base' + title: feature + feature-summary: + allOf: + - $ref: '#/components/schemas/part-base-summary' + title: feature-summary + group-summary: + allOf: + - $ref: '#/components/schemas/atom-base-summary' + title: group-summary + issue: + allOf: + - $ref: '#/components/schemas/work-base' + - properties: + priority: + $ref: '#/components/schemas/issue-priority' + type: object + title: issue + issue-priority: + description: Priority of the work based upon impact and criticality. + enum: + - p0 + - p1 + - p2 + - p3 + type: string + list-mode: + description: | + The iteration mode to use. If "after", then entries after the provided + cursor will be returned, or if no cursor is provided, then from the + beginning. If "before", then entries before the provided cursor will be + returned, or if no cursor is provided, then from the end. Entries will + always be returned in the specified sort-by order. + enum: + - after + - before + type: string + org-base: + allOf: + - $ref: '#/components/schemas/atom-base' + - properties: + display_name: + description: Name of the Organization. + type: string + type: object + title: org-base + org-base-summary: + allOf: + - $ref: '#/components/schemas/atom-base-summary' + - properties: + display_name: + description: Name of the Organization. + type: string + type: object + title: org-base-summary + org-environment: + description: | + The environment of the Org. Defaults to 'production' if not specified. + enum: + - production + - staging + - test + type: string + org-summary: + discriminator: + mapping: + rev_org: '#/components/schemas/rev-org-summary' + propertyName: type + oneOf: + - $ref: '#/components/schemas/rev-org-summary' + properties: + type: + $ref: '#/components/schemas/org-type' + required: + - type + title: org-summary + type: object + org-type: + enum: + - rev_org + type: string + part: + discriminator: + mapping: + capability: '#/components/schemas/capability' + enhancement: '#/components/schemas/enhancement' + feature: '#/components/schemas/feature' + product: '#/components/schemas/product' + propertyName: type + oneOf: + - $ref: '#/components/schemas/capability' + - $ref: '#/components/schemas/enhancement' + - $ref: '#/components/schemas/feature' + - $ref: '#/components/schemas/product' + properties: + type: + $ref: '#/components/schemas/part-type' + required: + - type + title: part + type: object + part-base: + allOf: + - $ref: '#/components/schemas/atom-base' + - properties: + artifacts: + description: The attached artifacts. + items: + $ref: '#/components/schemas/artifact-summary' + type: array + description: + description: Description of the part. + type: string + name: + description: Name of the part. + type: string + owned_by: + description: The users that own the part. + items: + $ref: '#/components/schemas/user-summary' + type: array + tags: + description: Tags associated with the object. + items: + $ref: '#/components/schemas/tag-with-value' + type: array + required: + - name + - owned_by + type: object + title: part-base + part-base-summary: + allOf: + - $ref: '#/components/schemas/atom-base-summary' + - properties: + name: + description: Name of the part. + type: string + required: + - name + type: object + title: part-base-summary + part-summary: + discriminator: + mapping: + capability: '#/components/schemas/capability-summary' + enhancement: '#/components/schemas/enhancement-summary' + feature: '#/components/schemas/feature-summary' + product: '#/components/schemas/product-summary' + propertyName: type + oneOf: + - $ref: '#/components/schemas/capability-summary' + - $ref: '#/components/schemas/enhancement-summary' + - $ref: '#/components/schemas/feature-summary' + - $ref: '#/components/schemas/product-summary' + properties: + type: + $ref: '#/components/schemas/part-type' + required: + - type + title: part-summary + type: object + part-type: + enum: + - capability + - enhancement + - feature + - product + type: string + parts-create-request: + discriminator: + mapping: + capability: '#/components/schemas/parts-create-request-capability' + enhancement: '#/components/schemas/parts-create-request-enhancement' + feature: '#/components/schemas/parts-create-request-feature' + product: '#/components/schemas/parts-create-request-product' + propertyName: type + oneOf: + - $ref: '#/components/schemas/parts-create-request-capability' + - $ref: '#/components/schemas/parts-create-request-enhancement' + - $ref: '#/components/schemas/parts-create-request-feature' + - $ref: '#/components/schemas/parts-create-request-product' + properties: + description: + description: Description of the part. + type: string + name: + description: Name of the part. + type: string + owned_by: + description: The users that own the part. + example: + - don::identity:devo/:devu/ + items: + type: string + type: array + type: + $ref: '#/components/schemas/part-type' + required: + - name + - owned_by + - type + title: parts-create-request + type: object + parts-create-request-capability: + properties: + parent_part: + description: ID of the parent product for the capability. + example: + - don::core:devo/:/ + items: + type: string + maxItems: 1 + type: array + required: + - parent_part + title: parts-create-request-capability + type: object + parts-create-request-enhancement: + properties: + parent_part: + description: | + ID of the parent part on which the enhancement is to be created. + example: + - don::core:devo/:/ + items: + type: string + maxItems: 1 + type: array + target_close_date: + description: | + Target close date by which enhancement is expected to be closed. + format: date-time + type: string + required: + - parent_part + title: parts-create-request-enhancement + type: object + parts-create-request-feature: + properties: + parent_part: + description: ID of the parent capability/feature for the feature. + example: + - don::core:devo/:/ + items: + type: string + maxItems: 1 + type: array + required: + - parent_part + title: parts-create-request-feature + type: object + parts-create-request-product: + title: parts-create-request-product + type: object + parts-create-response: + properties: + part: + $ref: '#/components/schemas/part' + required: + - part + title: parts-create-response + type: object + x-go-name: PartsCreateResponseBody + parts-delete-request: + properties: + id: + description: The ID of the part to delete. + example: don::core:devo/:/ + type: string + required: + - id + title: parts-delete-request + type: object + parts-delete-response: + title: parts-delete-response + type: object + x-go-name: PartsDeleteResponseBody + parts-get-response: + properties: + part: + $ref: '#/components/schemas/part' + required: + - part + title: parts-get-response + type: object + x-go-name: PartsGetResponseBody + parts-list-response: + properties: + next_cursor: + description: | + The cursor used to iterate subsequent results in accordance to the + sort order. If not set, then no later elements exist. + type: string + parts: + description: The list of parts. + items: + $ref: '#/components/schemas/part' + type: array + prev_cursor: + description: | + The cursor used to iterate preceding results in accordance to the + sort order. If not set, then no prior elements exist. + type: string + required: + - parts + title: parts-list-response + type: object + x-go-name: PartsListResponseBody + parts-update-request: + discriminator: + mapping: + capability: '#/components/schemas/parts-update-request-capability' + enhancement: '#/components/schemas/parts-update-request-enhancement' + feature: '#/components/schemas/parts-update-request-feature' + none: '#/components/schemas/empty' + product: '#/components/schemas/parts-update-request-product' + propertyName: type + oneOf: + - $ref: '#/components/schemas/parts-update-request-capability' + - $ref: '#/components/schemas/parts-update-request-enhancement' + - $ref: '#/components/schemas/parts-update-request-feature' + - $ref: '#/components/schemas/parts-update-request-product' + properties: + description: + description: The updated description of the part. + type: string + id: + description: The ID of the part to update. + example: don::core:devo/:/ + type: string + name: + description: The updated name of the part. + type: string + owned_by: + $ref: '#/components/schemas/parts-update-request-owned-by' + type: + $ref: '#/components/schemas/part-type' + required: + - id + - type + title: parts-update-request + type: object + parts-update-request-capability: + title: parts-update-request-capability + type: object + parts-update-request-enhancement: + properties: + target_close_date: + description: Updates the target close date of the enhancement. + format: date-time + type: string + title: parts-update-request-enhancement + type: object + parts-update-request-feature: + title: parts-update-request-feature + type: object + parts-update-request-owned-by: + properties: + set: + description: | + Sets the owner IDs to the provided user IDs. This must not be + empty. + example: + - don::identity:devo/:devu/ + items: + type: string + type: array + title: parts-update-request-owned-by + type: object + parts-update-request-product: + title: parts-update-request-product + type: object + parts-update-response: + properties: + part: + $ref: '#/components/schemas/part' + required: + - part + title: parts-update-response + type: object + x-go-name: PartsUpdateResponseBody + product: + allOf: + - $ref: '#/components/schemas/part-base' + title: product + product-summary: + allOf: + - $ref: '#/components/schemas/part-base-summary' + title: product-summary + rev-org: + allOf: + - $ref: '#/components/schemas/org-base' + - properties: + description: + description: Description of the Rev organization. + type: string + domain: + description: Company's domain name. Example - 'devrev.ai'. + type: string + external_ref: + description: | + External ref is a unique identifier for the Rev (customer) + organization from your primary customer system of records. If none + is specified, a system-generated identifier will be assigned to the + organization. + type: string + type: object + title: rev-org + rev-org-summary: + allOf: + - $ref: '#/components/schemas/org-base-summary' + title: rev-org-summary + rev-orgs-create-request: + description: | + Request object to create a new Rev organization in the Dev + organization. + properties: + description: + description: Description of the Rev organization. + type: string + display_name: + description: Name of the Rev organization. + type: string + domain: + description: Company's domain name. Example - 'devrev.ai'. + type: string + environment: + $ref: '#/components/schemas/org-environment' + external_ref: + description: | + External ref is a custom unique identifier which is a reference to + an unique id for this organization's data in some system of + records. + type: string + tier: + description: The tier of the RevOrg. + type: string + required: + - display_name + title: rev-orgs-create-request + type: object + rev-orgs-create-response: + description: | + Response object for request to create a new Rev organization. + properties: + rev_org: + $ref: '#/components/schemas/rev-org' + required: + - rev_org + title: rev-orgs-create-response + type: object + x-go-name: RevOrgsCreateResponseBody + rev-orgs-delete-request: + description: Request object to delete a Rev organization. + properties: + id: + description: The ID of Rev organization to delete. + example: don::identity:devo/:revo/ + type: string + required: + - id + title: rev-orgs-delete-request + type: object + rev-orgs-delete-response: + description: The response to deleting a Rev organization. + title: rev-orgs-delete-response + type: object + x-go-name: RevOrgsDeleteResponseBody + rev-orgs-get-response: + description: The response to getting a Rev organization's information. + properties: + rev_org: + $ref: '#/components/schemas/rev-org' + required: + - rev_org + title: rev-orgs-get-response + type: object + x-go-name: RevOrgsGetResponseBody + rev-orgs-list-response: + description: | + The response to getting a list of Rev organizations' information. + properties: + next_cursor: + description: | + The cursor used to iterate subsequent results in accordance to the + sort order. If not set, then no later elements exist. + type: string + prev_cursor: + description: | + The cursor used to iterate preceding results in accordance to the + sort order. If not set, then no prior elements exist. + type: string + rev_orgs: + description: List with all of the Rev organizations' information. + items: + $ref: '#/components/schemas/rev-org' + type: array + required: + - rev_orgs + title: rev-orgs-list-response + type: object + x-go-name: RevOrgsListResponseBody + rev-orgs-update-request: + description: | + Request object to update information of the Rev organization. + properties: + description: + description: Description of the Rev organization. + type: string + display_name: + description: Customer chosen name for the Rev organization. + type: string + domain: + description: Company's domain name. Example - 'devrev.ai'. + type: string + environment: + $ref: '#/components/schemas/org-environment' + external_ref: + description: | + External ref is a custom unique identifier which is a reference to + an unique id for this organization's data in some system of + records. + type: string + id: + description: The ID of Rev organization to update. + example: don::identity:devo/:revo/ + type: string + tier: + description: The tier of the RevOrg. + type: string + required: + - id + title: rev-orgs-update-request + type: object + rev-orgs-update-response: + description: Response object to updating Rev organization's information. + properties: + rev_org: + $ref: '#/components/schemas/rev-org' + required: + - rev_org + title: rev-orgs-update-response + type: object + x-go-name: RevOrgsUpdateResponseBody + rev-user-summary: + allOf: + - $ref: '#/components/schemas/user-base-summary' + - properties: + external_ref: + description: | + External ref is a mutable unique identifier for a user within the + Rev organization from your primary customer record. If none is + available, a good alternative is the email address/phone number + which could uniquely identify the user. If none is specified, a + system-generated identifier will be assigned to the user. + type: string + rev_org: + $ref: '#/components/schemas/org-summary' + type: object + title: rev-user-summary + set-tag-with-value: + properties: + id: + description: The ID of the tag. + example: don::core:devo/:tag/ + type: string + value: + description: | + The value for the object's association with the tag. If specified, + the value must be one that's specified in the tag's allowed values. + type: string + required: + - id + title: set-tag-with-value + type: object + stage: + description: Describes the current stage of a work item. + properties: + name: + description: Current stage name of the work item. + type: string + required: + - name + title: stage + type: object + stage-init: + description: Sets an object's initial stage. + properties: + name: + description: The name of the stage. + type: string + title: stage-init + type: object + stage-update: + description: Updates an object's stage. + properties: + name: + description: | + The updated name of the stage, otherwise unchanged if not set. + type: string + title: stage-update + type: object + sys-user-summary: + allOf: + - $ref: '#/components/schemas/user-base-summary' + title: sys-user-summary + tag: + allOf: + - $ref: '#/components/schemas/atom-base' + - properties: + allowed_values: + description: | + The allowed values for the tag, where a value is provided when a + tag is associated with an object. If empty, then no value should be + provided when the association is made. + items: + type: string + type: array + description: + description: | + An informative description for the tag that should provide context + on the tag's purpose and usage. + type: string + name: + description: | + The name of the tag, which denotes the logical concept by which all + tagged objects will be associated. The name is guaranteed to be + unique. + type: string + required: + - name + type: object + title: tag + tag-summary: + allOf: + - $ref: '#/components/schemas/atom-base-summary' + - properties: + name: + description: | + The name of the tag, which denotes the logical concept by which all + tagged objects will be associated. The name is guaranteed to be + unique. + type: string + required: + - name + type: object + title: tag-summary + tag-with-value: + properties: + tag: + $ref: '#/components/schemas/tag-summary' + value: + description: The value for the object's association with the tag. + type: string + required: + - tag + title: tag-with-value + type: object + tags-create-request: + description: The request to create a new tag. + properties: + allowed_values: + description: | + The allowed values for the tag, or empty if no values are + permitted. + items: + type: string + type: array + description: + description: The description for the tag. + type: string + name: + description: | + The name for the tag, which must be unique across all tags. + type: string + required: + - name + title: tags-create-request + type: object + tags-create-response: + description: The response to creating a new tag. + properties: + tag: + $ref: '#/components/schemas/tag' + required: + - tag + title: tags-create-response + type: object + x-go-name: TagsCreateResponseBody + tags-delete-request: + description: The request to delete a tag. + properties: + id: + description: The ID of the tag to delete. + example: don::core:devo/:tag/ + type: string + required: + - id + title: tags-delete-request + type: object + tags-delete-response: + description: The response for deleting a tag. + title: tags-delete-response + type: object + x-go-name: TagsDeleteResponseBody + tags-get-response: + description: The response to getting a tag's information. + properties: + tag: + $ref: '#/components/schemas/tag' + required: + - tag + title: tags-get-response + type: object + x-go-name: TagsGetResponseBody + tags-list-response: + description: The response to listing the tags. + properties: + next_cursor: + description: | + The cursor used to iterate subsequent results in accordance to the + sort order. If not set, then no later elements exist. + type: string + prev_cursor: + description: | + The cursor used to iterate preceding results in accordance to the + sort order. If not set, then no prior elements exist. + type: string + tags: + description: The list of tags. + items: + $ref: '#/components/schemas/tag' + type: array + required: + - tags + title: tags-list-response + type: object + x-go-name: TagsListResponseBody + tags-update-allowed-values: + description: Specifies an update to a tag's allowed values. + properties: + set: + description: Sets the allowed values for the tag. + items: + type: string + type: array + title: tags-update-allowed-values + type: object + tags-update-request: + description: The request to update a tag. + properties: + allowed_values: + $ref: '#/components/schemas/tags-update-allowed-values' + description: + description: The updated description of the tag. + type: string + id: + description: The ID of the tag to update. + example: don::core:devo/:tag/ + type: string + name: + description: | + The updated name of the tag. The name must be unique across all + tags. + type: string + required: + - id + title: tags-update-request + type: object + tags-update-response: + description: The response for updating a tag. + properties: + tag: + $ref: '#/components/schemas/tag' + required: + - tag + title: tags-update-response + type: object + x-go-name: TagsUpdateResponseBody + ticket: + allOf: + - $ref: '#/components/schemas/work-base' + - properties: + group: + $ref: '#/components/schemas/group-summary' + rev_org: + $ref: '#/components/schemas/org-summary' + severity: + $ref: '#/components/schemas/ticket-severity' + type: object + title: ticket + ticket-severity: + description: Severity of the ticket. + enum: + - blocker + - high + - low + - medium + type: string + timeline-comment: + allOf: + - $ref: '#/components/schemas/timeline-entry-base' + - properties: + artifacts: + description: The artifacts for the comment. + items: + $ref: '#/components/schemas/artifact-summary' + type: array + body: + description: | + The comment's body. If the comment has been deleted, then no body + will appear in the response. + type: string + body_type: + $ref: '#/components/schemas/timeline-comment-body-type' + snap_kit_body: + description: The SnapKit Body of the comment. + type: object + type: object + title: timeline-comment + timeline-comment-body-type: + description: The type of the body to use for the comment. + enum: + - snap_kit + - text + type: string + timeline-entries-create-request: + description: The request to create a timeline entry for an object. + discriminator: + mapping: + timeline_comment: '#/components/schemas/timeline-entries-create-request-timeline-comment' + propertyName: type + oneOf: + - $ref: '#/components/schemas/timeline-entries-create-request-timeline-comment' + properties: + object: + description: The ID of the object to create the timeline entry for. + example: don::core:devo/:/ + type: string + type: + $ref: '#/components/schemas/timeline-entries-create-request-type' + visibility: + $ref: '#/components/schemas/timeline-entry-visibility' + required: + - object + - type + title: timeline-entries-create-request + type: object + timeline-entries-create-request-timeline-comment: + properties: + artifacts: + description: The IDs of the artifacts attached to the comment. + example: + - don::core:devo/:artifact/ + items: + type: string + type: array + body: + description: The comment's body. + type: string + body_type: + $ref: '#/components/schemas/timeline-comment-body-type' + snap_kit_body: + description: The SnapKit body of the comment. + type: object + title: timeline-entries-create-request-timeline-comment + type: object + timeline-entries-create-request-type: + enum: + - timeline_comment + type: string + timeline-entries-create-response: + description: The response to creating a timeline entry for an object. + properties: + timeline_entry: + $ref: '#/components/schemas/timeline-entry' + required: + - timeline_entry + title: timeline-entries-create-response + type: object + x-go-name: TimelineEntriesCreateResponseBody + timeline-entries-get-response: + description: The request to getting a timeline entry. + properties: + timeline_entry: + $ref: '#/components/schemas/timeline-entry' + required: + - timeline_entry + title: timeline-entries-get-response + type: object + x-go-name: TimelineEntriesGetResponseBody + timeline-entries-list-response: + description: The response to listing timeline entries for an object. + properties: + next_cursor: + description: | + The cursor used to iterate subsequent results in accordance to the + sort order. If not set, then no later elements exist. + type: string + prev_cursor: + description: | + The cursor used to iterate preceding results in accordance to the + sort order. If not set, then no prior elements exist. + type: string + timeline_entries: + description: The timeline entries for the object. + items: + $ref: '#/components/schemas/timeline-entry' + type: array + required: + - timeline_entries + title: timeline-entries-list-response + type: object + x-go-name: TimelineEntriesListResponseBody + timeline-entries-update-request: + description: The request to update a timeline entry. + discriminator: + mapping: + timeline_comment: '#/components/schemas/timeline-entries-update-request-timeline-comment' + propertyName: type + oneOf: + - $ref: '#/components/schemas/timeline-entries-update-request-timeline-comment' + properties: + id: + description: The ID of the timeline entry to update. + type: string + type: + $ref: '#/components/schemas/timeline-entries-update-request-type' + required: + - id + - type + title: timeline-entries-update-request + type: object + timeline-entries-update-request-timeline-comment: + properties: + artifacts: + $ref: '#/components/schemas/timeline-entries-update-request-timeline-comment-artifacts' + body: + description: The updated comment's body. + type: string + body_type: + $ref: '#/components/schemas/timeline-comment-body-type' + snap_kit_body: + description: The SnapKit body of the comment. + type: object + title: timeline-entries-update-request-timeline-comment + type: object + timeline-entries-update-request-timeline-comment-artifacts: + properties: + add: + description: | + Adds the provided artifacts to the comment. An artifact cannot be + added more than once, i.e. nothing is done if the artifact is + already attached. Mutually exclusive with `set`. + example: + - don::core:devo/:artifact/ + items: + type: string + type: array + remove: + description: | + Removes the provided artifacts from the comment. If an artifact is + not present, then it's ignored. Mututally exclusive with `set`. + example: + - don::core:devo/:artifact/ + items: + type: string + type: array + set: + description: Sets the field to the provided artifacts. + example: + - don::core:devo/:artifact/ + items: + type: string + type: array + title: timeline-entries-update-request-timeline-comment-artifacts + type: object + timeline-entries-update-request-type: + enum: + - timeline_comment + type: string + timeline-entries-update-response: + description: The response to updating a timeline entry. + properties: + timeline_entry: + $ref: '#/components/schemas/timeline-entry' + required: + - timeline_entry + title: timeline-entries-update-response + type: object + x-go-name: TimelineEntriesUpdateResponseBody + timeline-entry: + discriminator: + mapping: + timeline_comment: '#/components/schemas/timeline-comment' + propertyName: type + oneOf: + - $ref: '#/components/schemas/timeline-comment' + properties: + type: + $ref: '#/components/schemas/timeline-entry-type' + required: + - type + title: timeline-entry + type: object + timeline-entry-base: + allOf: + - $ref: '#/components/schemas/atom-base' + title: timeline-entry-base + timeline-entry-type: + enum: + - timeline_comment + type: string + timeline-entry-visibility: + description: | + The visibility of the entry. If 'private', then the entry is only + visible to the creator, otherwise if not set, then the entry has + default visibility. + enum: + - private + type: string + user-base: + allOf: + - $ref: '#/components/schemas/atom-base' + - properties: + display_name: + description: | + The user's display name. The name is non-unique and mutable. + type: string + display_picture: + $ref: '#/components/schemas/artifact-summary' + email: + description: Email address of the user. + type: string + full_name: + description: Full name of the user. + type: string + phone_numbers: + description: Phone numbers of the user. + items: + type: string + type: array + state: + $ref: '#/components/schemas/user-state' + type: object + title: user-base + user-base-summary: + allOf: + - $ref: '#/components/schemas/atom-base-summary' + - properties: + display_name: + description: | + The user's display name. The name is non-unique and mutable. + type: string + display_picture: + $ref: '#/components/schemas/artifact-summary' + email: + description: Email address of the user. + type: string + full_name: + description: Full name of the user. + type: string + state: + $ref: '#/components/schemas/user-state' + type: object + title: user-base-summary + user-state: + description: State of the user. + enum: + - active + - deactivated + - locked + - shadow + - unassigned + type: string + user-summary: + discriminator: + mapping: + dev_user: '#/components/schemas/dev-user-summary' + rev_user: '#/components/schemas/rev-user-summary' + sys_user: '#/components/schemas/sys-user-summary' + propertyName: type + oneOf: + - $ref: '#/components/schemas/dev-user-summary' + - $ref: '#/components/schemas/rev-user-summary' + - $ref: '#/components/schemas/sys-user-summary' + properties: + type: + $ref: '#/components/schemas/user-type' + required: + - type + title: user-summary + type: object + user-type: + enum: + - dev_user + - rev_user + - sys_user + type: string + webhook: + allOf: + - $ref: '#/components/schemas/atom-base' + - properties: + event_types: + description: The event types that the webhook will receive. + items: + $ref: '#/components/schemas/webhook-event-type' + type: array + secret: + description: The secret to use for verifying webhook events. + format: byte + type: string + status: + $ref: '#/components/schemas/webhook-status' + url: + description: The URL of the webhook endpoint. + type: string + required: + - secret + - status + - url + type: object + title: webhook + webhook-event-request: + properties: + id: + description: The event's ID. + type: string + part_created: + $ref: '#/components/schemas/event-part-created' + part_deleted: + $ref: '#/components/schemas/event-part-deleted' + part_updated: + $ref: '#/components/schemas/event-part-updated' + rev_org_created: + $ref: '#/components/schemas/event-rev-org-created' + rev_org_deleted: + $ref: '#/components/schemas/event-rev-org-deleted' + rev_org_updated: + $ref: '#/components/schemas/event-rev-org-updated' + tag_created: + $ref: '#/components/schemas/event-tag-created' + tag_deleted: + $ref: '#/components/schemas/event-tag-deleted' + tag_updated: + $ref: '#/components/schemas/event-tag-updated' + timeline_entry_created: + $ref: '#/components/schemas/event-timeline-entry-created' + timeline_entry_deleted: + $ref: '#/components/schemas/event-timeline-entry-deleted' + timeline_entry_updated: + $ref: '#/components/schemas/event-timeline-entry-updated' + timestamp: + description: | + Timestamp of the webhook's invocation for the event. Note this + should be used to protect against replay attacks, where the event + should only be processed if the timestamp isn't stale by several + seconds. + format: date-time + type: string + type: + $ref: '#/components/schemas/webhook-event-type' + verify: + $ref: '#/components/schemas/webhook-event-verify' + webhook_created: + $ref: '#/components/schemas/event-webhook-created' + webhook_deleted: + $ref: '#/components/schemas/event-webhook-deleted' + webhook_id: + description: ID of the webhook for the event. + example: don::integration:devo/:webhook/ + type: string + webhook_updated: + $ref: '#/components/schemas/event-webhook-updated' + work_created: + $ref: '#/components/schemas/event-work-created' + work_deleted: + $ref: '#/components/schemas/event-work-deleted' + work_updated: + $ref: '#/components/schemas/event-work-updated' + required: + - id + - webhook_id + title: webhook-event-request + type: object + webhook-event-response: + properties: + challenge: + description: | + The challenge from the "verify" request, otherwise this should not + be set for other request types. + format: byte + type: string + title: webhook-event-response + type: object + x-go-name: WebhookEventResponseBody + webhook-event-type: + description: The event types that the webhook will receive. + enum: + - part_created + - part_deleted + - part_updated + - rev_org_created + - rev_org_deleted + - rev_org_updated + - tag_created + - tag_deleted + - tag_updated + - timeline_entry_created + - timeline_entry_deleted + - timeline_entry_updated + - verify + - webhook_created + - webhook_deleted + - webhook_updated + - work_created + - work_deleted + - work_updated + type: string + webhook-event-verify: + properties: + challenge: + description: The challenge that must be echoed in the response. + format: byte + type: string + required: + - challenge + title: webhook-event-verify + type: object + webhook-status: + description: The status of the webhook. + enum: + - active + - inactive + - unverified + type: string + webhooks-create-request: + description: The request to create a new webhook. + properties: + event_types: + description: The event types that the webhook endpoint will receive. + items: + $ref: '#/components/schemas/webhook-event-type' + type: array + secret: + description: | + The secret to use when verifying webhook events. If provided, the + secret must be between 8 and 32 bytes (inclusive). If not set, a + secret will be automatically generated and provided in the + response. + format: byte + type: string + url: + description: The URL of the webhook endpoint. + type: string + required: + - url + title: webhooks-create-request + type: object + webhooks-create-response: + description: The response to creating a new webhook. + properties: + webhook: + $ref: '#/components/schemas/webhook' + required: + - webhook + title: webhooks-create-response + type: object + x-go-name: WebhooksCreateResponseBody + webhooks-delete-request: + description: The request to delete a webhook. + properties: + id: + description: ID for the webhook. + example: don::integration:devo/:webhook/ + type: string + required: + - id + title: webhooks-delete-request + type: object + webhooks-delete-response: + description: The response to deleting the webhook. + title: webhooks-delete-response + type: object + x-go-name: WebhooksDeleteResponseBody + webhooks-get-response: + description: The response to getting the information for the webhook. + properties: + webhook: + $ref: '#/components/schemas/webhook' + required: + - webhook + title: webhooks-get-response + type: object + x-go-name: WebhooksGetResponseBody + webhooks-list-response: + description: The response to listing the webhooks. + properties: + webhooks: + description: The list of webhooks. + items: + $ref: '#/components/schemas/webhook' + type: array + required: + - webhooks + title: webhooks-list-response + type: object + x-go-name: WebhooksListResponseBody + webhooks-update-action: + description: The action to update the webhook's status. + enum: + - activate + - deactivate + type: string + webhooks-update-request: + description: The request to update a webhook. + properties: + action: + $ref: '#/components/schemas/webhooks-update-action' + event_types: + $ref: '#/components/schemas/webhooks-update-request-event-types' + id: + description: ID for the webhook. + example: don::integration:devo/:webhook/ + type: string + secret: + description: | + If provided, updates the secret that's used when verifying webhook + events, which must be between 8 and 32 bytes (inclusive). Otherwise + if empty, then a new secret is generated. If the webhook is active, + then its status will transition to the 'unverified' state and it + won't receive any object events until successfully verified. + format: byte + type: string + url: + description: | + The webhook's updated URL. If the webhook is active, then the + webhook's status will transition to the 'unverified' state and it + won't receive any object events until successfully verified. + type: string + required: + - id + title: webhooks-update-request + type: object + webhooks-update-request-event-types: + properties: + add: + description: | + The event types to add. If a provided event type is already set for + the webhook, then nothing is done. Note this is mutually exclusive + with 'set'. + items: + $ref: '#/components/schemas/webhook-event-type' + type: array + remove: + description: | + The event types to remove. If a provided event type isn't set for + the webhook, then nothing is done. Note this is mutually exclusive + with 'set'. + items: + $ref: '#/components/schemas/webhook-event-type' + type: array + set: + description: | + The updated event types, which will replace the webhook's current + event types. Note this is mutually exclusive with 'add' and + 'remove'. + items: + $ref: '#/components/schemas/webhook-event-type' + type: array + title: webhooks-update-request-event-types + type: object + webhooks-update-response: + description: The response to updating the webhook. + properties: + webhook: + $ref: '#/components/schemas/webhook' + required: + - webhook + title: webhooks-update-response + type: object + x-go-name: WebhooksUpdateResponseBody + work: + discriminator: + mapping: + issue: '#/components/schemas/issue' + ticket: '#/components/schemas/ticket' + propertyName: type + oneOf: + - $ref: '#/components/schemas/issue' + - $ref: '#/components/schemas/ticket' + properties: + type: + $ref: '#/components/schemas/work-type' + required: + - type + title: work + type: object + work-base: + allOf: + - $ref: '#/components/schemas/atom-base' + - properties: + applies_to_part: + $ref: '#/components/schemas/part-summary' + artifacts: + description: The artifacts attached to the work item. + items: + $ref: '#/components/schemas/artifact-summary' + type: array + body: + description: Body of the work object. + type: string + owned_by: + description: The users that own the work. + items: + $ref: '#/components/schemas/user-summary' + type: array + reported_by: + description: Users that reported the work. + items: + $ref: '#/components/schemas/user-summary' + type: array + stage: + $ref: '#/components/schemas/stage' + tags: + description: Tags associated with the object. + items: + $ref: '#/components/schemas/tag-with-value' + type: array + target_close_date: + description: Timestamp when the work is expected to be complete. + format: date-time + type: string + title: + description: Title of the work object. + type: string + required: + - owned_by + - title + type: object + title: work-base + work-type: + enum: + - issue + - ticket + type: string + works-create-request: + discriminator: + mapping: + issue: '#/components/schemas/works-create-request-issue' + ticket: '#/components/schemas/works-create-request-ticket' + propertyName: type + oneOf: + - $ref: '#/components/schemas/works-create-request-issue' + - $ref: '#/components/schemas/works-create-request-ticket' + properties: + applies_to_part: + description: | + The [part](https://devrev.ai/docs/product/parts) that the work + applies to. Specifying a part is required when creating tickets and + issues. + example: don::core:devo/:/ + type: string + artifacts: + description: | + The IDs of the artifacts to associate with the work item. + example: + - don::core:devo/:artifact/ + items: + type: string + type: array + body: + description: Body of the work object. + type: string + owned_by: + description: The users that own the work. + example: + - don::identity:devo/:devu/ + items: + type: string + type: array + reported_by: + description: The users that reported the work. + example: + - don::identity:devo/:devu/ + items: + type: string + type: array + stage: + $ref: '#/components/schemas/stage-init' + tags: + description: Tags associated with the work item. + items: + $ref: '#/components/schemas/set-tag-with-value' + type: array + target_close_date: + description: Timestamp for when the work is expected to be complete. + format: date-time + type: string + title: + description: Title of the work object. + type: string + type: + $ref: '#/components/schemas/work-type' + required: + - applies_to_part + - owned_by + - title + - type + title: works-create-request + type: object + works-create-request-issue: + properties: + priority: + $ref: '#/components/schemas/issue-priority' + sprint: + description: The sprint that the issue belongs to. + type: string + title: works-create-request-issue + type: object + works-create-request-ticket: + properties: + group: + description: The group that the ticket is associated with. + type: string + rev_org: + description: The Rev organization that the ticket is associated with. + example: don::identity:devo/:revo/ + type: string + severity: + $ref: '#/components/schemas/ticket-severity' + title: works-create-request-ticket + type: object + works-create-response: + properties: + work: + $ref: '#/components/schemas/work' + required: + - work + title: works-create-response + type: object + x-go-name: WorksCreateResponseBody + works-delete-request: + properties: + id: + description: The work's ID. + example: don::core:devo/:/ + type: string + required: + - id + title: works-delete-request + type: object + works-delete-response: + title: works-delete-response + type: object + x-go-name: WorksDeleteResponseBody + works-export-response: + properties: + works: + description: The resulting collection of work items. + items: + $ref: '#/components/schemas/work' + type: array + required: + - works + title: works-export-response + type: object + x-go-name: WorksExportResponseBody + works-get-response: + properties: + work: + $ref: '#/components/schemas/work' + required: + - work + title: works-get-response + type: object + x-go-name: WorksGetResponseBody + works-list-response: + properties: + next_cursor: + description: | + The cursor used to iterate subsequent results in accordance to the + sort order. If not set, then no later elements exist. + type: string + prev_cursor: + description: | + The cursor used to iterate preceding results in accordance to the + sort order. If not set, then no prior elements exist. + type: string + works: + description: The list of works. + items: + $ref: '#/components/schemas/work' + type: array + required: + - works + title: works-list-response + type: object + x-go-name: WorksListResponseBody + works-update-request: + discriminator: + mapping: + issue: '#/components/schemas/works-update-request-issue' + none: '#/components/schemas/empty' + ticket: '#/components/schemas/works-update-request-ticket' + propertyName: type + oneOf: + - $ref: '#/components/schemas/works-update-request-issue' + - $ref: '#/components/schemas/works-update-request-ticket' + properties: + applies_to_part: + description: Updates the part that the work applies to. + example: don::core:devo/:/ + type: string + artifacts: + $ref: '#/components/schemas/works-update-request-artifact-ids' + body: + description: | + Updated body of the work object, or unchanged if not provided. + type: string + id: + description: The work's ID. + example: don::core:devo/:/ + type: string + owned_by: + $ref: '#/components/schemas/works-update-request-owned-by' + reported_by: + $ref: '#/components/schemas/works-update-request-reported-by' + stage: + $ref: '#/components/schemas/stage-update' + tags: + $ref: '#/components/schemas/works-update-request-tags' + target_close_date: + description: | + Updates the timestamp for when the work is expected to be complete. + format: date-time + type: string + title: + description: | + Updated title of the work object, or unchanged if not provided. + type: string + type: + $ref: '#/components/schemas/work-type' + required: + - id + - type + title: works-update-request + type: object + works-update-request-artifact-ids: + properties: + set: + description: Sets the IDs to the provided artifact IDs. + example: + - don::core:devo/:artifact/ + items: + type: string + type: array + title: works-update-request-artifact-ids + type: object + works-update-request-issue: + properties: + priority: + $ref: '#/components/schemas/issue-priority' + sprint: + description: Updates the sprint that the issue belongs to. + nullable: true + type: string + title: works-update-request-issue + type: object + works-update-request-owned-by: + properties: + set: + description: | + Sets the owner IDs to the provided user IDs. This must not be + empty. + example: + - don::identity:devo/:devu/ + items: + type: string + type: array + title: works-update-request-owned-by + type: object + works-update-request-reported-by: + properties: + set: + description: | + Sets the users that reported the work to the provided user IDs. + example: + - don::identity:devo/:devu/ + items: + type: string + type: array + title: works-update-request-reported-by + type: object + works-update-request-tags: + properties: + set: + description: Sets the provided tags on the work item. + items: + $ref: '#/components/schemas/set-tag-with-value' + type: array + title: works-update-request-tags + type: object + works-update-request-ticket: + properties: + group: + description: The group that the ticket is associated with. + type: string + rev_org: + description: | + Updates the Rev organization that the ticket is associated with. + example: don::identity:devo/:revo/ + nullable: true + type: string + severity: + $ref: '#/components/schemas/ticket-severity' + title: works-update-request-ticket + type: object + works-update-response: + properties: + work: + $ref: '#/components/schemas/work' + required: + - work + title: works-update-response + type: object + x-go-name: WorksUpdateResponseBody + securitySchemes: + auth-token: + description: |- + All the DevRev APIs require a token to authenticate the user. Provide `Authorization: ` as a header to every API request. + [How do I find my token?](https://devrev.ai/docs/apis/auth) + in: header + name: Authorization + type: apiKey +info: + description: DevRev's REST API. + title: DevRev REST API + version: "2022-10-20" +openapi: 3.0.3 +paths: + /artifacts.locate: + get: + description: Gets the download URL for the artifact. + operationId: artifacts-locate + parameters: + - description: The ID of the artifact to get the URL for. + explode: false + in: query + name: id + required: true + schema: + example: don::core:devo/:artifact/ + type: string + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/artifacts-locate-response' + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "404": + $ref: '#/components/responses/not-found' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - artifacts + /artifacts.prepare: + post: + description: | + Creates an artifact and generates an upload URL for its data. + operationId: artifacts-prepare + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/artifacts-prepare-request' + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/artifacts-prepare-response' + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - artifacts + /auth-tokens.create: + post: + description: | + Creates a JWT corresponding to the requested token type for the + authenticated user. + operationId: auth-tokens-create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/auth-tokens-create-request' + responses: + "201": + content: + application/json: + schema: + $ref: '#/components/schemas/auth-tokens-create-response' + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - auth-tokens + /auth-tokens.delete: + post: + description: | + Revokes the token that matches the given token ID issued under the + given Dev organization. + operationId: auth-tokens-delete + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/auth-tokens-delete-request' + responses: + "200": + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "404": + $ref: '#/components/responses/not-found' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - auth-tokens + /auth-tokens.get: + get: + description: | + Gets the token metadata corresponding to the given token ID under the + given Dev organization. + operationId: auth-tokens-get + parameters: + - description: | + The unique identifier of the token under a given Dev organization. + explode: false + in: query + name: token_id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/auth-tokens-get-response' + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "404": + $ref: '#/components/responses/not-found' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - auth-tokens + /auth-tokens.list: + get: + description: | + Gets the token metadata for all the tokens corresponding to the given + token type issued for a given subject. + operationId: auth-tokens-list + parameters: + - description: | + An identifier that represents the application, which requested the + token. Only relevant for application access tokens. + explode: false + in: query + name: client_id + schema: + type: string + - description: | + The type of the requested token. If no value is specified, the + response will include tokens of all the types. + explode: false + in: query + name: requested_token_type + schema: + $ref: '#/components/schemas/auth-token-requested-token-type' + - description: | + The subject associated with the token. In the absence of this + parameter, the ID of the authenticated entity is treated as the + subject. + explode: false + in: query + name: subject + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/auth-tokens-list-response' + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "404": + $ref: '#/components/responses/not-found' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - auth-tokens + /auth-tokens.self.delete: + post: + description: | + Revokes all the tokens that matches the given token type created by the + authenticated user. + operationId: auth-tokens-self-delete + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/auth-tokens-self-delete-request' + responses: + "200": + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "404": + $ref: '#/components/responses/not-found' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - auth-tokens + /auth-tokens.update: + post: + description: | + Updates token metadata of a token issued under a given Dev + organization. + operationId: auth-tokens-update + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/auth-tokens-update-request' + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/auth-tokens-update-response' + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "404": + $ref: '#/components/responses/not-found' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - auth-tokens + /dev-orgs.auth-connections.create: + post: + description: | + Creates a new enterprise authentication connection for a Dev + organization. This authentication connection will not be enabled by + default for the organization and the user will need to explicitly + enable this. Keep in mind that at a time, only one authentication + connection can be enabled for a Dev organization. At present, only 5 + enterprise connections can be created by an organization. + operationId: dev-org-auth-connections-create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/dev-org-auth-connections-create-request' + responses: + "201": + content: + application/json: + schema: + $ref: '#/components/schemas/dev-org-auth-connections-create-response' + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - auth-connection + - dev-orgs + /dev-orgs.auth-connections.delete: + post: + description: | + Deletes an authentication connection. Only enterprise connections which + are explicitly set up for a Dev organization can be deleted. Default + connections can not be deleted using this method. + operationId: dev-org-auth-connections-delete + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/dev-org-auth-connections-delete-request' + responses: + "200": + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "404": + $ref: '#/components/responses/not-found' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - auth-connection + - dev-orgs + /dev-orgs.auth-connections.get: + get: + description: Retrieves the details for an authentication connection. + operationId: dev-org-auth-connections-get + parameters: + - description: ID of the authentication connection. + explode: false + in: query + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/dev-org-auth-connections-get-response' + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "404": + $ref: '#/components/responses/not-found' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - auth-connection + - dev-orgs + /dev-orgs.auth-connections.list: + get: + description: | + Lists all the authentication connections available for a Dev + organization. This list will include both social and enterprise + connections which are either available by default or are explicitly + created by the user. + operationId: dev-org-auth-connections-list + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/dev-org-auth-connections-list-response' + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - auth-connection + - dev-orgs + /dev-orgs.auth-connections.toggle: + post: + description: | + Enable or disable an authentication connection for a Dev organization. + Currently, only 1 authentication connection can be enabled at a time. + When a new authentication connection is enabled, the connection which + is currently enabled for the Dev organization is automatically + disabled. + operationId: dev-org-auth-connections-toggle + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/dev-org-auth-connections-toggle-request' + responses: + "200": + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "404": + $ref: '#/components/responses/not-found' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - auth-connection + - dev-orgs + /dev-orgs.auth-connections.update: + post: + description: Updates an authentication connection. + operationId: dev-org-auth-connections-update + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/dev-org-auth-connections-update-request' + responses: + "201": + content: + application/json: + schema: + $ref: '#/components/schemas/dev-org-auth-connections-update-response' + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "404": + $ref: '#/components/responses/not-found' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - auth-connection + - dev-orgs + /dev-users.list: + get: + description: Lists users within your organization. + operationId: dev-users-list + parameters: + - description: | + The cursor to resume iteration from. If not provided, then iteration + starts from the beginning. + explode: false + in: query + name: cursor + schema: + type: string + - description: Filters Dev users based on email addresses. + explode: false + in: query + name: email + schema: + items: + type: string + type: array + - description: | + The maximum number of Dev users to return. The default is '50'. + explode: false + in: query + name: limit + schema: + format: int32 + type: integer + - description: | + The iteration mode to use, otherwise if not set, then "after" is + used. + explode: false + in: query + name: mode + schema: + $ref: '#/components/schemas/list-mode' + - description: | + Fields to sort the Dev users by and the direction to sort them. + explode: false + in: query + name: sort_by + schema: + items: + type: string + type: array + - description: Filters Dev users based on state. + explode: false + in: query + name: state + schema: + items: + $ref: '#/components/schemas/user-state' + type: array + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/dev-users-list-response' + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - dev-users + /dev-users.self: + get: + description: Gets the authenticated user's information. + operationId: dev-users-self + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/dev-users-self-response' + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - dev-users + /parts.create: + post: + description: Creates new [part](https://devrev.ai/docs/product/parts). + operationId: parts-create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/parts-create-request' + responses: + "201": + content: + application/json: + schema: + $ref: '#/components/schemas/parts-create-response' + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - parts + /parts.delete: + post: + description: Deletes a [part](https://devrev.ai/docs/product/parts). + operationId: parts-delete + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/parts-delete-request' + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/parts-delete-response' + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "404": + $ref: '#/components/responses/not-found' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - parts + /parts.get: + get: + description: | + Gets a [part's](https://devrev.ai/docs/product/parts) information. + operationId: parts-get + parameters: + - description: The ID of the part to retrieve. + explode: false + in: query + name: id + required: true + schema: + example: don::core:devo/:/ + type: string + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/parts-get-response' + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "404": + $ref: '#/components/responses/not-found' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - parts + /parts.list: + get: + description: | + Lists a collection of [parts](https://devrev.ai/docs/product/parts). + operationId: parts-list + parameters: + - description: Filters for parts created by any of these users. + explode: false + in: query + name: created_by + schema: + example: + - don::identity:devo/:devu/ + items: + type: string + type: array + - description: | + The cursor to resume iteration from. If not provided, then iteration + starts from the beginning. + explode: false + in: query + name: cursor + schema: + type: string + - description: | + The maximum number of parts to return. The default is '50'. + explode: false + in: query + name: limit + schema: + format: int32 + type: integer + - description: | + The iteration mode to use, otherwise if not set, then "after" is + used. + explode: false + in: query + name: mode + schema: + $ref: '#/components/schemas/list-mode' + - description: Filters for parts of the provided name(s). + explode: false + in: query + name: name + schema: + items: + type: string + type: array + - description: Filters for parts owned by any of these users. + explode: false + in: query + name: owned_by + schema: + example: + - don::identity:devo/:devu/ + items: + type: string + type: array + - description: Filters for parts of the provided type(s). + explode: false + in: query + name: type + schema: + items: + $ref: '#/components/schemas/part-type' + type: array + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/parts-list-response' + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - parts + /parts.update: + post: + description: | + Updates a [part's](https://devrev.ai/docs/product/parts) information. + operationId: parts-update + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/parts-update-request' + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/parts-update-response' + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "404": + $ref: '#/components/responses/not-found' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - parts + /rev-orgs.create: + post: + description: | + Creates a Rev organization in the authenticated user's Dev + organization. + operationId: rev-orgs-create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/rev-orgs-create-request' + responses: + "201": + content: + application/json: + schema: + $ref: '#/components/schemas/rev-orgs-create-response' + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - rev-orgs + /rev-orgs.delete: + post: + description: Deletes the Rev organization. + operationId: rev-orgs-delete + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/rev-orgs-delete-request' + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/rev-orgs-delete-response' + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "404": + $ref: '#/components/responses/not-found' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - rev-orgs + /rev-orgs.get: + get: + description: Retrieves the Rev organization's information. + operationId: rev-orgs-get + parameters: + - description: The ID of the required Rev organization. + explode: false + in: query + name: id + required: true + schema: + example: don::identity:devo/:revo/ + type: string + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/rev-orgs-get-response' + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "404": + $ref: '#/components/responses/not-found' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - rev-orgs + /rev-orgs.list: + get: + description: | + Gets the list of Rev organizations' information belonging to the + authenticated user's Dev Organization which the user is also authorized + to access. + operationId: rev-orgs-list + parameters: + - description: Filters by creator. + explode: false + in: query + name: created_by + schema: + items: + type: string + type: array + - description: | + Filters for objects created after the provided timestamp (inclusive). + explode: false + in: query + name: created_date.after + schema: + format: date-time + type: string + - description: | + Filters for objects created before the provided timestamp + (inclusive). + explode: false + in: query + name: created_date.before + schema: + format: date-time + type: string + - description: | + The cursor to resume iteration from. If not provided, then iteration + starts from the beginning. + explode: false + in: query + name: cursor + schema: + type: string + - description: List of external refs to filter Rev organizations for. + explode: false + in: query + name: external_ref + schema: + items: + type: string + type: array + - description: | + The maximum number of Rev organizations to be retrieved per page. + explode: false + in: query + name: limit + schema: + format: int32 + type: integer + - description: | + The iteration mode to use, otherwise if not set, then "after" is + used. + explode: false + in: query + name: mode + schema: + $ref: '#/components/schemas/list-mode' + - description: | + Filters for objects created after the provided timestamp (inclusive). + explode: false + in: query + name: modified_date.after + schema: + format: date-time + type: string + - description: | + Filters for objects created before the provided timestamp + (inclusive). + explode: false + in: query + name: modified_date.before + schema: + format: date-time + type: string + - description: | + Fields to sort the Rev organizations by and the direction to sort + them. + explode: false + in: query + name: sort_by + schema: + items: + type: string + type: array + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/rev-orgs-list-response' + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "404": + $ref: '#/components/responses/not-found' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - rev-orgs + /rev-orgs.update: + post: + description: Updates the Rev organization's information. + operationId: rev-orgs-update + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/rev-orgs-update-request' + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/rev-orgs-update-response' + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "404": + $ref: '#/components/responses/not-found' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - rev-orgs + /tags.create: + post: + description: | + Creates a new tag, which is used to create associations between objects + and a logical concept denoted by the tag's name. + operationId: tags-create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/tags-create-request' + responses: + "201": + content: + application/json: + schema: + $ref: '#/components/schemas/tags-create-response' + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - tags + /tags.delete: + post: + description: Deletes a tag. + operationId: tags-delete + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/tags-delete-request' + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/tags-delete-response' + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "404": + $ref: '#/components/responses/not-found' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - tags + /tags.get: + get: + description: Gets a tag's information. + operationId: tags-get + parameters: + - description: The requested tag's ID. + explode: false + in: query + name: id + required: true + schema: + example: don::core:devo/:tag/ + type: string + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/tags-get-response' + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "404": + $ref: '#/components/responses/not-found' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - tags + /tags.list: + get: + description: Lists the available tags. + operationId: tags-list + parameters: + - description: | + The cursor to resume iteration from. If not provided, then iteration + starts from the beginning. + explode: false + in: query + name: cursor + schema: + type: string + - description: The maximum number of tags to return. The default is '50'. + explode: false + in: query + name: limit + schema: + format: int32 + type: integer + - description: | + The iteration mode to use, otherwise if not set, then "after" is + used. + explode: false + in: query + name: mode + schema: + $ref: '#/components/schemas/list-mode' + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/tags-list-response' + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - tags + /tags.update: + post: + description: Updates a tag's information. + operationId: tags-update + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/tags-update-request' + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/tags-update-response' + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "404": + $ref: '#/components/responses/not-found' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - tags + /timeline-entries.create: + post: + description: Creates a new entry on an object's timeline. + operationId: timeline-entries-create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/timeline-entries-create-request' + responses: + "201": + content: + application/json: + schema: + $ref: '#/components/schemas/timeline-entries-create-response' + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - timeline-entries + /timeline-entries.get: + get: + description: Gets an entry on an object's timeline. + operationId: timeline-entries-get + parameters: + - description: The ID of the timeline entry to get. + explode: false + in: query + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/timeline-entries-get-response' + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "404": + $ref: '#/components/responses/not-found' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - timeline-entries + /timeline-entries.list: + get: + description: Lists the timeline entries for an object. + operationId: timeline-entries-list + parameters: + - description: The ID of the object to list timeline entries for. + explode: false + in: query + name: object + required: true + schema: + example: don::core:devo/:/ + type: string + - description: | + The cursor to resume iteration from. If not provided, then iteration + starts from the beginning. + explode: false + in: query + name: cursor + schema: + type: string + - description: | + The maximum number of entries to return. If not set, then this + defaults to `50`. + explode: false + in: query + name: limit + schema: + format: int32 + type: integer + - description: | + The iteration mode to use, otherwise if not set, then "after" is + used. + explode: false + in: query + name: mode + schema: + $ref: '#/components/schemas/list-mode' + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/timeline-entries-list-response' + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "404": + $ref: '#/components/responses/not-found' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - timeline-entries + /timeline-entries.update: + post: + description: Updates an entry on an object's timeline. + operationId: timeline-entries-update + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/timeline-entries-update-request' + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/timeline-entries-update-response' + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - timeline-entries + /webhooks.create: + post: + description: Creates a new webhook target. + operationId: webhooks-create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/webhooks-create-request' + responses: + "201": + content: + application/json: + schema: + $ref: '#/components/schemas/webhooks-create-response' + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - webhooks + /webhooks.delete: + post: + description: Deletes the requested webhook. + operationId: webhooks-delete + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/webhooks-delete-request' + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/webhooks-delete-response' + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "404": + $ref: '#/components/responses/not-found' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - webhooks + /webhooks.get: + get: + description: Gets the requested webhook's information. + operationId: webhooks-get + parameters: + - description: ID for the webhook. + explode: false + in: query + name: id + required: true + schema: + example: don::integration:devo/:webhook/ + type: string + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/webhooks-get-response' + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "404": + $ref: '#/components/responses/not-found' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - webhooks + /webhooks.list: + get: + description: Lists the webhooks. + operationId: webhooks-list + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/webhooks-list-response' + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - webhooks + /webhooks.update: + post: + description: Updates the requested webhook. + operationId: webhooks-update + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/webhooks-update-request' + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/webhooks-update-response' + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "404": + $ref: '#/components/responses/not-found' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - webhooks + /works.create: + post: + description: | + Creates new work ([issue](https://devrev.ai/docs/product/build), + [ticket](https://devrev.ai/docs/product/support)) item. + operationId: works-create + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/works-create-request' + responses: + "201": + content: + application/json: + schema: + $ref: '#/components/schemas/works-create-response' + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - works + /works.delete: + post: + description: Deletes a work item. + operationId: works-delete + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/works-delete-request' + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/works-delete-response' + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "404": + $ref: '#/components/responses/not-found' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - works + /works.export: + get: + description: Exports a collection of work items. + operationId: works-export + parameters: + - description: Filters for work belonging to any of the provided parts. + explode: false + in: query + name: applies_to_part + schema: + example: + - don::core:devo/:/ + items: + type: string + type: array + - description: Filters for work created by any of these users. + explode: false + in: query + name: created_by + schema: + example: + - don::identity:devo/:devu/ + items: + type: string + type: array + - description: | + The number of work items to return. The default is '50', the maximum + is '5000'. + explode: false + in: query + name: first + schema: + format: int32 + type: integer + - description: Filters for issues with any of the provided priorities. + explode: false + in: query + name: issue.priority + schema: + items: + $ref: '#/components/schemas/issue-priority' + type: array + - description: | + Filters for issues with any of the provided Rev organizations. + explode: false + in: query + name: issue.rev_orgs + schema: + example: + - don::identity:devo/:revo/ + items: + type: string + type: array + - description: Filters for work owned by any of these users. + explode: false + in: query + name: owned_by + schema: + example: + - don::identity:devo/:devu/ + items: + type: string + type: array + - description: Filters for records in the provided stage(s). + explode: false + in: query + name: stage.name + schema: + items: + type: string + type: array + - description: | + Filters for tickets that are associated with any of the provided Rev + organizations. + explode: false + in: query + name: ticket.rev_org + schema: + example: + - don::identity:devo/:revo/ + items: + type: string + type: array + - description: Filters for tickets with any of the provided severities. + explode: false + in: query + name: ticket.severity + schema: + items: + $ref: '#/components/schemas/ticket-severity' + type: array + - description: Filters for work of the provided types. + explode: false + in: query + name: type + schema: + items: + $ref: '#/components/schemas/work-type' + type: array + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/works-export-response' + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - works + /works.get: + get: + description: Gets a work item's information. + operationId: works-get + parameters: + - description: The work's ID. + explode: false + in: query + name: id + required: true + schema: + example: don::core:devo/:/ + type: string + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/works-get-response' + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "404": + $ref: '#/components/responses/not-found' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - works + /works.list: + get: + description: Lists a collection of work items. + operationId: works-list + parameters: + - description: Filters for work belonging to any of the provided parts. + explode: false + in: query + name: applies_to_part + schema: + example: + - don::core:devo/:/ + items: + type: string + type: array + - description: Filters for work created by any of these users. + explode: false + in: query + name: created_by + schema: + example: + - don::identity:devo/:devu/ + items: + type: string + type: array + - description: | + The cursor to resume iteration from. If not provided, then iteration + starts from the beginning. + explode: false + in: query + name: cursor + schema: + type: string + - description: Filters for issues with any of the provided priorities. + explode: false + in: query + name: issue.priority + schema: + items: + $ref: '#/components/schemas/issue-priority' + type: array + - description: | + Filters for issues with any of the provided Rev organizations. + explode: false + in: query + name: issue.rev_orgs + schema: + example: + - don::identity:devo/:revo/ + items: + type: string + type: array + - description: | + The maximum number of works to return. The default is '50'. + explode: false + in: query + name: limit + schema: + format: int32 + type: integer + - description: | + The iteration mode to use, otherwise if not set, then "after" is + used. + explode: false + in: query + name: mode + schema: + $ref: '#/components/schemas/list-mode' + - description: Filters for work owned by any of these users. + explode: false + in: query + name: owned_by + schema: + example: + - don::identity:devo/:devu/ + items: + type: string + type: array + - description: Filters for records in the provided stage(s). + explode: false + in: query + name: stage.name + schema: + items: + type: string + type: array + - description: | + Filters for tickets that are associated with any of the provided Rev + organizations. + explode: false + in: query + name: ticket.rev_org + schema: + example: + - don::identity:devo/:revo/ + items: + type: string + type: array + - description: Filters for tickets with any of the provided severities. + explode: false + in: query + name: ticket.severity + schema: + items: + $ref: '#/components/schemas/ticket-severity' + type: array + - description: Filters for work of the provided types. + explode: false + in: query + name: type + schema: + items: + $ref: '#/components/schemas/work-type' + type: array + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/works-list-response' + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - works + /works.update: + post: + description: Updates a work item's information. + operationId: works-update + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/works-update-request' + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/works-update-response' + description: Success. + "400": + $ref: '#/components/responses/bad-request' + "401": + $ref: '#/components/responses/unauthorized' + "403": + $ref: '#/components/responses/forbidden' + "404": + $ref: '#/components/responses/not-found' + "429": + $ref: '#/components/responses/too-many-requests' + "500": + $ref: '#/components/responses/internal-server-error' + "503": + $ref: '#/components/responses/service-unavailable' + tags: + - works +security: +- auth-token: [] +servers: +- description: DevRev API endpoint. + url: 'https://api.devrev.ai' + x-name: Production +tags: +- description: Artifact (file) management APIs. + name: artifacts +- description: Auth Connections of DevOrg. + name: auth-connection +- description: Security token interactions. + name: auth-tokens +- description: Dev organization interactions. + name: dev-orgs +- description: Dev user interactions. + name: dev-users +- description: DevRev part interactions. + name: parts +- description: Rev organization interactions. + name: rev-orgs +- description: DevRev tag interactions. + name: tags +- description: APIs to manage timeline entries for objects. + name: timeline-entries +- description: Webhook event APIs. + name: webhooks +- description: DevRev work interactions. + name: works From a432232553f4ed2ca15efb21acd1805ef5437e60 Mon Sep 17 00:00:00 2001 From: Zach Kirsch Date: Wed, 3 May 2023 12:48:33 -0700 Subject: [PATCH 2/5] Upgrade fern + generators --- fern/beta/definition/__package__.yml | 726 +++++++++++++++++++++++++ fern/beta/definition/conversations.yml | 167 ++++++ fern/beta/definition/links.yml | 79 +++ fern/beta/definition/revUsers.yml | 171 ++++++ fern/beta/definition/sysUsers.yml | 50 ++ fern/beta/generators.yml | 2 +- fern/fern.config.json | 2 +- fern/public/generators.yml | 2 +- 8 files changed, 1196 insertions(+), 3 deletions(-) create mode 100644 fern/beta/definition/__package__.yml create mode 100644 fern/beta/definition/conversations.yml create mode 100644 fern/beta/definition/links.yml create mode 100644 fern/beta/definition/revUsers.yml create mode 100644 fern/beta/definition/sysUsers.yml diff --git a/fern/beta/definition/__package__.yml b/fern/beta/definition/__package__.yml new file mode 100644 index 00000000..4628ef31 --- /dev/null +++ b/fern/beta/definition/__package__.yml @@ -0,0 +1,726 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/fern-api/fern/main/fern.schema.json + +types: + ArtifactSummary: + type: AtomBaseSummary + + AtomBase: + properties: + created_by: + type: optional + created_date: + docs: Timestamp when the object was created. + type: optional + display_id: + docs: Human-readable object ID unique to the Dev organization. + type: optional + id: + type: string + docs: Globally unique object ID. + modified_by: + type: optional + modified_date: + docs: Timestamp when the object was last modified. + type: optional + + AtomBaseSummary: + properties: + display_id: + docs: Human-readable object ID unique to the Dev organization. + type: optional + id: + type: string + docs: Globally unique object ID. + + CapabilitySummary: + type: PartBaseSummary + + Conversation: + properties: + description: + docs: Description of the conversation object. + type: optional + group: + type: optional + messages: + docs: The latest messages on the conversation. + type: optional> + owned_by: + docs: Owner IDs for the conversation. + type: optional> + stage: + type: optional + title: + docs: Title of the conversation object. + type: optional + + ConversationSummary: + properties: + title: + docs: Title of the conversation object. + type: optional + + ConversationsCreateRequestMessage: + properties: + artifacts: + docs: The IDs of the artifacts to the message. + type: optional> + body: + docs: The message's body. + type: optional + + ConversationsCreateRequestTypeValue: + enum: + - name: support + value: support + + ConversationsCreateResponse: + docs: The response to creating a new conversation. + properties: + conversation: + type: Conversation + + conversations-delete-response: + docs: The response for deleting a conversation. + type: map + + ConversationsExportResponse: + properties: + conversations: + docs: The resulting collection of conversation items. + type: list + + ConversationsGetResponse: + docs: The response to getting a conversation's information. + properties: + conversation: + type: Conversation + + ConversationsListResponse: + docs: The response to listing the conversations. + properties: + conversations: + docs: The list of conversations. + type: list + next_cursor: + docs: | + The cursor used to iterate subsequent results in accordance to the + sort order. If not set, then no later elements exist. + type: optional + prev_cursor: + docs: | + The cursor used to iterate preceding results in accordance to the + sort order. If not set, then no prior elements exist. + type: optional + + ConversationsUpdateRequestAppliesToParts: + properties: + set: + docs: Updates the parts that the conversation applies to. + type: optional> + + ConversationsUpdateResponse: + docs: The response for updating a conversation. + properties: + conversation: + type: Conversation + + DevUserSummary: + type: UserBaseSummary + + EnhancementSummary: + type: PartBaseSummary + + ErrorBadRequest: + properties: + type: + type: optional + + error-bad-request-bad-request: + type: map + + ErrorBadRequestInvalidEnumValue: + properties: + allowed_values: + docs: The allowed values for the field. + type: list + field_name: + type: string + docs: The field whose enum value is invalid. + value: + type: string + docs: The value that was received. + + ErrorBadRequestMissingRequiredField: + properties: + field_name: + type: string + docs: The missing field's name. + + error-bad-request-parse-error: + type: map + + ErrorBadRequestType: + enum: + - name: bad_request + value: bad_request + - name: invalid_enum_value + value: invalid_enum_value + - name: missing_required_field + value: missing_required_field + - name: parse_error + value: parse_error + - name: value_not_permitted + value: value_not_permitted + + ErrorBadRequestValueNotPermitted: + properties: + field_name: + type: string + docs: The field whose value is not permitted. + reason: + docs: The reason the value isn't permitted. + type: optional + + ErrorBase: + properties: + message: + docs: The message associated with the error. + type: optional + + ErrorForbidden: + properties: + type: + type: optional + + error-forbidden-forbidden: + type: map + + ErrorForbiddenType: + enum: + - name: forbidden + value: forbidden + + ErrorInternalServerError: + properties: + reference_id: + docs: | + A unique ID that's generated for the error that can be used for + inquiry. + type: optional + type: + type: optional + + error-internal-server-error-internal-error: + type: map + + ErrorInternalServerErrorType: + enum: + - name: internal_error + value: internal_error + + ErrorNotFound: + properties: + type: + type: optional + + error-not-found-not-found: + type: map + + ErrorNotFoundType: + enum: + - name: not_found + value: not_found + + ErrorServiceUnavailable: + properties: + type: + type: optional + + error-service-unavailable-service-unavailable: + type: map + + ErrorServiceUnavailableType: + enum: + - name: service_unavailable + value: service_unavailable + + ErrorTooManyRequests: + properties: + retry_after: + docs: | + The number of seconds after which the client should retry. + type: optional + type: + type: optional + + error-too-many-requests-too-many-requests: + type: map + + ErrorTooManyRequestsType: + enum: + - name: too_many_requests + value: too_many_requests + + ErrorUnauthorized: + properties: + type: + type: optional + + ErrorUnauthorizedType: + enum: + - name: unauthenticated + value: unauthenticated + + error-unauthorized-unauthenticated: + type: map + + FeatureSummary: + type: PartBaseSummary + + GroupSummary: + type: AtomBaseSummary + + IssuePriority: + docs: Priority of the work based upon impact and criticality. + enum: + - name: p0 + value: p0 + - name: p1 + value: p1 + - name: p2 + value: p2 + - name: p3 + value: p3 + + IssueSummary: + properties: + priority: + type: optional + + Link: + properties: + link_type: + type: optional + source: + type: optional + target: + type: optional + + LinkEndpointSummary: + base-properties: {} + union: + capability: + type: CapabilitySummary + conversation: + type: ConversationSummary + enhancement: + type: EnhancementSummary + feature: + type: FeatureSummary + issue: + type: IssueSummary + product: + type: ProductSummary + ticket: + type: TicketSummary + + LinkEndpointType: + enum: + - name: capability + value: capability + - name: conversation + value: conversation + - name: enhancement + value: enhancement + - name: feature + value: feature + - name: issue + value: issue + - name: product + value: product + - name: ticket + value: ticket + + LinkRevUserToRevOrgResponse: + docs: The response to link a rev user to a rev org. + properties: + rev_user: + type: RevUser + + LinkType: + docs: Type of link used to define the relationship. + enum: + - name: developed_with + value: developed_with + - name: imports + value: imports + - name: is_dependent_on + value: is_dependent_on + - name: is_duplicate_of + value: is_duplicate_of + - name: is_parent_of + value: is_parent_of + - name: is_part_of + value: is_part_of + - name: is_related_to + value: is_related_to + - name: serves + value: serves + + LinksCreateResponse: + docs: The response to creating a new link. + properties: + link: + type: Link + + links-delete-response: + docs: The response for deleting a link. + type: map + + LinksDirection: + docs: | + The direction of link, which can either be outbound such that the + object is the source of the link, otherwise inbound where the object is + the target of the link. + enum: + - name: is_source + value: is_source + - name: is_target + value: is_target + + LinksGetResponse: + docs: The response to getting a link's information. + properties: + link: + type: Link + + LinksListResponse: + docs: The response to listing the links. + properties: + links: + docs: The list of links. + type: list + next_cursor: + docs: | + The cursor used to iterate subsequent results in accordance to the + sort order. If not set, then no later elements exist. + type: optional + prev_cursor: + docs: | + The cursor used to iterate preceding results in accordance to the + sort order. If not set, then no prior elements exist. + type: optional + + ListMode: + docs: | + The iteration mode to use. If "after", then entries after the provided + cursor will be returned, or if no cursor is provided, then from the + beginning. If "before", then entries before the provided cursor will be + returned, or if no cursor is provided, then from the end. Entries will + always be returned in the specified sort-by order. + enum: + - name: after + value: after + - name: before + value: before + + OrgBaseSummary: + properties: + display_name: + docs: Name of the Organization. + type: optional + + OrgSummary: + base-properties: {} + union: + rev_org: + type: RevOrgSummary + + OrgType: + enum: + - name: rev_org + value: rev_org + + PartBaseSummary: + properties: + name: + docs: Name of the part. + type: optional + + ProductSummary: + type: PartBaseSummary + + RevOrgSummary: + type: OrgBaseSummary + + RevUser: + properties: + description: + docs: Description of the Rev user. + type: optional + external_ref: + docs: | + External ref is a mutable unique identifier for a user within the + Rev organization from your primary customer record. If none is + available, a good alternative is the email address/phone number + which could uniquely identify the user. If none is specified, a + system-generated identifier will be assigned to the user. + type: optional + rev_org: + type: optional + + RevUserSummary: + properties: + external_ref: + docs: | + External ref is a mutable unique identifier for a user within the + Rev organization from your primary customer record. If none is + available, a good alternative is the email address/phone number + which could uniquely identify the user. If none is specified, a + system-generated identifier will be assigned to the user. + type: optional + rev_org: + type: optional + + RevUsersCreateResponse: + docs: | + Response object for creating a new Rev user for Rev organization. + properties: + rev_user: + type: RevUser + + rev-users-delete-response: + docs: The response to deleting a Rev user of a Rev organization. + type: map + + RevUsersGetResponse: + docs: The returned Rev user. + properties: + rev_user: + type: RevUser + + RevUsersListResponse: + docs: | + The response to listing all Rev users matching the filter criteria. + properties: + next_cursor: + docs: | + The cursor used to iterate subsequent results in accordance to the + sort order. If not set, then no later elements exist. + type: optional + prev_cursor: + docs: | + The cursor used to iterate preceding results in accordance to the + sort order. If not set, then no prior elements exist. + type: optional + rev_users: + docs: List containing all the Rev users. + type: list + + RevUsersUpdateResponse: + docs: Updated Rev user object. + properties: + rev_user: + type: RevUser + + SetTagWithValue: + properties: + id: + type: string + docs: The ID of the tag. + value: + docs: | + The value for the object's association with the tag. If specified, + the value must be one that's specified in the tag's allowed values. + type: optional + + Stage: + docs: Describes the current stage of a work item. + properties: + name: + type: string + docs: Current stage name of the work item. + + StageInit: + docs: Sets an object's initial stage. + properties: + name: + docs: The name of the stage. + type: optional + + StageUpdate: + docs: Updates an object's stage. + properties: + name: + docs: | + The updated name of the stage, otherwise unchanged if not set. + type: optional + + SysUser: + type: UserBase + + SysUserSummary: + type: UserBaseSummary + + SysUsersListResponse: + docs: The response to listing the system users. + properties: + next_cursor: + docs: | + The cursor used to iterate subsequent results in accordance to the + sort order. If not set, then no later elements exist. + type: optional + prev_cursor: + docs: | + The cursor used to iterate preceding results in accordance to the + sort order. If not set, then no prior elements exist. + type: optional + sys_users: + docs: The list of system users. + type: list + + SysUsersUpdateResponse: + docs: Updated Sys user object. + properties: + sys_user: + type: SysUser + + TicketSeverity: + docs: Severity of the ticket. + enum: + - name: blocker + value: blocker + - name: high + value: high + - name: low + value: low + - name: medium + value: medium + + TicketSummary: + properties: + rev_org: + type: optional + severity: + type: optional + + TimelineComment: + properties: + artifacts: + docs: The artifacts for the comment. + type: optional> + body: + docs: | + The comment's body. If the comment has been deleted, then no body + will appear in the response. + type: optional + body_type: + type: optional + snap_kit_body: + docs: The SnapKit Body of the comment. + type: optional> + + TimelineCommentBodyType: + docs: The type of the body to use for the comment. + enum: + - name: snap_kit + value: snap_kit + - name: text + value: text + + TimelineEntry: + base-properties: {} + union: + timeline_comment: + type: TimelineComment + + TimelineEntryBase: + type: AtomBase + + TimelineEntryType: + enum: + - name: timeline_comment + value: timeline_comment + + UnlinkRevUserFromRevOrgResponse: + docs: The response to unlink a rev user from a rev org. + properties: + rev_user: + type: RevUser + + UserBase: + properties: + display_name: + docs: | + The user's display name. The name is non-unique and mutable. + type: optional + display_picture: + type: optional + email: + docs: Email address of the user. + type: optional + full_name: + docs: Full name of the user. + type: optional + phone_numbers: + docs: Phone numbers of the user. + type: optional> + state: + type: optional + + UserBaseSummary: + properties: + display_name: + docs: | + The user's display name. The name is non-unique and mutable. + type: optional + display_picture: + type: optional + email: + docs: Email address of the user. + type: optional + full_name: + docs: Full name of the user. + type: optional + state: + type: optional + + UserState: + docs: State of the user. + enum: + - name: active + value: active + - name: deactivated + value: deactivated + - name: locked + value: locked + - name: shadow + value: shadow + - name: unassigned + value: unassigned + + UserSummary: + base-properties: {} + union: + dev_user: + type: DevUserSummary + rev_user: + type: RevUserSummary + sys_user: + type: SysUserSummary + + UserType: + enum: + - name: dev_user + value: dev_user + - name: rev_user + value: rev_user + - name: sys_user + value: sys_user + + WorkBaseSummary: + properties: + title: + docs: Title of the work object. + type: optional diff --git a/fern/beta/definition/conversations.yml b/fern/beta/definition/conversations.yml new file mode 100644 index 00000000..320b73a0 --- /dev/null +++ b/fern/beta/definition/conversations.yml @@ -0,0 +1,167 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/fern-api/fern/main/fern.schema.json + +imports: + root: __package__.yml + +service: + auth: true + base-path: "" + endpoints: + create: + path: /conversations.create + method: POST + request: + name: ConversationsCreateRequest + body: + properties: + description: + docs: Description for the conversation. + type: optional + group: + docs: The group that the conversation is associated with. + type: optional + members: + docs: The users in the conversation. + type: optional> + messages: + docs: Initial messages on the conversation. + type: optional> + stage: + type: optional + tags: + docs: Tags associated with the conversation. + type: optional> + title: + docs: The title for the conversation. + type: optional + type: + type: root.ConversationsCreateRequestTypeValue + response: + docs: Success. + type: root.ConversationsCreateResponse + + delete: + path: /conversations.delete + method: POST + request: + name: ConversationsDeleteRequest + body: + properties: + id: + type: string + docs: The ID of the conversation to delete. + response: + docs: Success. + type: root.conversations-delete-response + + export: + path: /conversations.export + method: GET + request: + name: ConversationsExportRequest + query-parameters: + applies_to_parts: + type: optional + allow-multiple: true + first: + type: optional + members: + type: optional + allow-multiple: true + owned_by: + type: optional + allow-multiple: true + rev_org: + type: optional + allow-multiple: true + source_channels: + type: optional + allow-multiple: true + stage.name: + type: optional + allow-multiple: true + tags: + type: optional + allow-multiple: true + response: + docs: Success. + type: root.ConversationsExportResponse + + get: + path: /conversations.get + method: GET + request: + name: ConversationsGetRequest + query-parameters: + id: + type: string + response: + docs: Success. + type: root.ConversationsGetResponse + + list: + path: /conversations.list + method: GET + request: + name: ConversationsListRequest + query-parameters: + applies_to_parts: + type: optional + allow-multiple: true + cursor: + type: optional + limit: + type: optional + members: + type: optional + allow-multiple: true + mode: + type: optional + owned_by: + type: optional + allow-multiple: true + rev_org: + type: optional + allow-multiple: true + source_channels: + type: optional + allow-multiple: true + stage.name: + type: optional + allow-multiple: true + tags: + type: optional + allow-multiple: true + response: + docs: Success. + type: root.ConversationsListResponse + + update: + path: /conversations.update + method: POST + request: + name: ConversationsUpdateRequest + body: + properties: + applies_to_parts: + type: optional + description: + docs: The updated description for the conversation. + type: optional + group: + docs: The group that the conversation is associated with. + type: optional + id: + type: string + docs: The ID of the conversation to update. + stage: + type: optional + status: + docs: The updated status of the conversation. + type: optional + title: + docs: The updated title of the conversation. + type: optional + response: + docs: Success. + type: root.ConversationsUpdateResponse diff --git a/fern/beta/definition/links.yml b/fern/beta/definition/links.yml new file mode 100644 index 00000000..cabbd877 --- /dev/null +++ b/fern/beta/definition/links.yml @@ -0,0 +1,79 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/fern-api/fern/main/fern.schema.json + +imports: + root: __package__.yml + +service: + auth: true + base-path: "" + endpoints: + create: + path: /links.create + method: POST + request: + name: LinksCreateRequest + body: + properties: + link_type: + type: root.LinkType + source: + type: string + docs: The ID of the source object. + target: + type: string + docs: The ID of the target object. + response: + docs: Success. + type: root.LinksCreateResponse + + delete: + path: /links.delete + method: POST + request: + name: LinksDeleteRequest + body: + properties: + id: + type: string + docs: The ID of the link to delete. + response: + docs: Success. + type: root.links-delete-response + + get: + path: /links.get + method: GET + request: + name: LinksGetRequest + query-parameters: + id: + type: string + response: + docs: Success. + type: root.LinksGetResponse + + list: + path: /links.list + method: GET + request: + name: LinksListRequest + query-parameters: + object: + type: string + cursor: + type: optional + direction: + type: optional + limit: + type: optional + link_type: + type: optional + allow-multiple: true + mode: + type: optional + types: + type: optional + allow-multiple: true + response: + docs: Success. + type: root.LinksListResponse diff --git a/fern/beta/definition/revUsers.yml b/fern/beta/definition/revUsers.yml new file mode 100644 index 00000000..4994fa84 --- /dev/null +++ b/fern/beta/definition/revUsers.yml @@ -0,0 +1,171 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/fern-api/fern/main/fern.schema.json + +imports: + root: __package__.yml + +service: + auth: true + base-path: "" + endpoints: + create: + path: /rev-users.create + method: POST + request: + name: RevUsersCreateRequest + body: + properties: + description: + docs: Description of the Rev user. + type: optional + display_name: + docs: | + The user's display name. The name is non-unique and mutable. + type: optional + email: + docs: Email address of the Rev user. + type: optional + external_ref: + docs: > + External ref is a mutable unique identifier for a user within + the + Dev organization from your primary customer record. If none is + available, a good alternative is the email address/phone number + which could uniquely identify the user. If none is specified, a + system-generated identifier will be assigned to the user. + type: optional + phone_numbers: + docs: Phone numbers of the Rev user. + type: optional> + rev_org: + type: string + docs: > + The ID of Rev organization for which a Rev user is to be + created. + response: + docs: Success. + type: root.RevUsersCreateResponse + + delete: + path: /rev-users.delete + method: POST + request: + name: RevUsersDeleteRequest + body: + properties: + id: + type: string + docs: The ID of Rev user to delete. + response: + docs: Success. + type: root.rev-users-delete-response + + get: + path: /rev-users.get + method: GET + request: + name: RevUsersGetRequest + query-parameters: + id: + type: string + response: + docs: Success. + type: root.RevUsersGetResponse + + link-rev-user-to-rev-org: + path: /rev-users.link + method: POST + request: + name: LinkRevUserToRevOrgRequest + body: + properties: + rev_org_don: + type: string + docs: The don of the rev org to link the rev user to. + user_don: + type: string + docs: The don of the rev user to link. + response: + docs: Success. + type: root.LinkRevUserToRevOrgResponse + + list: + path: /rev-users.list + method: GET + request: + name: RevUsersListRequest + query-parameters: + created_by: + type: optional + allow-multiple: true + created_date.after: + type: optional + created_date.before: + type: optional + cursor: + type: optional + email: + type: optional + allow-multiple: true + external_ref: + type: optional + allow-multiple: true + limit: + type: optional + mode: + type: optional + modified_date.after: + type: optional + modified_date.before: + type: optional + rev_org: + type: optional + allow-multiple: true + sort_by: + type: optional + allow-multiple: true + response: + docs: Success. + type: root.RevUsersListResponse + + unlink-rev-user-from-rev-org: + path: /rev-users.unlink + method: POST + request: + name: UnlinkRevUserFromRevOrgRequest + body: + properties: + rev_org_don: + type: string + docs: The don of the rev org to unlink the rev user from. + user_don: + type: string + docs: The don of the rev user to unlink. + response: + docs: Success. + type: root.UnlinkRevUserFromRevOrgResponse + + update: + path: /rev-users.update + method: POST + request: + name: RevUsersUpdateRequest + body: + properties: + description: + docs: Updated description of the Rev user. + type: optional + display_name: + docs: Updated display name of the Rev user. + type: optional + email: + docs: Updated email address of the Rev user. + type: optional + external_ref: + docs: Updated external ref value of the Rev user. + type: optional + id: + type: string + docs: The ID of Rev user to update. + response: + docs: Success. + type: root.RevUsersUpdateResponse diff --git a/fern/beta/definition/sysUsers.yml b/fern/beta/definition/sysUsers.yml new file mode 100644 index 00000000..c7ccc16b --- /dev/null +++ b/fern/beta/definition/sysUsers.yml @@ -0,0 +1,50 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/fern-api/fern/main/fern.schema.json + +imports: + root: __package__.yml + +service: + auth: true + base-path: "" + endpoints: + list: + path: /sys-users.list + method: GET + request: + name: SysUsersListRequest + query-parameters: + cursor: + type: optional + limit: + type: optional + mode: + type: optional + sort_by: + type: optional + allow-multiple: true + response: + docs: Success. + type: root.SysUsersListResponse + + update: + path: /sys-users.update + method: POST + request: + name: SysUsersUpdateRequest + body: + properties: + display_name: + docs: Updated display name for the system user. + type: optional + display_picture: + docs: Artifact ID of the system user's new display picture. + type: optional + full_name: + docs: Updated full name for the system user. + type: optional + id: + type: string + docs: The ID of system user to update. + response: + docs: Success. + type: root.SysUsersUpdateResponse diff --git a/fern/beta/generators.yml b/fern/beta/generators.yml index 17089646..d7fd8051 100644 --- a/fern/beta/generators.yml +++ b/fern/beta/generators.yml @@ -3,7 +3,7 @@ groups: sdks: generators: - name: fernapi/fern-typescript-sdk - version: 0.5.17 + version: 0.5.18 output: location: npm url: npm.buildwithfern.com diff --git a/fern/fern.config.json b/fern/fern.config.json index b1f6a8bd..6ef83b64 100644 --- a/fern/fern.config.json +++ b/fern/fern.config.json @@ -1,4 +1,4 @@ { "organization": "devrev", - "version": "0.8.4" + "version": "0.8.6-rc2" } \ No newline at end of file diff --git a/fern/public/generators.yml b/fern/public/generators.yml index b0589a53..1d174d70 100644 --- a/fern/public/generators.yml +++ b/fern/public/generators.yml @@ -2,7 +2,7 @@ groups: sdks: generators: - name: fernapi/fern-typescript-sdk - version: 0.5.17 + version: 0.5.18 output: location: npm package-name: "@fern-api/devrev" From d9b6cc545963b71c0a8023e0b20dba9240ab561e Mon Sep 17 00:00:00 2001 From: Zach Kirsch Date: Wed, 3 May 2023 12:51:38 -0700 Subject: [PATCH 3/5] Add github workflow --- .github/workflows/ci.yml | 41 ++++++++++++++++++++++++++++++++++++++ fern/public/generators.yml | 2 +- 2 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/ci.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 00000000..b1e7d238 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,41 @@ +name: ci + +on: [push] + +jobs: + fern-check: + runs-on: ubuntu-latest + steps: + - name: Checkout repo + uses: actions/checkout@v3 + + - name: Install Fern + run: npm install -g fern-api + + - name: Check Fern API is valid + run: fern check + + generate-sdks: + needs: fern-check + if: github.event_name == 'push' && contains(github.ref, 'refs/tags/') + runs-on: ubuntu-latest + steps: + - name: Checkout repo + uses: actions/checkout@v3 + + - name: Setup node + uses: actions/setup-node@v3 + + - name: Download Fern + run: npm install -g fern-api + + - name: Release beta SDKs + env: + FERN_TOKEN: ${{ secrets.FERN_TOKEN }} + run: fern generate --api beta --log-level debug + + - name: Release public SDKs + env: + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + FERN_TOKEN: ${{ secrets.FERN_TOKEN }} + run: fern generate --api public --version ${{ github.ref_name }} --log-level debug \ No newline at end of file diff --git a/fern/public/generators.yml b/fern/public/generators.yml index 1d174d70..ff55e754 100644 --- a/fern/public/generators.yml +++ b/fern/public/generators.yml @@ -6,7 +6,7 @@ groups: output: location: npm package-name: "@fern-api/devrev" - token: ${FERN_NPM_TOKEN} + token: ${NPM_TOKEN} github: repository: fern-devrev/devrev-node config: From 82326c0338ee41c8f6dfdb946e7c5cb2534524c3 Mon Sep 17 00:00:00 2001 From: Zach Kirsch Date: Wed, 3 May 2023 12:53:41 -0700 Subject: [PATCH 4/5] Generate public definition too --- fern/public/definition/__package__.yml | 1786 ++++++++++++++++++++ fern/public/definition/artifacts.yml | 34 + fern/public/definition/authConnection.yml | 76 + fern/public/definition/authTokens.yml | 131 ++ fern/public/definition/devUsers.yml | 40 + fern/public/definition/parts.yml | 82 + fern/public/definition/revOrgs.yml | 134 ++ fern/public/definition/tags.yml | 97 ++ fern/public/definition/timelineEntries.yml | 60 + fern/public/definition/webhooks.yml | 102 ++ fern/public/definition/works.yml | 136 ++ 11 files changed, 2678 insertions(+) create mode 100644 fern/public/definition/__package__.yml create mode 100644 fern/public/definition/artifacts.yml create mode 100644 fern/public/definition/authConnection.yml create mode 100644 fern/public/definition/authTokens.yml create mode 100644 fern/public/definition/devUsers.yml create mode 100644 fern/public/definition/parts.yml create mode 100644 fern/public/definition/revOrgs.yml create mode 100644 fern/public/definition/tags.yml create mode 100644 fern/public/definition/timelineEntries.yml create mode 100644 fern/public/definition/webhooks.yml create mode 100644 fern/public/definition/works.yml diff --git a/fern/public/definition/__package__.yml b/fern/public/definition/__package__.yml new file mode 100644 index 00000000..6698bd79 --- /dev/null +++ b/fern/public/definition/__package__.yml @@ -0,0 +1,1786 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/fern-api/fern/main/fern.schema.json + +types: + DevOrgAuthConnectionsCreateRequest: + base-properties: {} + docs: | + Request to create a new enterprise authentication connection. + union: + google_apps: + type: AuthConnectionOptionsGoogleApps + oidc: + type: AuthConnectionOptionsOidc + samlp: + type: AuthConnectionOptionsSaml + waad: + type: AuthConnectionOptionsAzureAd + + DevOrgAuthConnectionsUpdateRequest: + base-properties: {} + docs: | + Request to update an enterprise authentication connection for a Dev + organization. + union: + google_apps: + type: AuthConnectionOptionsGoogleApps + none: + type: empty + oidc: + type: AuthConnectionOptionsOidc + samlp: + type: AuthConnectionOptionsSaml + waad: + type: AuthConnectionOptionsAzureAd + + PartsCreateRequest: + base-properties: {} + union: + capability: + type: PartsCreateRequestCapability + enhancement: + type: PartsCreateRequestEnhancement + feature: + type: PartsCreateRequestFeature + product: + type: parts-create-request-product + + PartsUpdateRequest: + base-properties: {} + union: + capability: + type: parts-update-request-capability + enhancement: + type: PartsUpdateRequestEnhancement + feature: + type: parts-update-request-feature + none: + type: empty + product: + type: parts-update-request-product + + TimelineEntriesCreateRequest: + base-properties: {} + docs: The request to create a timeline entry for an object. + union: + timeline_comment: + type: TimelineEntriesCreateRequestTimelineComment + + TimelineEntriesUpdateRequest: + base-properties: {} + docs: The request to update a timeline entry. + union: + timeline_comment: + type: TimelineEntriesUpdateRequestTimelineComment + + WorksCreateRequest: + base-properties: {} + union: + issue: + type: WorksCreateRequestIssue + ticket: + type: WorksCreateRequestTicket + + WorksUpdateRequest: + base-properties: {} + union: + issue: + type: WorksUpdateRequestIssue + none: + type: empty + ticket: + type: WorksUpdateRequestTicket + + ArtifactSummary: + type: AtomBaseSummary + + ArtifactsLocateResponse: + docs: The response to getting an artifact's download URL. + properties: + expires_at: + docs: The expiration timestamp of the URL. + type: optional + url: + type: string + docs: The artifact's download URL. + + ArtifactsPrepareResponse: + docs: The response to preparing a URL to upload a file. + properties: + form_data: + docs: The POST policy form data. + type: list + id: + type: string + docs: The generated artifact's ID. + url: + type: string + docs: The URL that the file's data should be uploaded to. + + ArtifactsPrepareResponseFormData: + properties: + key: + type: string + docs: Key of the form field. + value: + type: string + docs: Value corresponding to the key. + + AtomBase: + properties: + created_by: + type: optional + created_date: + docs: Timestamp when the object was created. + type: optional + display_id: + docs: Human-readable object ID unique to the Dev organization. + type: optional + id: + type: string + docs: Globally unique object ID. + modified_by: + type: optional + modified_date: + docs: Timestamp when the object was last modified. + type: optional + + AtomBaseSummary: + properties: + display_id: + docs: Human-readable object ID unique to the Dev organization. + type: optional + id: + type: string + docs: Globally unique object ID. + + AuthConnection: + base-properties: {} + docs: | + Connection object that specifies the configuration for an + authentication connection that is set up for a Dev organization. + union: + google_apps: + type: AuthConnectionOptionsGoogleApps + oidc: + type: AuthConnectionOptionsOidc + samlp: + type: AuthConnectionOptionsSaml + social: + type: auth-connection-options-social + waad: + type: AuthConnectionOptionsAzureAd + + AuthConnectionOptionsAzureAd: + docs: | + Object encapsulating the configuration parameters for an Azure AD + authentication connection. + properties: + client_id: + docs: Client ID for the Azure authentication connection. + type: optional + client_secret: + docs: Client secret for the Azure authentication connection. + type: optional + domain: + docs: Domain URL of the Azure authentication connection. + type: optional + + AuthConnectionOptionsGoogleApps: + docs: | + Object encapsulating the configuration parameters for a Google Apps + authentication connection. + properties: + client_id: + docs: Client ID for the Google Apps authentication connection. + type: optional + client_secret: + docs: | + Client secret for the Google Apps authentication connection. + type: optional + tenant_domain: + docs: | + Tenant domain URL of the Google Apps authentication connection. + type: optional + + AuthConnectionOptionsOidc: + docs: | + Object encapsulating the configuration parameters for an OIDC + authentication connection. + properties: + client_id: + docs: Client ID for the OIDC authentication connection. + type: optional + client_secret: + docs: Client secret for the OIDC authentication connection. + type: optional + issuer: + docs: Issuer URL of the OIDC authentication connection. + type: optional + + AuthConnectionOptionsSaml: + docs: | + Object encapsulating the configuration parameters for a SAML + authentication connection. + properties: + sign_in_endpoint: + docs: Sign In endpoint for the SAML authentication connection. + type: optional + signing_cert: + docs: | + Signing certificate for the SAML authentication connection. + type: optional + + auth-connection-options-social: + type: map + + AuthConnectionToggle: + enum: + - name: disable + value: disable + - name: enable + value: enable + + AuthConnectionType: + docs: | + Defines the type for the authentication connection. The configuration + for each authentication connection will depend on the type value. + enum: + - name: google_apps + value: google_apps + - name: oidc + value: oidc + - name: samlp + value: samlp + - name: social + value: social + - name: waad + value: waad + + AuthToken: + properties: + client_id: + docs: | + An identifier that represents the application that requested the + token. Only applicable for application access tokens. + type: optional + expires_at: + docs: The time at which the token expires. + type: optional + issued_at: + docs: The time at which the token was issued. + type: optional + requested_token_type: + type: optional + scopes: + docs: The scopes associated with the issued token. + type: optional> + status: + type: optional + subject: + docs: The subject of the token. + type: optional + token_hint: + docs: A hint that identifies the token. + type: optional + + AuthTokenGrantType: + docs: Specifies the process of obtaining a token. + enum: + - name: UrnDevrevParamsOauthGrantTypeTokenIssue + value: urn:devrev:params:oauth:grant-type:token-issue + - name: UrnIetfParamsOauthGrantTypeTokenExchange + value: urn:ietf:params:oauth:grant-type:token-exchange + + AuthTokenRequestedTokenType: + docs: The type of the requested token. + enum: + - name: UrnDevrevParamsOauthTokenTypeAat + value: urn:devrev:params:oauth:token-type:aat + - name: UrnDevrevParamsOauthTokenTypeAatPublic + value: urn:devrev:params:oauth:token-type:aat:public + - name: UrnDevrevParamsOauthTokenTypeDev + value: urn:devrev:params:oauth:token-type:dev + - name: UrnDevrevParamsOauthTokenTypePat + value: urn:devrev:params:oauth:token-type:pat + - name: UrnDevrevParamsOauthTokenTypeRev + value: urn:devrev:params:oauth:token-type:rev + - name: UrnDevrevParamsOauthTokenTypeSession + value: urn:devrev:params:oauth:token-type:session + - name: UrnDevrevParamsOauthTokenTypeSessionDev0 + value: urn:devrev:params:oauth:token-type:session:dev0 + - name: UrnDevrevParamsOauthTokenTypeSys + value: urn:devrev:params:oauth:token-type:sys + - name: UrnIetfParamsOauthTokenTypeJwt + value: urn:ietf:params:oauth:token-type:jwt + + AuthTokenStatus: + docs: The status of the token. + enum: + - name: active + value: active + - name: expired + value: expired + - name: revoked + value: revoked + + AuthTokenSubjectTokenType: + docs: The type of the subject token. + enum: + - name: UrnDevrevParamsOauthTokenTypeJwtAuth0 + value: urn:devrev:params:oauth:token-type:jwt:auth0 + - name: UrnDevrevParamsOauthTokenTypeJwtDev + value: urn:devrev:params:oauth:token-type:jwt:dev + - name: UrnDevrevParamsOauthTokenTypeRevinfo + value: urn:devrev:params:oauth:token-type:revinfo + - name: UrnDevrevParamsOauthTokenTypeSysu + value: urn:devrev:params:oauth:token-type:sysu + - name: UrnDevrevParamsOauthTokenTypeUserinfo + value: urn:devrev:params:oauth:token-type:userinfo + - name: UrnDevrevParamsOauthTokenTypeUserinfoProfile + value: urn:devrev:params:oauth:token-type:userinfo:profile + - name: UrnIetfParamsOauthTokenTypeJwt + value: urn:ietf:params:oauth:token-type:jwt + + AuthTokenTokenType: + docs: | + The type of the issued token. Bearer is the only supported token type. + enum: + - name: bearer + value: bearer + + AuthTokensCreateResponse: + docs: | + Response for the request to create a new token corresponding to the + requested token type. + properties: + access_token: + type: string + docs: | + The issued JSON Web Token (JWT) corresponding to the requested + token type. + client_id: + docs: | + An identifier that represents the application which is requesting + the token. Only present in a response corresponding to an + application access token (AAT). + type: optional + expires_in: + type: integer + docs: | + The validity lifetime of the token specified in seconds since Unix + epoch. + refresh_token: + docs: A token to refresh the issued token. + type: optional + scope: + docs: | + The scopes associated with the issued token. A space-delimited list + of values in which the order of values does not matter. + type: optional + token_type: + type: AuthTokenTokenType + + AuthTokensGetResponse: + docs: The response to get the token metadata. + properties: + token: + type: AuthToken + + AuthTokensListResponse: + docs: The response to list the token metadata. + properties: + tokens: + docs: The list of token metadata. + type: list + + AuthTokensOrgTraits: + docs: Carries Rev org info. + properties: + display_name: + docs: The display name of the Rev org. + type: optional + domain: + docs: The domain of the Rev org. + type: optional + + AuthTokensRevInfo: + docs: | + Carries info corresponding to the Rev user to be provisioned and/or + issue a Rev session token. + properties: + org_ref: + docs: An identifier which uniquely identifies a Rev org. + type: optional + org_traits: + type: optional + rev_user_id: + docs: The unique ID of the Rev user. + type: optional + user_ref: + type: string + docs: An identifier which uniquely identifies a Rev user. + user_traits: + type: optional + + AuthTokensUpdateResponse: + docs: Response for the request to update the token metadata. + properties: + token: + type: AuthToken + + AuthTokensUserTraits: + docs: Carries Rev user info. + properties: + display_name: + docs: The display name of the Rev user. + type: optional + email: + docs: The email address of the Rev user. + type: optional + full_name: + docs: The full name of the Rev user. + type: optional + + Capability: + type: PartBase + + CapabilitySummary: + type: PartBaseSummary + + DevOrgAuthConnectionsCreateRequestType: + docs: | + Defines the type for the authentication connection. Different types of + authentication connections have different configuration parameters. + enum: + - name: google_apps + value: google_apps + - name: oidc + value: oidc + - name: samlp + value: samlp + - name: waad + value: waad + + DevOrgAuthConnectionsCreateResponse: + docs: | + Response for the request to create a new enterprise authentication + connection. + properties: + auth_connection: + type: AuthConnection + + DevOrgAuthConnectionsGetResponse: + docs: | + Response object encapsulating the configuration details of an + authentication connection. + properties: + auth_connection: + type: AuthConnection + + DevOrgAuthConnectionsListResponse: + docs: | + Response object for the request to list all the social and enterprise + authentication connections configured for a Dev organization. + properties: + auth_connections: + docs: | + List of all the authentication connections currently configured for + a Dev organization. + type: list + + DevOrgAuthConnectionsUpdateRequestType: + docs: | + Specifies the type for the authentication connection. Different types + of authentication connections have different configuration parameters + that can be updated. + enum: + - name: google_apps + value: google_apps + - name: none + value: none + - name: oidc + value: oidc + - name: samlp + value: samlp + - name: waad + value: waad + + DevOrgAuthConnectionsUpdateResponse: + docs: | + Response for the request to update an enterprise authentication + connection. + properties: + auth_connection: + type: AuthConnection + + DevUser: + properties: + external_identities: + docs: IDs of the Dev User outside the DevRev SOR. + type: optional> + + DevUserSummary: + type: UserBaseSummary + + DevUsersListResponse: + docs: The response to listing the Dev users. + properties: + dev_users: + docs: The list of Dev users. + type: list + next_cursor: + docs: | + The cursor used to iterate subsequent results in accordance to the + sort order. If not set, then no later elements exist. + type: optional + prev_cursor: + docs: | + The cursor used to iterate preceding results in accordance to the + sort order. If not set, then no prior elements exist. + type: optional + + DevUsersSelfResponse: + docs: | + The response to getting the information for the authenticated user. + properties: + dev_user: + type: DevUser + + empty: + type: map + + Enhancement: + properties: + target_close_date: + docs: Timestamp when the enhancement is expected to be closed. + type: optional + + EnhancementSummary: + type: PartBaseSummary + + ErrorBadRequest: + properties: + type: + type: optional + + error-bad-request-bad-request: + type: map + + ErrorBadRequestInvalidEnumValue: + properties: + allowed_values: + docs: The allowed values for the field. + type: list + field_name: + type: string + docs: The field whose enum value is invalid. + value: + type: string + docs: The value that was received. + + ErrorBadRequestMissingRequiredField: + properties: + field_name: + type: string + docs: The missing field's name. + + error-bad-request-parse-error: + type: map + + ErrorBadRequestType: + enum: + - name: bad_request + value: bad_request + - name: invalid_enum_value + value: invalid_enum_value + - name: missing_required_field + value: missing_required_field + - name: parse_error + value: parse_error + - name: value_not_permitted + value: value_not_permitted + + ErrorBadRequestValueNotPermitted: + properties: + field_name: + type: string + docs: The field whose value is not permitted. + reason: + docs: The reason the value isn't permitted. + type: optional + + ErrorBase: + properties: + message: + docs: The message associated with the error. + type: optional + + ErrorForbidden: + properties: + type: + type: optional + + error-forbidden-forbidden: + type: map + + ErrorForbiddenType: + enum: + - name: forbidden + value: forbidden + + ErrorInternalServerError: + properties: + reference_id: + docs: | + A unique ID that's generated for the error that can be used for + inquiry. + type: optional + type: + type: optional + + error-internal-server-error-internal-error: + type: map + + ErrorInternalServerErrorType: + enum: + - name: internal_error + value: internal_error + + ErrorNotFound: + properties: + type: + type: optional + + error-not-found-not-found: + type: map + + ErrorNotFoundType: + enum: + - name: not_found + value: not_found + + ErrorServiceUnavailable: + properties: + type: + type: optional + + error-service-unavailable-service-unavailable: + type: map + + ErrorServiceUnavailableType: + enum: + - name: service_unavailable + value: service_unavailable + + ErrorTooManyRequests: + properties: + retry_after: + docs: | + The number of seconds after which the client should retry. + type: optional + type: + type: optional + + error-too-many-requests-too-many-requests: + type: map + + ErrorTooManyRequestsType: + enum: + - name: too_many_requests + value: too_many_requests + + ErrorUnauthorized: + properties: + type: + type: optional + + ErrorUnauthorizedType: + enum: + - name: unauthenticated + value: unauthenticated + + error-unauthorized-unauthenticated: + type: map + + EventPartCreated: + properties: + part: + type: Part + + EventPartDeleted: + properties: + id: + type: string + docs: The ID of the part that was deleted. + + EventPartUpdated: + properties: + part: + type: Part + + EventRevOrgCreated: + properties: + rev_org: + type: RevOrg + + EventRevOrgDeleted: + properties: + id: + type: string + docs: The ID of the Rev organization that was deleted. + + EventRevOrgUpdated: + properties: + rev_org: + type: RevOrg + + EventTagCreated: + properties: + tag: + type: Tag + + EventTagDeleted: + properties: + id: + type: string + docs: The ID of the tag that was deleted. + + EventTagUpdated: + properties: + tag: + type: Tag + + EventTimelineEntryCreated: + properties: + entry: + type: TimelineEntry + + EventTimelineEntryDeleted: + properties: + id: + type: string + docs: The ID of the timeline entry that was deleted. + + EventTimelineEntryUpdated: + properties: + entry: + type: TimelineEntry + + EventWebhookCreated: + properties: + webhook: + type: Webhook + + EventWebhookDeleted: + properties: + id: + type: string + docs: The ID of the webhook that was deleted. + + EventWebhookUpdated: + properties: + webhook: + type: Webhook + + EventWorkCreated: + properties: + work: + type: Work + + EventWorkDeleted: + properties: + id: + type: string + docs: The ID of the work that was deleted. + + EventWorkUpdated: + properties: + work: + type: Work + + external-identity: + docs: External identity of a user. + type: map + + Feature: + type: PartBase + + FeatureSummary: + type: PartBaseSummary + + GroupSummary: + type: AtomBaseSummary + + Issue: + properties: + priority: + type: optional + + IssuePriority: + docs: Priority of the work based upon impact and criticality. + enum: + - name: p0 + value: p0 + - name: p1 + value: p1 + - name: p2 + value: p2 + - name: p3 + value: p3 + + ListMode: + docs: | + The iteration mode to use. If "after", then entries after the provided + cursor will be returned, or if no cursor is provided, then from the + beginning. If "before", then entries before the provided cursor will be + returned, or if no cursor is provided, then from the end. Entries will + always be returned in the specified sort-by order. + enum: + - name: after + value: after + - name: before + value: before + + OrgBase: + properties: + display_name: + docs: Name of the Organization. + type: optional + + OrgBaseSummary: + properties: + display_name: + docs: Name of the Organization. + type: optional + + OrgEnvironment: + docs: | + The environment of the Org. Defaults to 'production' if not specified. + enum: + - name: production + value: production + - name: staging + value: staging + - name: test + value: test + + OrgSummary: + base-properties: {} + union: + rev_org: + type: RevOrgSummary + + OrgType: + enum: + - name: rev_org + value: rev_org + + Part: + base-properties: {} + union: + capability: + type: Capability + enhancement: + type: Enhancement + feature: + type: Feature + product: + type: Product + + PartBase: + properties: + artifacts: + docs: The attached artifacts. + type: optional> + description: + docs: Description of the part. + type: optional + name: + docs: Name of the part. + type: optional + owned_by: + docs: The users that own the part. + type: optional> + tags: + docs: Tags associated with the object. + type: optional> + + PartBaseSummary: + properties: + name: + docs: Name of the part. + type: optional + + PartSummary: + base-properties: {} + union: + capability: + type: CapabilitySummary + enhancement: + type: EnhancementSummary + feature: + type: FeatureSummary + product: + type: ProductSummary + + PartType: + enum: + - name: capability + value: capability + - name: enhancement + value: enhancement + - name: feature + value: feature + - name: product + value: product + + PartsCreateRequestCapability: + properties: + parent_part: + docs: ID of the parent product for the capability. + type: list + + PartsCreateRequestEnhancement: + properties: + parent_part: + docs: | + ID of the parent part on which the enhancement is to be created. + type: list + target_close_date: + docs: | + Target close date by which enhancement is expected to be closed. + type: optional + + PartsCreateRequestFeature: + properties: + parent_part: + docs: ID of the parent capability/feature for the feature. + type: list + + parts-create-request-product: + type: map + + PartsCreateResponse: + properties: + part: + type: Part + + parts-delete-response: + type: map + + PartsGetResponse: + properties: + part: + type: Part + + PartsListResponse: + properties: + next_cursor: + docs: | + The cursor used to iterate subsequent results in accordance to the + sort order. If not set, then no later elements exist. + type: optional + parts: + docs: The list of parts. + type: list + prev_cursor: + docs: | + The cursor used to iterate preceding results in accordance to the + sort order. If not set, then no prior elements exist. + type: optional + + parts-update-request-capability: + type: map + + PartsUpdateRequestEnhancement: + properties: + target_close_date: + docs: Updates the target close date of the enhancement. + type: optional + + parts-update-request-feature: + type: map + + PartsUpdateRequestOwnedBy: + properties: + set: + docs: | + Sets the owner IDs to the provided user IDs. This must not be + empty. + type: optional> + + parts-update-request-product: + type: map + + PartsUpdateResponse: + properties: + part: + type: Part + + Product: + type: PartBase + + ProductSummary: + type: PartBaseSummary + + RevOrg: + properties: + description: + docs: Description of the Rev organization. + type: optional + domain: + docs: Company's domain name. Example - 'devrev.ai'. + type: optional + external_ref: + docs: | + External ref is a unique identifier for the Rev (customer) + organization from your primary customer system of records. If none + is specified, a system-generated identifier will be assigned to the + organization. + type: optional + + RevOrgSummary: + type: OrgBaseSummary + + RevOrgsCreateResponse: + docs: | + Response object for request to create a new Rev organization. + properties: + rev_org: + type: RevOrg + + rev-orgs-delete-response: + docs: The response to deleting a Rev organization. + type: map + + RevOrgsGetResponse: + docs: The response to getting a Rev organization's information. + properties: + rev_org: + type: RevOrg + + RevOrgsListResponse: + docs: | + The response to getting a list of Rev organizations' information. + properties: + next_cursor: + docs: | + The cursor used to iterate subsequent results in accordance to the + sort order. If not set, then no later elements exist. + type: optional + prev_cursor: + docs: | + The cursor used to iterate preceding results in accordance to the + sort order. If not set, then no prior elements exist. + type: optional + rev_orgs: + docs: List with all of the Rev organizations' information. + type: list + + RevOrgsUpdateResponse: + docs: Response object to updating Rev organization's information. + properties: + rev_org: + type: RevOrg + + RevUserSummary: + properties: + external_ref: + docs: | + External ref is a mutable unique identifier for a user within the + Rev organization from your primary customer record. If none is + available, a good alternative is the email address/phone number + which could uniquely identify the user. If none is specified, a + system-generated identifier will be assigned to the user. + type: optional + rev_org: + type: optional + + SetTagWithValue: + properties: + id: + type: string + docs: The ID of the tag. + value: + docs: | + The value for the object's association with the tag. If specified, + the value must be one that's specified in the tag's allowed values. + type: optional + + Stage: + docs: Describes the current stage of a work item. + properties: + name: + type: string + docs: Current stage name of the work item. + + StageInit: + docs: Sets an object's initial stage. + properties: + name: + docs: The name of the stage. + type: optional + + StageUpdate: + docs: Updates an object's stage. + properties: + name: + docs: | + The updated name of the stage, otherwise unchanged if not set. + type: optional + + SysUserSummary: + type: UserBaseSummary + + Tag: + properties: + allowed_values: + docs: | + The allowed values for the tag, where a value is provided when a + tag is associated with an object. If empty, then no value should be + provided when the association is made. + type: optional> + description: + docs: | + An informative description for the tag that should provide context + on the tag's purpose and usage. + type: optional + name: + docs: | + The name of the tag, which denotes the logical concept by which all + tagged objects will be associated. The name is guaranteed to be + unique. + type: optional + + TagSummary: + properties: + name: + docs: | + The name of the tag, which denotes the logical concept by which all + tagged objects will be associated. The name is guaranteed to be + unique. + type: optional + + TagWithValue: + properties: + tag: + type: TagSummary + value: + docs: The value for the object's association with the tag. + type: optional + + TagsCreateResponse: + docs: The response to creating a new tag. + properties: + tag: + type: Tag + + tags-delete-response: + docs: The response for deleting a tag. + type: map + + TagsGetResponse: + docs: The response to getting a tag's information. + properties: + tag: + type: Tag + + TagsListResponse: + docs: The response to listing the tags. + properties: + next_cursor: + docs: | + The cursor used to iterate subsequent results in accordance to the + sort order. If not set, then no later elements exist. + type: optional + prev_cursor: + docs: | + The cursor used to iterate preceding results in accordance to the + sort order. If not set, then no prior elements exist. + type: optional + tags: + docs: The list of tags. + type: list + + TagsUpdateAllowedValues: + docs: Specifies an update to a tag's allowed values. + properties: + set: + docs: Sets the allowed values for the tag. + type: optional> + + TagsUpdateResponse: + docs: The response for updating a tag. + properties: + tag: + type: Tag + + Ticket: + properties: + group: + type: optional + rev_org: + type: optional + severity: + type: optional + + TicketSeverity: + docs: Severity of the ticket. + enum: + - name: blocker + value: blocker + - name: high + value: high + - name: low + value: low + - name: medium + value: medium + + TimelineComment: + properties: + artifacts: + docs: The artifacts for the comment. + type: optional> + body: + docs: | + The comment's body. If the comment has been deleted, then no body + will appear in the response. + type: optional + body_type: + type: optional + snap_kit_body: + docs: The SnapKit Body of the comment. + type: optional> + + TimelineCommentBodyType: + docs: The type of the body to use for the comment. + enum: + - name: snap_kit + value: snap_kit + - name: text + value: text + + TimelineEntriesCreateRequestTimelineComment: + properties: + artifacts: + docs: The IDs of the artifacts attached to the comment. + type: optional> + body: + docs: The comment's body. + type: optional + body_type: + type: optional + snap_kit_body: + docs: The SnapKit body of the comment. + type: optional> + + TimelineEntriesCreateRequestType: + enum: + - name: timeline_comment + value: timeline_comment + + TimelineEntriesCreateResponse: + docs: The response to creating a timeline entry for an object. + properties: + timeline_entry: + type: TimelineEntry + + TimelineEntriesGetResponse: + docs: The request to getting a timeline entry. + properties: + timeline_entry: + type: TimelineEntry + + TimelineEntriesListResponse: + docs: The response to listing timeline entries for an object. + properties: + next_cursor: + docs: | + The cursor used to iterate subsequent results in accordance to the + sort order. If not set, then no later elements exist. + type: optional + prev_cursor: + docs: | + The cursor used to iterate preceding results in accordance to the + sort order. If not set, then no prior elements exist. + type: optional + timeline_entries: + docs: The timeline entries for the object. + type: list + + TimelineEntriesUpdateRequestTimelineComment: + properties: + artifacts: + type: optional + body: + docs: The updated comment's body. + type: optional + body_type: + type: optional + snap_kit_body: + docs: The SnapKit body of the comment. + type: optional> + + TimelineEntriesUpdateRequestTimelineCommentArtifacts: + properties: + add: + docs: | + Adds the provided artifacts to the comment. An artifact cannot be + added more than once, i.e. nothing is done if the artifact is + already attached. Mutually exclusive with `set`. + type: optional> + remove: + docs: | + Removes the provided artifacts from the comment. If an artifact is + not present, then it's ignored. Mututally exclusive with `set`. + type: optional> + set: + docs: Sets the field to the provided artifacts. + type: optional> + + TimelineEntriesUpdateRequestType: + enum: + - name: timeline_comment + value: timeline_comment + + TimelineEntriesUpdateResponse: + docs: The response to updating a timeline entry. + properties: + timeline_entry: + type: TimelineEntry + + TimelineEntry: + base-properties: {} + union: + timeline_comment: + type: TimelineComment + + TimelineEntryBase: + type: AtomBase + + TimelineEntryType: + enum: + - name: timeline_comment + value: timeline_comment + + TimelineEntryVisibility: + docs: | + The visibility of the entry. If 'private', then the entry is only + visible to the creator, otherwise if not set, then the entry has + default visibility. + enum: + - name: private + value: private + + UserBase: + properties: + display_name: + docs: | + The user's display name. The name is non-unique and mutable. + type: optional + display_picture: + type: optional + email: + docs: Email address of the user. + type: optional + full_name: + docs: Full name of the user. + type: optional + phone_numbers: + docs: Phone numbers of the user. + type: optional> + state: + type: optional + + UserBaseSummary: + properties: + display_name: + docs: | + The user's display name. The name is non-unique and mutable. + type: optional + display_picture: + type: optional + email: + docs: Email address of the user. + type: optional + full_name: + docs: Full name of the user. + type: optional + state: + type: optional + + UserState: + docs: State of the user. + enum: + - name: active + value: active + - name: deactivated + value: deactivated + - name: locked + value: locked + - name: shadow + value: shadow + - name: unassigned + value: unassigned + + UserSummary: + base-properties: {} + union: + dev_user: + type: DevUserSummary + rev_user: + type: RevUserSummary + sys_user: + type: SysUserSummary + + UserType: + enum: + - name: dev_user + value: dev_user + - name: rev_user + value: rev_user + - name: sys_user + value: sys_user + + Webhook: + properties: + event_types: + docs: The event types that the webhook will receive. + type: optional> + secret: + docs: The secret to use for verifying webhook events. + type: optional + status: + type: optional + url: + docs: The URL of the webhook endpoint. + type: optional + + WebhookEventRequest: + properties: + id: + type: string + docs: The event's ID. + part_created: + type: optional + part_deleted: + type: optional + part_updated: + type: optional + rev_org_created: + type: optional + rev_org_deleted: + type: optional + rev_org_updated: + type: optional + tag_created: + type: optional + tag_deleted: + type: optional + tag_updated: + type: optional + timeline_entry_created: + type: optional + timeline_entry_deleted: + type: optional + timeline_entry_updated: + type: optional + timestamp: + docs: | + Timestamp of the webhook's invocation for the event. Note this + should be used to protect against replay attacks, where the event + should only be processed if the timestamp isn't stale by several + seconds. + type: optional + type: + type: optional + verify: + type: optional + webhook_created: + type: optional + webhook_deleted: + type: optional + webhook_id: + type: string + docs: ID of the webhook for the event. + webhook_updated: + type: optional + work_created: + type: optional + work_deleted: + type: optional + work_updated: + type: optional + + WebhookEventResponse: + properties: + challenge: + docs: | + The challenge from the "verify" request, otherwise this should not + be set for other request types. + type: optional + + WebhookEventType: + docs: The event types that the webhook will receive. + enum: + - name: part_created + value: part_created + - name: part_deleted + value: part_deleted + - name: part_updated + value: part_updated + - name: rev_org_created + value: rev_org_created + - name: rev_org_deleted + value: rev_org_deleted + - name: rev_org_updated + value: rev_org_updated + - name: tag_created + value: tag_created + - name: tag_deleted + value: tag_deleted + - name: tag_updated + value: tag_updated + - name: timeline_entry_created + value: timeline_entry_created + - name: timeline_entry_deleted + value: timeline_entry_deleted + - name: timeline_entry_updated + value: timeline_entry_updated + - name: verify + value: verify + - name: webhook_created + value: webhook_created + - name: webhook_deleted + value: webhook_deleted + - name: webhook_updated + value: webhook_updated + - name: work_created + value: work_created + - name: work_deleted + value: work_deleted + - name: work_updated + value: work_updated + + WebhookEventVerify: + properties: + challenge: + type: string + docs: The challenge that must be echoed in the response. + + WebhookStatus: + docs: The status of the webhook. + enum: + - name: active + value: active + - name: inactive + value: inactive + - name: unverified + value: unverified + + WebhooksCreateResponse: + docs: The response to creating a new webhook. + properties: + webhook: + type: Webhook + + webhooks-delete-response: + docs: The response to deleting the webhook. + type: map + + WebhooksGetResponse: + docs: The response to getting the information for the webhook. + properties: + webhook: + type: Webhook + + WebhooksListResponse: + docs: The response to listing the webhooks. + properties: + webhooks: + docs: The list of webhooks. + type: list + + WebhooksUpdateAction: + docs: The action to update the webhook's status. + enum: + - name: activate + value: activate + - name: deactivate + value: deactivate + + WebhooksUpdateRequestEventTypes: + properties: + add: + docs: | + The event types to add. If a provided event type is already set for + the webhook, then nothing is done. Note this is mutually exclusive + with 'set'. + type: optional> + remove: + docs: | + The event types to remove. If a provided event type isn't set for + the webhook, then nothing is done. Note this is mutually exclusive + with 'set'. + type: optional> + set: + docs: | + The updated event types, which will replace the webhook's current + event types. Note this is mutually exclusive with 'add' and + 'remove'. + type: optional> + + WebhooksUpdateResponse: + docs: The response to updating the webhook. + properties: + webhook: + type: Webhook + + Work: + base-properties: {} + union: + issue: + type: Issue + ticket: + type: Ticket + + WorkBase: + properties: + applies_to_part: + type: optional + artifacts: + docs: The artifacts attached to the work item. + type: optional> + body: + docs: Body of the work object. + type: optional + owned_by: + docs: The users that own the work. + type: optional> + reported_by: + docs: Users that reported the work. + type: optional> + stage: + type: optional + tags: + docs: Tags associated with the object. + type: optional> + target_close_date: + docs: Timestamp when the work is expected to be complete. + type: optional + title: + docs: Title of the work object. + type: optional + + WorkType: + enum: + - name: issue + value: issue + - name: ticket + value: ticket + + WorksCreateRequestIssue: + properties: + priority: + type: optional + sprint: + docs: The sprint that the issue belongs to. + type: optional + + WorksCreateRequestTicket: + properties: + group: + docs: The group that the ticket is associated with. + type: optional + rev_org: + docs: The Rev organization that the ticket is associated with. + type: optional + severity: + type: optional + + WorksCreateResponse: + properties: + work: + type: Work + + works-delete-response: + type: map + + WorksExportResponse: + properties: + works: + docs: The resulting collection of work items. + type: list + + WorksGetResponse: + properties: + work: + type: Work + + WorksListResponse: + properties: + next_cursor: + docs: | + The cursor used to iterate subsequent results in accordance to the + sort order. If not set, then no later elements exist. + type: optional + prev_cursor: + docs: | + The cursor used to iterate preceding results in accordance to the + sort order. If not set, then no prior elements exist. + type: optional + works: + docs: The list of works. + type: list + + WorksUpdateRequestArtifactIds: + properties: + set: + docs: Sets the IDs to the provided artifact IDs. + type: optional> + + WorksUpdateRequestIssue: + properties: + priority: + type: optional + sprint: + docs: Updates the sprint that the issue belongs to. + type: optional + + WorksUpdateRequestOwnedBy: + properties: + set: + docs: | + Sets the owner IDs to the provided user IDs. This must not be + empty. + type: optional> + + WorksUpdateRequestReportedBy: + properties: + set: + docs: | + Sets the users that reported the work to the provided user IDs. + type: optional> + + WorksUpdateRequestTags: + properties: + set: + docs: Sets the provided tags on the work item. + type: optional> + + WorksUpdateRequestTicket: + properties: + group: + docs: The group that the ticket is associated with. + type: optional + rev_org: + docs: | + Updates the Rev organization that the ticket is associated with. + type: optional + severity: + type: optional + + WorksUpdateResponse: + properties: + work: + type: Work diff --git a/fern/public/definition/artifacts.yml b/fern/public/definition/artifacts.yml new file mode 100644 index 00000000..c13ffe97 --- /dev/null +++ b/fern/public/definition/artifacts.yml @@ -0,0 +1,34 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/fern-api/fern/main/fern.schema.json + +imports: + root: __package__.yml + +service: + auth: true + base-path: "" + endpoints: + locate: + path: /artifacts.locate + method: GET + request: + name: ArtifactsLocateRequest + query-parameters: + id: + type: string + response: + docs: Success. + type: root.ArtifactsLocateResponse + + prepare: + path: /artifacts.prepare + method: POST + request: + name: ArtifactsPrepareRequest + body: + properties: + file_name: + type: string + docs: The name of the file that's being uploaded. + response: + docs: Success. + type: root.ArtifactsPrepareResponse diff --git a/fern/public/definition/authConnection.yml b/fern/public/definition/authConnection.yml new file mode 100644 index 00000000..69cdc3f4 --- /dev/null +++ b/fern/public/definition/authConnection.yml @@ -0,0 +1,76 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/fern-api/fern/main/fern.schema.json + +imports: + root: __package__.yml + +service: + auth: true + base-path: "" + endpoints: + dev-org-auth-connections-create: + path: /dev-orgs.auth-connections.create + method: POST + request: + body: + type: root.DevOrgAuthConnectionsCreateRequest + docs: | + Request to create a new enterprise authentication connection. + response: + docs: Success. + type: root.DevOrgAuthConnectionsCreateResponse + + dev-org-auth-connections-delete: + path: /dev-orgs.auth-connections.delete + method: POST + request: + name: DevOrgAuthConnectionsDeleteRequest + body: + properties: + id: + type: string + docs: ID of the authentication connection to be deleted. + + dev-org-auth-connections-get: + path: /dev-orgs.auth-connections.get + method: GET + request: + name: DevOrgAuthConnectionsGetRequest + query-parameters: + id: + type: string + response: + docs: Success. + type: root.DevOrgAuthConnectionsGetResponse + + dev-org-auth-connections-list: + path: /dev-orgs.auth-connections.list + method: GET + response: + docs: Success. + type: root.DevOrgAuthConnectionsListResponse + + dev-org-auth-connections-toggle: + path: /dev-orgs.auth-connections.toggle + method: POST + request: + name: DevOrgAuthConnectionsToggleRequest + body: + properties: + id: + type: string + docs: ID of the authentication connection to be toggled. + toggle: + type: optional + + dev-org-auth-connections-update: + path: /dev-orgs.auth-connections.update + method: POST + request: + body: + type: root.DevOrgAuthConnectionsUpdateRequest + docs: | + Request to update an enterprise authentication connection for a Dev + organization. + response: + docs: Success. + type: root.DevOrgAuthConnectionsUpdateResponse diff --git a/fern/public/definition/authTokens.yml b/fern/public/definition/authTokens.yml new file mode 100644 index 00000000..d30ba30c --- /dev/null +++ b/fern/public/definition/authTokens.yml @@ -0,0 +1,131 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/fern-api/fern/main/fern.schema.json + +imports: + root: __package__.yml + +service: + auth: true + base-path: "" + endpoints: + create: + path: /auth-tokens.create + method: POST + request: + name: AuthTokensCreateRequest + body: + properties: + aud: + docs: The expected audience values with respect to the token. + type: optional> + client_id: + docs: > + An identifier that represents the application which is + requesting + the token. If no client_id is present in the request to generate + an + application access token (AAT), DevRev will generate a + client_id. + This client_id is only associated with an AAT. + type: optional + expires_in: + docs: | + The expected validity lifetime of the token in number of days. + type: optional + grant_type: + type: optional + requested_token_type: + type: optional + rev_info: + type: optional + scope: + docs: | + The requested set of scopes associated with the issued token. A + space-delimited list of values in which the order of values does + not matter. + type: optional + subject_token: + docs: | + Represents the entity that requests the token. Not required when + requesting an application access token (AAT). + type: optional + subject_token_type: + type: optional + token_hint: + docs: A hint that identifies the token. + type: optional + response: + docs: Success. + type: root.AuthTokensCreateResponse + + delete: + path: /auth-tokens.delete + method: POST + request: + name: AuthTokensDeleteRequest + body: + properties: + token_id: + docs: > + The unique identifier for the token under a given Dev + organization. + If no token ID is provided, then the token ID will be set from + the + JTI claim of the token in the authorization header. + type: optional + + get: + path: /auth-tokens.get + method: GET + request: + name: AuthTokensGetRequest + query-parameters: + token_id: + type: string + response: + docs: Success. + type: root.AuthTokensGetResponse + + list: + path: /auth-tokens.list + method: GET + request: + name: AuthTokensListRequest + query-parameters: + client_id: + type: optional + requested_token_type: + type: optional + subject: + type: optional + response: + docs: Success. + type: root.AuthTokensListResponse + + selfDelete: + path: /auth-tokens.self.delete + method: POST + request: + name: AuthTokensSelfDeleteRequest + body: + properties: + requested_token_type: + type: optional + + update: + path: /auth-tokens.update + method: POST + request: + name: AuthTokensUpdateRequest + body: + properties: + token_hint: + type: string + docs: A hint that identifies the token. + token_id: + type: string + docs: > + The unique identifier of the token under a given Dev + organization. + response: + docs: Success. + type: root.AuthTokensUpdateResponse diff --git a/fern/public/definition/devUsers.yml b/fern/public/definition/devUsers.yml new file mode 100644 index 00000000..62faabce --- /dev/null +++ b/fern/public/definition/devUsers.yml @@ -0,0 +1,40 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/fern-api/fern/main/fern.schema.json + +imports: + root: __package__.yml + +service: + auth: true + base-path: "" + endpoints: + list: + path: /dev-users.list + method: GET + request: + name: DevUsersListRequest + query-parameters: + cursor: + type: optional + email: + type: optional + allow-multiple: true + limit: + type: optional + mode: + type: optional + sort_by: + type: optional + allow-multiple: true + state: + type: optional + allow-multiple: true + response: + docs: Success. + type: root.DevUsersListResponse + + self: + path: /dev-users.self + method: GET + response: + docs: Success. + type: root.DevUsersSelfResponse diff --git a/fern/public/definition/parts.yml b/fern/public/definition/parts.yml new file mode 100644 index 00000000..6f57d4b7 --- /dev/null +++ b/fern/public/definition/parts.yml @@ -0,0 +1,82 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/fern-api/fern/main/fern.schema.json + +imports: + root: __package__.yml + +service: + auth: true + base-path: "" + endpoints: + create: + path: /parts.create + method: POST + request: + body: + type: root.PartsCreateRequest + response: + docs: Success. + type: root.PartsCreateResponse + + delete: + path: /parts.delete + method: POST + request: + name: PartsDeleteRequest + body: + properties: + id: + type: string + docs: The ID of the part to delete. + response: + docs: Success. + type: root.parts-delete-response + + get: + path: /parts.get + method: GET + request: + name: PartsGetRequest + query-parameters: + id: + type: string + response: + docs: Success. + type: root.PartsGetResponse + + list: + path: /parts.list + method: GET + request: + name: PartsListRequest + query-parameters: + created_by: + type: optional + allow-multiple: true + cursor: + type: optional + limit: + type: optional + mode: + type: optional + name: + type: optional + allow-multiple: true + owned_by: + type: optional + allow-multiple: true + type: + type: optional + allow-multiple: true + response: + docs: Success. + type: root.PartsListResponse + + update: + path: /parts.update + method: POST + request: + body: + type: root.PartsUpdateRequest + response: + docs: Success. + type: root.PartsUpdateResponse diff --git a/fern/public/definition/revOrgs.yml b/fern/public/definition/revOrgs.yml new file mode 100644 index 00000000..a081417d --- /dev/null +++ b/fern/public/definition/revOrgs.yml @@ -0,0 +1,134 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/fern-api/fern/main/fern.schema.json + +imports: + root: __package__.yml + +service: + auth: true + base-path: "" + endpoints: + create: + path: /rev-orgs.create + method: POST + request: + name: RevOrgsCreateRequest + body: + properties: + description: + docs: Description of the Rev organization. + type: optional + display_name: + type: string + docs: Name of the Rev organization. + domain: + docs: Company's domain name. Example - 'devrev.ai'. + type: optional + environment: + type: optional + external_ref: + docs: > + External ref is a custom unique identifier which is a reference + to + an unique id for this organization's data in some system of + records. + type: optional + tier: + docs: The tier of the RevOrg. + type: optional + response: + docs: Success. + type: root.RevOrgsCreateResponse + + delete: + path: /rev-orgs.delete + method: POST + request: + name: RevOrgsDeleteRequest + body: + properties: + id: + type: string + docs: The ID of Rev organization to delete. + response: + docs: Success. + type: root.rev-orgs-delete-response + + get: + path: /rev-orgs.get + method: GET + request: + name: RevOrgsGetRequest + query-parameters: + id: + type: string + response: + docs: Success. + type: root.RevOrgsGetResponse + + list: + path: /rev-orgs.list + method: GET + request: + name: RevOrgsListRequest + query-parameters: + created_by: + type: optional + allow-multiple: true + created_date.after: + type: optional + created_date.before: + type: optional + cursor: + type: optional + external_ref: + type: optional + allow-multiple: true + limit: + type: optional + mode: + type: optional + modified_date.after: + type: optional + modified_date.before: + type: optional + sort_by: + type: optional + allow-multiple: true + response: + docs: Success. + type: root.RevOrgsListResponse + + update: + path: /rev-orgs.update + method: POST + request: + name: RevOrgsUpdateRequest + body: + properties: + description: + docs: Description of the Rev organization. + type: optional + display_name: + docs: Customer chosen name for the Rev organization. + type: optional + domain: + docs: Company's domain name. Example - 'devrev.ai'. + type: optional + environment: + type: optional + external_ref: + docs: > + External ref is a custom unique identifier which is a reference + to + an unique id for this organization's data in some system of + records. + type: optional + id: + type: string + docs: The ID of Rev organization to update. + tier: + docs: The tier of the RevOrg. + type: optional + response: + docs: Success. + type: root.RevOrgsUpdateResponse diff --git a/fern/public/definition/tags.yml b/fern/public/definition/tags.yml new file mode 100644 index 00000000..d8adc26a --- /dev/null +++ b/fern/public/definition/tags.yml @@ -0,0 +1,97 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/fern-api/fern/main/fern.schema.json + +imports: + root: __package__.yml + +service: + auth: true + base-path: "" + endpoints: + create: + path: /tags.create + method: POST + request: + name: TagsCreateRequest + body: + properties: + allowed_values: + docs: | + The allowed values for the tag, or empty if no values are + permitted. + type: optional> + description: + docs: The description for the tag. + type: optional + name: + type: string + docs: | + The name for the tag, which must be unique across all tags. + response: + docs: Success. + type: root.TagsCreateResponse + + delete: + path: /tags.delete + method: POST + request: + name: TagsDeleteRequest + body: + properties: + id: + type: string + docs: The ID of the tag to delete. + response: + docs: Success. + type: root.tags-delete-response + + get: + path: /tags.get + method: GET + request: + name: TagsGetRequest + query-parameters: + id: + type: string + response: + docs: Success. + type: root.TagsGetResponse + + list: + path: /tags.list + method: GET + request: + name: TagsListRequest + query-parameters: + cursor: + type: optional + limit: + type: optional + mode: + type: optional + response: + docs: Success. + type: root.TagsListResponse + + update: + path: /tags.update + method: POST + request: + name: TagsUpdateRequest + body: + properties: + allowed_values: + type: optional + description: + docs: The updated description of the tag. + type: optional + id: + type: string + docs: The ID of the tag to update. + name: + docs: | + The updated name of the tag. The name must be unique across all + tags. + type: optional + response: + docs: Success. + type: root.TagsUpdateResponse diff --git a/fern/public/definition/timelineEntries.yml b/fern/public/definition/timelineEntries.yml new file mode 100644 index 00000000..5950109a --- /dev/null +++ b/fern/public/definition/timelineEntries.yml @@ -0,0 +1,60 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/fern-api/fern/main/fern.schema.json + +imports: + root: __package__.yml + +service: + auth: true + base-path: "" + endpoints: + create: + path: /timeline-entries.create + method: POST + request: + body: + type: root.TimelineEntriesCreateRequest + docs: The request to create a timeline entry for an object. + response: + docs: Success. + type: root.TimelineEntriesCreateResponse + + get: + path: /timeline-entries.get + method: GET + request: + name: TimelineEntriesGetRequest + query-parameters: + id: + type: string + response: + docs: Success. + type: root.TimelineEntriesGetResponse + + list: + path: /timeline-entries.list + method: GET + request: + name: TimelineEntriesListRequest + query-parameters: + object: + type: string + cursor: + type: optional + limit: + type: optional + mode: + type: optional + response: + docs: Success. + type: root.TimelineEntriesListResponse + + update: + path: /timeline-entries.update + method: POST + request: + body: + type: root.TimelineEntriesUpdateRequest + docs: The request to update a timeline entry. + response: + docs: Success. + type: root.TimelineEntriesUpdateResponse diff --git a/fern/public/definition/webhooks.yml b/fern/public/definition/webhooks.yml new file mode 100644 index 00000000..f76b1d33 --- /dev/null +++ b/fern/public/definition/webhooks.yml @@ -0,0 +1,102 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/fern-api/fern/main/fern.schema.json + +imports: + root: __package__.yml + +service: + auth: true + base-path: "" + endpoints: + create: + path: /webhooks.create + method: POST + request: + name: WebhooksCreateRequest + body: + properties: + event_types: + docs: The event types that the webhook endpoint will receive. + type: optional> + secret: + docs: > + The secret to use when verifying webhook events. If provided, + the + secret must be between 8 and 32 bytes (inclusive). If not set, a + secret will be automatically generated and provided in the + response. + type: optional + url: + type: string + docs: The URL of the webhook endpoint. + response: + docs: Success. + type: root.WebhooksCreateResponse + + delete: + path: /webhooks.delete + method: POST + request: + name: WebhooksDeleteRequest + body: + properties: + id: + type: string + docs: ID for the webhook. + response: + docs: Success. + type: root.webhooks-delete-response + + get: + path: /webhooks.get + method: GET + request: + name: WebhooksGetRequest + query-parameters: + id: + type: string + response: + docs: Success. + type: root.WebhooksGetResponse + + list: + path: /webhooks.list + method: GET + response: + docs: Success. + type: root.WebhooksListResponse + + update: + path: /webhooks.update + method: POST + request: + name: WebhooksUpdateRequest + body: + properties: + action: + type: optional + event_types: + type: optional + id: + type: string + docs: ID for the webhook. + secret: + docs: > + If provided, updates the secret that's used when verifying + webhook + events, which must be between 8 and 32 bytes (inclusive). + Otherwise + if empty, then a new secret is generated. If the webhook is + active, + then its status will transition to the 'unverified' state and it + won't receive any object events until successfully verified. + type: optional + url: + docs: > + The webhook's updated URL. If the webhook is active, then the + webhook's status will transition to the 'unverified' state and + it + won't receive any object events until successfully verified. + type: optional + response: + docs: Success. + type: root.WebhooksUpdateResponse diff --git a/fern/public/definition/works.yml b/fern/public/definition/works.yml new file mode 100644 index 00000000..293417cc --- /dev/null +++ b/fern/public/definition/works.yml @@ -0,0 +1,136 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/fern-api/fern/main/fern.schema.json + +imports: + root: __package__.yml + +service: + auth: true + base-path: "" + endpoints: + create: + path: /works.create + method: POST + request: + body: + type: root.WorksCreateRequest + response: + docs: Success. + type: root.WorksCreateResponse + + delete: + path: /works.delete + method: POST + request: + name: WorksDeleteRequest + body: + properties: + id: + type: string + docs: The work's ID. + response: + docs: Success. + type: root.works-delete-response + + export: + path: /works.export + method: GET + request: + name: WorksExportRequest + query-parameters: + applies_to_part: + type: optional + allow-multiple: true + created_by: + type: optional + allow-multiple: true + first: + type: optional + issue.priority: + type: optional + allow-multiple: true + issue.rev_orgs: + type: optional + allow-multiple: true + owned_by: + type: optional + allow-multiple: true + stage.name: + type: optional + allow-multiple: true + ticket.rev_org: + type: optional + allow-multiple: true + ticket.severity: + type: optional + allow-multiple: true + type: + type: optional + allow-multiple: true + response: + docs: Success. + type: root.WorksExportResponse + + get: + path: /works.get + method: GET + request: + name: WorksGetRequest + query-parameters: + id: + type: string + response: + docs: Success. + type: root.WorksGetResponse + + list: + path: /works.list + method: GET + request: + name: WorksListRequest + query-parameters: + applies_to_part: + type: optional + allow-multiple: true + created_by: + type: optional + allow-multiple: true + cursor: + type: optional + issue.priority: + type: optional + allow-multiple: true + issue.rev_orgs: + type: optional + allow-multiple: true + limit: + type: optional + mode: + type: optional + owned_by: + type: optional + allow-multiple: true + stage.name: + type: optional + allow-multiple: true + ticket.rev_org: + type: optional + allow-multiple: true + ticket.severity: + type: optional + allow-multiple: true + type: + type: optional + allow-multiple: true + response: + docs: Success. + type: root.WorksListResponse + + update: + path: /works.update + method: POST + request: + body: + type: root.WorksUpdateRequest + response: + docs: Success. + type: root.WorksUpdateResponse From 123629ad239d2e78dfc3621606c0706e2a07604b Mon Sep 17 00:00:00 2001 From: Zach Kirsch Date: Wed, 3 May 2023 12:56:09 -0700 Subject: [PATCH 5/5] Remove definition folders --- .gitignore | 1 + fern/beta/definition/__package__.yml | 726 -------- fern/beta/definition/api.yml | 13 - fern/beta/definition/conversations.yml | 167 -- fern/beta/definition/links.yml | 79 - fern/beta/definition/revUsers.yml | 171 -- fern/beta/definition/sysUsers.yml | 50 - fern/public/definition/__package__.yml | 1786 -------------------- fern/public/definition/api.yml | 13 - fern/public/definition/artifacts.yml | 34 - fern/public/definition/authConnection.yml | 76 - fern/public/definition/authTokens.yml | 131 -- fern/public/definition/devUsers.yml | 40 - fern/public/definition/parts.yml | 82 - fern/public/definition/revOrgs.yml | 134 -- fern/public/definition/tags.yml | 97 -- fern/public/definition/timelineEntries.yml | 60 - fern/public/definition/webhooks.yml | 102 -- fern/public/definition/works.yml | 136 -- 19 files changed, 1 insertion(+), 3897 deletions(-) create mode 100644 .gitignore delete mode 100644 fern/beta/definition/__package__.yml delete mode 100644 fern/beta/definition/api.yml delete mode 100644 fern/beta/definition/conversations.yml delete mode 100644 fern/beta/definition/links.yml delete mode 100644 fern/beta/definition/revUsers.yml delete mode 100644 fern/beta/definition/sysUsers.yml delete mode 100644 fern/public/definition/__package__.yml delete mode 100644 fern/public/definition/api.yml delete mode 100644 fern/public/definition/artifacts.yml delete mode 100644 fern/public/definition/authConnection.yml delete mode 100644 fern/public/definition/authTokens.yml delete mode 100644 fern/public/definition/devUsers.yml delete mode 100644 fern/public/definition/parts.yml delete mode 100644 fern/public/definition/revOrgs.yml delete mode 100644 fern/public/definition/tags.yml delete mode 100644 fern/public/definition/timelineEntries.yml delete mode 100644 fern/public/definition/webhooks.yml delete mode 100644 fern/public/definition/works.yml diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..73b090dc --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +fern/*/definition/ \ No newline at end of file diff --git a/fern/beta/definition/__package__.yml b/fern/beta/definition/__package__.yml deleted file mode 100644 index 4628ef31..00000000 --- a/fern/beta/definition/__package__.yml +++ /dev/null @@ -1,726 +0,0 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/fern-api/fern/main/fern.schema.json - -types: - ArtifactSummary: - type: AtomBaseSummary - - AtomBase: - properties: - created_by: - type: optional - created_date: - docs: Timestamp when the object was created. - type: optional - display_id: - docs: Human-readable object ID unique to the Dev organization. - type: optional - id: - type: string - docs: Globally unique object ID. - modified_by: - type: optional - modified_date: - docs: Timestamp when the object was last modified. - type: optional - - AtomBaseSummary: - properties: - display_id: - docs: Human-readable object ID unique to the Dev organization. - type: optional - id: - type: string - docs: Globally unique object ID. - - CapabilitySummary: - type: PartBaseSummary - - Conversation: - properties: - description: - docs: Description of the conversation object. - type: optional - group: - type: optional - messages: - docs: The latest messages on the conversation. - type: optional> - owned_by: - docs: Owner IDs for the conversation. - type: optional> - stage: - type: optional - title: - docs: Title of the conversation object. - type: optional - - ConversationSummary: - properties: - title: - docs: Title of the conversation object. - type: optional - - ConversationsCreateRequestMessage: - properties: - artifacts: - docs: The IDs of the artifacts to the message. - type: optional> - body: - docs: The message's body. - type: optional - - ConversationsCreateRequestTypeValue: - enum: - - name: support - value: support - - ConversationsCreateResponse: - docs: The response to creating a new conversation. - properties: - conversation: - type: Conversation - - conversations-delete-response: - docs: The response for deleting a conversation. - type: map - - ConversationsExportResponse: - properties: - conversations: - docs: The resulting collection of conversation items. - type: list - - ConversationsGetResponse: - docs: The response to getting a conversation's information. - properties: - conversation: - type: Conversation - - ConversationsListResponse: - docs: The response to listing the conversations. - properties: - conversations: - docs: The list of conversations. - type: list - next_cursor: - docs: | - The cursor used to iterate subsequent results in accordance to the - sort order. If not set, then no later elements exist. - type: optional - prev_cursor: - docs: | - The cursor used to iterate preceding results in accordance to the - sort order. If not set, then no prior elements exist. - type: optional - - ConversationsUpdateRequestAppliesToParts: - properties: - set: - docs: Updates the parts that the conversation applies to. - type: optional> - - ConversationsUpdateResponse: - docs: The response for updating a conversation. - properties: - conversation: - type: Conversation - - DevUserSummary: - type: UserBaseSummary - - EnhancementSummary: - type: PartBaseSummary - - ErrorBadRequest: - properties: - type: - type: optional - - error-bad-request-bad-request: - type: map - - ErrorBadRequestInvalidEnumValue: - properties: - allowed_values: - docs: The allowed values for the field. - type: list - field_name: - type: string - docs: The field whose enum value is invalid. - value: - type: string - docs: The value that was received. - - ErrorBadRequestMissingRequiredField: - properties: - field_name: - type: string - docs: The missing field's name. - - error-bad-request-parse-error: - type: map - - ErrorBadRequestType: - enum: - - name: bad_request - value: bad_request - - name: invalid_enum_value - value: invalid_enum_value - - name: missing_required_field - value: missing_required_field - - name: parse_error - value: parse_error - - name: value_not_permitted - value: value_not_permitted - - ErrorBadRequestValueNotPermitted: - properties: - field_name: - type: string - docs: The field whose value is not permitted. - reason: - docs: The reason the value isn't permitted. - type: optional - - ErrorBase: - properties: - message: - docs: The message associated with the error. - type: optional - - ErrorForbidden: - properties: - type: - type: optional - - error-forbidden-forbidden: - type: map - - ErrorForbiddenType: - enum: - - name: forbidden - value: forbidden - - ErrorInternalServerError: - properties: - reference_id: - docs: | - A unique ID that's generated for the error that can be used for - inquiry. - type: optional - type: - type: optional - - error-internal-server-error-internal-error: - type: map - - ErrorInternalServerErrorType: - enum: - - name: internal_error - value: internal_error - - ErrorNotFound: - properties: - type: - type: optional - - error-not-found-not-found: - type: map - - ErrorNotFoundType: - enum: - - name: not_found - value: not_found - - ErrorServiceUnavailable: - properties: - type: - type: optional - - error-service-unavailable-service-unavailable: - type: map - - ErrorServiceUnavailableType: - enum: - - name: service_unavailable - value: service_unavailable - - ErrorTooManyRequests: - properties: - retry_after: - docs: | - The number of seconds after which the client should retry. - type: optional - type: - type: optional - - error-too-many-requests-too-many-requests: - type: map - - ErrorTooManyRequestsType: - enum: - - name: too_many_requests - value: too_many_requests - - ErrorUnauthorized: - properties: - type: - type: optional - - ErrorUnauthorizedType: - enum: - - name: unauthenticated - value: unauthenticated - - error-unauthorized-unauthenticated: - type: map - - FeatureSummary: - type: PartBaseSummary - - GroupSummary: - type: AtomBaseSummary - - IssuePriority: - docs: Priority of the work based upon impact and criticality. - enum: - - name: p0 - value: p0 - - name: p1 - value: p1 - - name: p2 - value: p2 - - name: p3 - value: p3 - - IssueSummary: - properties: - priority: - type: optional - - Link: - properties: - link_type: - type: optional - source: - type: optional - target: - type: optional - - LinkEndpointSummary: - base-properties: {} - union: - capability: - type: CapabilitySummary - conversation: - type: ConversationSummary - enhancement: - type: EnhancementSummary - feature: - type: FeatureSummary - issue: - type: IssueSummary - product: - type: ProductSummary - ticket: - type: TicketSummary - - LinkEndpointType: - enum: - - name: capability - value: capability - - name: conversation - value: conversation - - name: enhancement - value: enhancement - - name: feature - value: feature - - name: issue - value: issue - - name: product - value: product - - name: ticket - value: ticket - - LinkRevUserToRevOrgResponse: - docs: The response to link a rev user to a rev org. - properties: - rev_user: - type: RevUser - - LinkType: - docs: Type of link used to define the relationship. - enum: - - name: developed_with - value: developed_with - - name: imports - value: imports - - name: is_dependent_on - value: is_dependent_on - - name: is_duplicate_of - value: is_duplicate_of - - name: is_parent_of - value: is_parent_of - - name: is_part_of - value: is_part_of - - name: is_related_to - value: is_related_to - - name: serves - value: serves - - LinksCreateResponse: - docs: The response to creating a new link. - properties: - link: - type: Link - - links-delete-response: - docs: The response for deleting a link. - type: map - - LinksDirection: - docs: | - The direction of link, which can either be outbound such that the - object is the source of the link, otherwise inbound where the object is - the target of the link. - enum: - - name: is_source - value: is_source - - name: is_target - value: is_target - - LinksGetResponse: - docs: The response to getting a link's information. - properties: - link: - type: Link - - LinksListResponse: - docs: The response to listing the links. - properties: - links: - docs: The list of links. - type: list - next_cursor: - docs: | - The cursor used to iterate subsequent results in accordance to the - sort order. If not set, then no later elements exist. - type: optional - prev_cursor: - docs: | - The cursor used to iterate preceding results in accordance to the - sort order. If not set, then no prior elements exist. - type: optional - - ListMode: - docs: | - The iteration mode to use. If "after", then entries after the provided - cursor will be returned, or if no cursor is provided, then from the - beginning. If "before", then entries before the provided cursor will be - returned, or if no cursor is provided, then from the end. Entries will - always be returned in the specified sort-by order. - enum: - - name: after - value: after - - name: before - value: before - - OrgBaseSummary: - properties: - display_name: - docs: Name of the Organization. - type: optional - - OrgSummary: - base-properties: {} - union: - rev_org: - type: RevOrgSummary - - OrgType: - enum: - - name: rev_org - value: rev_org - - PartBaseSummary: - properties: - name: - docs: Name of the part. - type: optional - - ProductSummary: - type: PartBaseSummary - - RevOrgSummary: - type: OrgBaseSummary - - RevUser: - properties: - description: - docs: Description of the Rev user. - type: optional - external_ref: - docs: | - External ref is a mutable unique identifier for a user within the - Rev organization from your primary customer record. If none is - available, a good alternative is the email address/phone number - which could uniquely identify the user. If none is specified, a - system-generated identifier will be assigned to the user. - type: optional - rev_org: - type: optional - - RevUserSummary: - properties: - external_ref: - docs: | - External ref is a mutable unique identifier for a user within the - Rev organization from your primary customer record. If none is - available, a good alternative is the email address/phone number - which could uniquely identify the user. If none is specified, a - system-generated identifier will be assigned to the user. - type: optional - rev_org: - type: optional - - RevUsersCreateResponse: - docs: | - Response object for creating a new Rev user for Rev organization. - properties: - rev_user: - type: RevUser - - rev-users-delete-response: - docs: The response to deleting a Rev user of a Rev organization. - type: map - - RevUsersGetResponse: - docs: The returned Rev user. - properties: - rev_user: - type: RevUser - - RevUsersListResponse: - docs: | - The response to listing all Rev users matching the filter criteria. - properties: - next_cursor: - docs: | - The cursor used to iterate subsequent results in accordance to the - sort order. If not set, then no later elements exist. - type: optional - prev_cursor: - docs: | - The cursor used to iterate preceding results in accordance to the - sort order. If not set, then no prior elements exist. - type: optional - rev_users: - docs: List containing all the Rev users. - type: list - - RevUsersUpdateResponse: - docs: Updated Rev user object. - properties: - rev_user: - type: RevUser - - SetTagWithValue: - properties: - id: - type: string - docs: The ID of the tag. - value: - docs: | - The value for the object's association with the tag. If specified, - the value must be one that's specified in the tag's allowed values. - type: optional - - Stage: - docs: Describes the current stage of a work item. - properties: - name: - type: string - docs: Current stage name of the work item. - - StageInit: - docs: Sets an object's initial stage. - properties: - name: - docs: The name of the stage. - type: optional - - StageUpdate: - docs: Updates an object's stage. - properties: - name: - docs: | - The updated name of the stage, otherwise unchanged if not set. - type: optional - - SysUser: - type: UserBase - - SysUserSummary: - type: UserBaseSummary - - SysUsersListResponse: - docs: The response to listing the system users. - properties: - next_cursor: - docs: | - The cursor used to iterate subsequent results in accordance to the - sort order. If not set, then no later elements exist. - type: optional - prev_cursor: - docs: | - The cursor used to iterate preceding results in accordance to the - sort order. If not set, then no prior elements exist. - type: optional - sys_users: - docs: The list of system users. - type: list - - SysUsersUpdateResponse: - docs: Updated Sys user object. - properties: - sys_user: - type: SysUser - - TicketSeverity: - docs: Severity of the ticket. - enum: - - name: blocker - value: blocker - - name: high - value: high - - name: low - value: low - - name: medium - value: medium - - TicketSummary: - properties: - rev_org: - type: optional - severity: - type: optional - - TimelineComment: - properties: - artifacts: - docs: The artifacts for the comment. - type: optional> - body: - docs: | - The comment's body. If the comment has been deleted, then no body - will appear in the response. - type: optional - body_type: - type: optional - snap_kit_body: - docs: The SnapKit Body of the comment. - type: optional> - - TimelineCommentBodyType: - docs: The type of the body to use for the comment. - enum: - - name: snap_kit - value: snap_kit - - name: text - value: text - - TimelineEntry: - base-properties: {} - union: - timeline_comment: - type: TimelineComment - - TimelineEntryBase: - type: AtomBase - - TimelineEntryType: - enum: - - name: timeline_comment - value: timeline_comment - - UnlinkRevUserFromRevOrgResponse: - docs: The response to unlink a rev user from a rev org. - properties: - rev_user: - type: RevUser - - UserBase: - properties: - display_name: - docs: | - The user's display name. The name is non-unique and mutable. - type: optional - display_picture: - type: optional - email: - docs: Email address of the user. - type: optional - full_name: - docs: Full name of the user. - type: optional - phone_numbers: - docs: Phone numbers of the user. - type: optional> - state: - type: optional - - UserBaseSummary: - properties: - display_name: - docs: | - The user's display name. The name is non-unique and mutable. - type: optional - display_picture: - type: optional - email: - docs: Email address of the user. - type: optional - full_name: - docs: Full name of the user. - type: optional - state: - type: optional - - UserState: - docs: State of the user. - enum: - - name: active - value: active - - name: deactivated - value: deactivated - - name: locked - value: locked - - name: shadow - value: shadow - - name: unassigned - value: unassigned - - UserSummary: - base-properties: {} - union: - dev_user: - type: DevUserSummary - rev_user: - type: RevUserSummary - sys_user: - type: SysUserSummary - - UserType: - enum: - - name: dev_user - value: dev_user - - name: rev_user - value: rev_user - - name: sys_user - value: sys_user - - WorkBaseSummary: - properties: - title: - docs: Title of the work object. - type: optional diff --git a/fern/beta/definition/api.yml b/fern/beta/definition/api.yml deleted file mode 100644 index 76901a15..00000000 --- a/fern/beta/definition/api.yml +++ /dev/null @@ -1,13 +0,0 @@ -name: api -display-name: DevRev Beta REST API -error-discrimination: - strategy: status-code -auth: auth-token -auth-schemes: - auth-token: - header: Authorization - name: apiKey - type: string -default-environment: default -environments: - default: '{protocol}://{hostname}' diff --git a/fern/beta/definition/conversations.yml b/fern/beta/definition/conversations.yml deleted file mode 100644 index 320b73a0..00000000 --- a/fern/beta/definition/conversations.yml +++ /dev/null @@ -1,167 +0,0 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/fern-api/fern/main/fern.schema.json - -imports: - root: __package__.yml - -service: - auth: true - base-path: "" - endpoints: - create: - path: /conversations.create - method: POST - request: - name: ConversationsCreateRequest - body: - properties: - description: - docs: Description for the conversation. - type: optional - group: - docs: The group that the conversation is associated with. - type: optional - members: - docs: The users in the conversation. - type: optional> - messages: - docs: Initial messages on the conversation. - type: optional> - stage: - type: optional - tags: - docs: Tags associated with the conversation. - type: optional> - title: - docs: The title for the conversation. - type: optional - type: - type: root.ConversationsCreateRequestTypeValue - response: - docs: Success. - type: root.ConversationsCreateResponse - - delete: - path: /conversations.delete - method: POST - request: - name: ConversationsDeleteRequest - body: - properties: - id: - type: string - docs: The ID of the conversation to delete. - response: - docs: Success. - type: root.conversations-delete-response - - export: - path: /conversations.export - method: GET - request: - name: ConversationsExportRequest - query-parameters: - applies_to_parts: - type: optional - allow-multiple: true - first: - type: optional - members: - type: optional - allow-multiple: true - owned_by: - type: optional - allow-multiple: true - rev_org: - type: optional - allow-multiple: true - source_channels: - type: optional - allow-multiple: true - stage.name: - type: optional - allow-multiple: true - tags: - type: optional - allow-multiple: true - response: - docs: Success. - type: root.ConversationsExportResponse - - get: - path: /conversations.get - method: GET - request: - name: ConversationsGetRequest - query-parameters: - id: - type: string - response: - docs: Success. - type: root.ConversationsGetResponse - - list: - path: /conversations.list - method: GET - request: - name: ConversationsListRequest - query-parameters: - applies_to_parts: - type: optional - allow-multiple: true - cursor: - type: optional - limit: - type: optional - members: - type: optional - allow-multiple: true - mode: - type: optional - owned_by: - type: optional - allow-multiple: true - rev_org: - type: optional - allow-multiple: true - source_channels: - type: optional - allow-multiple: true - stage.name: - type: optional - allow-multiple: true - tags: - type: optional - allow-multiple: true - response: - docs: Success. - type: root.ConversationsListResponse - - update: - path: /conversations.update - method: POST - request: - name: ConversationsUpdateRequest - body: - properties: - applies_to_parts: - type: optional - description: - docs: The updated description for the conversation. - type: optional - group: - docs: The group that the conversation is associated with. - type: optional - id: - type: string - docs: The ID of the conversation to update. - stage: - type: optional - status: - docs: The updated status of the conversation. - type: optional - title: - docs: The updated title of the conversation. - type: optional - response: - docs: Success. - type: root.ConversationsUpdateResponse diff --git a/fern/beta/definition/links.yml b/fern/beta/definition/links.yml deleted file mode 100644 index cabbd877..00000000 --- a/fern/beta/definition/links.yml +++ /dev/null @@ -1,79 +0,0 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/fern-api/fern/main/fern.schema.json - -imports: - root: __package__.yml - -service: - auth: true - base-path: "" - endpoints: - create: - path: /links.create - method: POST - request: - name: LinksCreateRequest - body: - properties: - link_type: - type: root.LinkType - source: - type: string - docs: The ID of the source object. - target: - type: string - docs: The ID of the target object. - response: - docs: Success. - type: root.LinksCreateResponse - - delete: - path: /links.delete - method: POST - request: - name: LinksDeleteRequest - body: - properties: - id: - type: string - docs: The ID of the link to delete. - response: - docs: Success. - type: root.links-delete-response - - get: - path: /links.get - method: GET - request: - name: LinksGetRequest - query-parameters: - id: - type: string - response: - docs: Success. - type: root.LinksGetResponse - - list: - path: /links.list - method: GET - request: - name: LinksListRequest - query-parameters: - object: - type: string - cursor: - type: optional - direction: - type: optional - limit: - type: optional - link_type: - type: optional - allow-multiple: true - mode: - type: optional - types: - type: optional - allow-multiple: true - response: - docs: Success. - type: root.LinksListResponse diff --git a/fern/beta/definition/revUsers.yml b/fern/beta/definition/revUsers.yml deleted file mode 100644 index 4994fa84..00000000 --- a/fern/beta/definition/revUsers.yml +++ /dev/null @@ -1,171 +0,0 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/fern-api/fern/main/fern.schema.json - -imports: - root: __package__.yml - -service: - auth: true - base-path: "" - endpoints: - create: - path: /rev-users.create - method: POST - request: - name: RevUsersCreateRequest - body: - properties: - description: - docs: Description of the Rev user. - type: optional - display_name: - docs: | - The user's display name. The name is non-unique and mutable. - type: optional - email: - docs: Email address of the Rev user. - type: optional - external_ref: - docs: > - External ref is a mutable unique identifier for a user within - the - Dev organization from your primary customer record. If none is - available, a good alternative is the email address/phone number - which could uniquely identify the user. If none is specified, a - system-generated identifier will be assigned to the user. - type: optional - phone_numbers: - docs: Phone numbers of the Rev user. - type: optional> - rev_org: - type: string - docs: > - The ID of Rev organization for which a Rev user is to be - created. - response: - docs: Success. - type: root.RevUsersCreateResponse - - delete: - path: /rev-users.delete - method: POST - request: - name: RevUsersDeleteRequest - body: - properties: - id: - type: string - docs: The ID of Rev user to delete. - response: - docs: Success. - type: root.rev-users-delete-response - - get: - path: /rev-users.get - method: GET - request: - name: RevUsersGetRequest - query-parameters: - id: - type: string - response: - docs: Success. - type: root.RevUsersGetResponse - - link-rev-user-to-rev-org: - path: /rev-users.link - method: POST - request: - name: LinkRevUserToRevOrgRequest - body: - properties: - rev_org_don: - type: string - docs: The don of the rev org to link the rev user to. - user_don: - type: string - docs: The don of the rev user to link. - response: - docs: Success. - type: root.LinkRevUserToRevOrgResponse - - list: - path: /rev-users.list - method: GET - request: - name: RevUsersListRequest - query-parameters: - created_by: - type: optional - allow-multiple: true - created_date.after: - type: optional - created_date.before: - type: optional - cursor: - type: optional - email: - type: optional - allow-multiple: true - external_ref: - type: optional - allow-multiple: true - limit: - type: optional - mode: - type: optional - modified_date.after: - type: optional - modified_date.before: - type: optional - rev_org: - type: optional - allow-multiple: true - sort_by: - type: optional - allow-multiple: true - response: - docs: Success. - type: root.RevUsersListResponse - - unlink-rev-user-from-rev-org: - path: /rev-users.unlink - method: POST - request: - name: UnlinkRevUserFromRevOrgRequest - body: - properties: - rev_org_don: - type: string - docs: The don of the rev org to unlink the rev user from. - user_don: - type: string - docs: The don of the rev user to unlink. - response: - docs: Success. - type: root.UnlinkRevUserFromRevOrgResponse - - update: - path: /rev-users.update - method: POST - request: - name: RevUsersUpdateRequest - body: - properties: - description: - docs: Updated description of the Rev user. - type: optional - display_name: - docs: Updated display name of the Rev user. - type: optional - email: - docs: Updated email address of the Rev user. - type: optional - external_ref: - docs: Updated external ref value of the Rev user. - type: optional - id: - type: string - docs: The ID of Rev user to update. - response: - docs: Success. - type: root.RevUsersUpdateResponse diff --git a/fern/beta/definition/sysUsers.yml b/fern/beta/definition/sysUsers.yml deleted file mode 100644 index c7ccc16b..00000000 --- a/fern/beta/definition/sysUsers.yml +++ /dev/null @@ -1,50 +0,0 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/fern-api/fern/main/fern.schema.json - -imports: - root: __package__.yml - -service: - auth: true - base-path: "" - endpoints: - list: - path: /sys-users.list - method: GET - request: - name: SysUsersListRequest - query-parameters: - cursor: - type: optional - limit: - type: optional - mode: - type: optional - sort_by: - type: optional - allow-multiple: true - response: - docs: Success. - type: root.SysUsersListResponse - - update: - path: /sys-users.update - method: POST - request: - name: SysUsersUpdateRequest - body: - properties: - display_name: - docs: Updated display name for the system user. - type: optional - display_picture: - docs: Artifact ID of the system user's new display picture. - type: optional - full_name: - docs: Updated full name for the system user. - type: optional - id: - type: string - docs: The ID of system user to update. - response: - docs: Success. - type: root.SysUsersUpdateResponse diff --git a/fern/public/definition/__package__.yml b/fern/public/definition/__package__.yml deleted file mode 100644 index 6698bd79..00000000 --- a/fern/public/definition/__package__.yml +++ /dev/null @@ -1,1786 +0,0 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/fern-api/fern/main/fern.schema.json - -types: - DevOrgAuthConnectionsCreateRequest: - base-properties: {} - docs: | - Request to create a new enterprise authentication connection. - union: - google_apps: - type: AuthConnectionOptionsGoogleApps - oidc: - type: AuthConnectionOptionsOidc - samlp: - type: AuthConnectionOptionsSaml - waad: - type: AuthConnectionOptionsAzureAd - - DevOrgAuthConnectionsUpdateRequest: - base-properties: {} - docs: | - Request to update an enterprise authentication connection for a Dev - organization. - union: - google_apps: - type: AuthConnectionOptionsGoogleApps - none: - type: empty - oidc: - type: AuthConnectionOptionsOidc - samlp: - type: AuthConnectionOptionsSaml - waad: - type: AuthConnectionOptionsAzureAd - - PartsCreateRequest: - base-properties: {} - union: - capability: - type: PartsCreateRequestCapability - enhancement: - type: PartsCreateRequestEnhancement - feature: - type: PartsCreateRequestFeature - product: - type: parts-create-request-product - - PartsUpdateRequest: - base-properties: {} - union: - capability: - type: parts-update-request-capability - enhancement: - type: PartsUpdateRequestEnhancement - feature: - type: parts-update-request-feature - none: - type: empty - product: - type: parts-update-request-product - - TimelineEntriesCreateRequest: - base-properties: {} - docs: The request to create a timeline entry for an object. - union: - timeline_comment: - type: TimelineEntriesCreateRequestTimelineComment - - TimelineEntriesUpdateRequest: - base-properties: {} - docs: The request to update a timeline entry. - union: - timeline_comment: - type: TimelineEntriesUpdateRequestTimelineComment - - WorksCreateRequest: - base-properties: {} - union: - issue: - type: WorksCreateRequestIssue - ticket: - type: WorksCreateRequestTicket - - WorksUpdateRequest: - base-properties: {} - union: - issue: - type: WorksUpdateRequestIssue - none: - type: empty - ticket: - type: WorksUpdateRequestTicket - - ArtifactSummary: - type: AtomBaseSummary - - ArtifactsLocateResponse: - docs: The response to getting an artifact's download URL. - properties: - expires_at: - docs: The expiration timestamp of the URL. - type: optional - url: - type: string - docs: The artifact's download URL. - - ArtifactsPrepareResponse: - docs: The response to preparing a URL to upload a file. - properties: - form_data: - docs: The POST policy form data. - type: list - id: - type: string - docs: The generated artifact's ID. - url: - type: string - docs: The URL that the file's data should be uploaded to. - - ArtifactsPrepareResponseFormData: - properties: - key: - type: string - docs: Key of the form field. - value: - type: string - docs: Value corresponding to the key. - - AtomBase: - properties: - created_by: - type: optional - created_date: - docs: Timestamp when the object was created. - type: optional - display_id: - docs: Human-readable object ID unique to the Dev organization. - type: optional - id: - type: string - docs: Globally unique object ID. - modified_by: - type: optional - modified_date: - docs: Timestamp when the object was last modified. - type: optional - - AtomBaseSummary: - properties: - display_id: - docs: Human-readable object ID unique to the Dev organization. - type: optional - id: - type: string - docs: Globally unique object ID. - - AuthConnection: - base-properties: {} - docs: | - Connection object that specifies the configuration for an - authentication connection that is set up for a Dev organization. - union: - google_apps: - type: AuthConnectionOptionsGoogleApps - oidc: - type: AuthConnectionOptionsOidc - samlp: - type: AuthConnectionOptionsSaml - social: - type: auth-connection-options-social - waad: - type: AuthConnectionOptionsAzureAd - - AuthConnectionOptionsAzureAd: - docs: | - Object encapsulating the configuration parameters for an Azure AD - authentication connection. - properties: - client_id: - docs: Client ID for the Azure authentication connection. - type: optional - client_secret: - docs: Client secret for the Azure authentication connection. - type: optional - domain: - docs: Domain URL of the Azure authentication connection. - type: optional - - AuthConnectionOptionsGoogleApps: - docs: | - Object encapsulating the configuration parameters for a Google Apps - authentication connection. - properties: - client_id: - docs: Client ID for the Google Apps authentication connection. - type: optional - client_secret: - docs: | - Client secret for the Google Apps authentication connection. - type: optional - tenant_domain: - docs: | - Tenant domain URL of the Google Apps authentication connection. - type: optional - - AuthConnectionOptionsOidc: - docs: | - Object encapsulating the configuration parameters for an OIDC - authentication connection. - properties: - client_id: - docs: Client ID for the OIDC authentication connection. - type: optional - client_secret: - docs: Client secret for the OIDC authentication connection. - type: optional - issuer: - docs: Issuer URL of the OIDC authentication connection. - type: optional - - AuthConnectionOptionsSaml: - docs: | - Object encapsulating the configuration parameters for a SAML - authentication connection. - properties: - sign_in_endpoint: - docs: Sign In endpoint for the SAML authentication connection. - type: optional - signing_cert: - docs: | - Signing certificate for the SAML authentication connection. - type: optional - - auth-connection-options-social: - type: map - - AuthConnectionToggle: - enum: - - name: disable - value: disable - - name: enable - value: enable - - AuthConnectionType: - docs: | - Defines the type for the authentication connection. The configuration - for each authentication connection will depend on the type value. - enum: - - name: google_apps - value: google_apps - - name: oidc - value: oidc - - name: samlp - value: samlp - - name: social - value: social - - name: waad - value: waad - - AuthToken: - properties: - client_id: - docs: | - An identifier that represents the application that requested the - token. Only applicable for application access tokens. - type: optional - expires_at: - docs: The time at which the token expires. - type: optional - issued_at: - docs: The time at which the token was issued. - type: optional - requested_token_type: - type: optional - scopes: - docs: The scopes associated with the issued token. - type: optional> - status: - type: optional - subject: - docs: The subject of the token. - type: optional - token_hint: - docs: A hint that identifies the token. - type: optional - - AuthTokenGrantType: - docs: Specifies the process of obtaining a token. - enum: - - name: UrnDevrevParamsOauthGrantTypeTokenIssue - value: urn:devrev:params:oauth:grant-type:token-issue - - name: UrnIetfParamsOauthGrantTypeTokenExchange - value: urn:ietf:params:oauth:grant-type:token-exchange - - AuthTokenRequestedTokenType: - docs: The type of the requested token. - enum: - - name: UrnDevrevParamsOauthTokenTypeAat - value: urn:devrev:params:oauth:token-type:aat - - name: UrnDevrevParamsOauthTokenTypeAatPublic - value: urn:devrev:params:oauth:token-type:aat:public - - name: UrnDevrevParamsOauthTokenTypeDev - value: urn:devrev:params:oauth:token-type:dev - - name: UrnDevrevParamsOauthTokenTypePat - value: urn:devrev:params:oauth:token-type:pat - - name: UrnDevrevParamsOauthTokenTypeRev - value: urn:devrev:params:oauth:token-type:rev - - name: UrnDevrevParamsOauthTokenTypeSession - value: urn:devrev:params:oauth:token-type:session - - name: UrnDevrevParamsOauthTokenTypeSessionDev0 - value: urn:devrev:params:oauth:token-type:session:dev0 - - name: UrnDevrevParamsOauthTokenTypeSys - value: urn:devrev:params:oauth:token-type:sys - - name: UrnIetfParamsOauthTokenTypeJwt - value: urn:ietf:params:oauth:token-type:jwt - - AuthTokenStatus: - docs: The status of the token. - enum: - - name: active - value: active - - name: expired - value: expired - - name: revoked - value: revoked - - AuthTokenSubjectTokenType: - docs: The type of the subject token. - enum: - - name: UrnDevrevParamsOauthTokenTypeJwtAuth0 - value: urn:devrev:params:oauth:token-type:jwt:auth0 - - name: UrnDevrevParamsOauthTokenTypeJwtDev - value: urn:devrev:params:oauth:token-type:jwt:dev - - name: UrnDevrevParamsOauthTokenTypeRevinfo - value: urn:devrev:params:oauth:token-type:revinfo - - name: UrnDevrevParamsOauthTokenTypeSysu - value: urn:devrev:params:oauth:token-type:sysu - - name: UrnDevrevParamsOauthTokenTypeUserinfo - value: urn:devrev:params:oauth:token-type:userinfo - - name: UrnDevrevParamsOauthTokenTypeUserinfoProfile - value: urn:devrev:params:oauth:token-type:userinfo:profile - - name: UrnIetfParamsOauthTokenTypeJwt - value: urn:ietf:params:oauth:token-type:jwt - - AuthTokenTokenType: - docs: | - The type of the issued token. Bearer is the only supported token type. - enum: - - name: bearer - value: bearer - - AuthTokensCreateResponse: - docs: | - Response for the request to create a new token corresponding to the - requested token type. - properties: - access_token: - type: string - docs: | - The issued JSON Web Token (JWT) corresponding to the requested - token type. - client_id: - docs: | - An identifier that represents the application which is requesting - the token. Only present in a response corresponding to an - application access token (AAT). - type: optional - expires_in: - type: integer - docs: | - The validity lifetime of the token specified in seconds since Unix - epoch. - refresh_token: - docs: A token to refresh the issued token. - type: optional - scope: - docs: | - The scopes associated with the issued token. A space-delimited list - of values in which the order of values does not matter. - type: optional - token_type: - type: AuthTokenTokenType - - AuthTokensGetResponse: - docs: The response to get the token metadata. - properties: - token: - type: AuthToken - - AuthTokensListResponse: - docs: The response to list the token metadata. - properties: - tokens: - docs: The list of token metadata. - type: list - - AuthTokensOrgTraits: - docs: Carries Rev org info. - properties: - display_name: - docs: The display name of the Rev org. - type: optional - domain: - docs: The domain of the Rev org. - type: optional - - AuthTokensRevInfo: - docs: | - Carries info corresponding to the Rev user to be provisioned and/or - issue a Rev session token. - properties: - org_ref: - docs: An identifier which uniquely identifies a Rev org. - type: optional - org_traits: - type: optional - rev_user_id: - docs: The unique ID of the Rev user. - type: optional - user_ref: - type: string - docs: An identifier which uniquely identifies a Rev user. - user_traits: - type: optional - - AuthTokensUpdateResponse: - docs: Response for the request to update the token metadata. - properties: - token: - type: AuthToken - - AuthTokensUserTraits: - docs: Carries Rev user info. - properties: - display_name: - docs: The display name of the Rev user. - type: optional - email: - docs: The email address of the Rev user. - type: optional - full_name: - docs: The full name of the Rev user. - type: optional - - Capability: - type: PartBase - - CapabilitySummary: - type: PartBaseSummary - - DevOrgAuthConnectionsCreateRequestType: - docs: | - Defines the type for the authentication connection. Different types of - authentication connections have different configuration parameters. - enum: - - name: google_apps - value: google_apps - - name: oidc - value: oidc - - name: samlp - value: samlp - - name: waad - value: waad - - DevOrgAuthConnectionsCreateResponse: - docs: | - Response for the request to create a new enterprise authentication - connection. - properties: - auth_connection: - type: AuthConnection - - DevOrgAuthConnectionsGetResponse: - docs: | - Response object encapsulating the configuration details of an - authentication connection. - properties: - auth_connection: - type: AuthConnection - - DevOrgAuthConnectionsListResponse: - docs: | - Response object for the request to list all the social and enterprise - authentication connections configured for a Dev organization. - properties: - auth_connections: - docs: | - List of all the authentication connections currently configured for - a Dev organization. - type: list - - DevOrgAuthConnectionsUpdateRequestType: - docs: | - Specifies the type for the authentication connection. Different types - of authentication connections have different configuration parameters - that can be updated. - enum: - - name: google_apps - value: google_apps - - name: none - value: none - - name: oidc - value: oidc - - name: samlp - value: samlp - - name: waad - value: waad - - DevOrgAuthConnectionsUpdateResponse: - docs: | - Response for the request to update an enterprise authentication - connection. - properties: - auth_connection: - type: AuthConnection - - DevUser: - properties: - external_identities: - docs: IDs of the Dev User outside the DevRev SOR. - type: optional> - - DevUserSummary: - type: UserBaseSummary - - DevUsersListResponse: - docs: The response to listing the Dev users. - properties: - dev_users: - docs: The list of Dev users. - type: list - next_cursor: - docs: | - The cursor used to iterate subsequent results in accordance to the - sort order. If not set, then no later elements exist. - type: optional - prev_cursor: - docs: | - The cursor used to iterate preceding results in accordance to the - sort order. If not set, then no prior elements exist. - type: optional - - DevUsersSelfResponse: - docs: | - The response to getting the information for the authenticated user. - properties: - dev_user: - type: DevUser - - empty: - type: map - - Enhancement: - properties: - target_close_date: - docs: Timestamp when the enhancement is expected to be closed. - type: optional - - EnhancementSummary: - type: PartBaseSummary - - ErrorBadRequest: - properties: - type: - type: optional - - error-bad-request-bad-request: - type: map - - ErrorBadRequestInvalidEnumValue: - properties: - allowed_values: - docs: The allowed values for the field. - type: list - field_name: - type: string - docs: The field whose enum value is invalid. - value: - type: string - docs: The value that was received. - - ErrorBadRequestMissingRequiredField: - properties: - field_name: - type: string - docs: The missing field's name. - - error-bad-request-parse-error: - type: map - - ErrorBadRequestType: - enum: - - name: bad_request - value: bad_request - - name: invalid_enum_value - value: invalid_enum_value - - name: missing_required_field - value: missing_required_field - - name: parse_error - value: parse_error - - name: value_not_permitted - value: value_not_permitted - - ErrorBadRequestValueNotPermitted: - properties: - field_name: - type: string - docs: The field whose value is not permitted. - reason: - docs: The reason the value isn't permitted. - type: optional - - ErrorBase: - properties: - message: - docs: The message associated with the error. - type: optional - - ErrorForbidden: - properties: - type: - type: optional - - error-forbidden-forbidden: - type: map - - ErrorForbiddenType: - enum: - - name: forbidden - value: forbidden - - ErrorInternalServerError: - properties: - reference_id: - docs: | - A unique ID that's generated for the error that can be used for - inquiry. - type: optional - type: - type: optional - - error-internal-server-error-internal-error: - type: map - - ErrorInternalServerErrorType: - enum: - - name: internal_error - value: internal_error - - ErrorNotFound: - properties: - type: - type: optional - - error-not-found-not-found: - type: map - - ErrorNotFoundType: - enum: - - name: not_found - value: not_found - - ErrorServiceUnavailable: - properties: - type: - type: optional - - error-service-unavailable-service-unavailable: - type: map - - ErrorServiceUnavailableType: - enum: - - name: service_unavailable - value: service_unavailable - - ErrorTooManyRequests: - properties: - retry_after: - docs: | - The number of seconds after which the client should retry. - type: optional - type: - type: optional - - error-too-many-requests-too-many-requests: - type: map - - ErrorTooManyRequestsType: - enum: - - name: too_many_requests - value: too_many_requests - - ErrorUnauthorized: - properties: - type: - type: optional - - ErrorUnauthorizedType: - enum: - - name: unauthenticated - value: unauthenticated - - error-unauthorized-unauthenticated: - type: map - - EventPartCreated: - properties: - part: - type: Part - - EventPartDeleted: - properties: - id: - type: string - docs: The ID of the part that was deleted. - - EventPartUpdated: - properties: - part: - type: Part - - EventRevOrgCreated: - properties: - rev_org: - type: RevOrg - - EventRevOrgDeleted: - properties: - id: - type: string - docs: The ID of the Rev organization that was deleted. - - EventRevOrgUpdated: - properties: - rev_org: - type: RevOrg - - EventTagCreated: - properties: - tag: - type: Tag - - EventTagDeleted: - properties: - id: - type: string - docs: The ID of the tag that was deleted. - - EventTagUpdated: - properties: - tag: - type: Tag - - EventTimelineEntryCreated: - properties: - entry: - type: TimelineEntry - - EventTimelineEntryDeleted: - properties: - id: - type: string - docs: The ID of the timeline entry that was deleted. - - EventTimelineEntryUpdated: - properties: - entry: - type: TimelineEntry - - EventWebhookCreated: - properties: - webhook: - type: Webhook - - EventWebhookDeleted: - properties: - id: - type: string - docs: The ID of the webhook that was deleted. - - EventWebhookUpdated: - properties: - webhook: - type: Webhook - - EventWorkCreated: - properties: - work: - type: Work - - EventWorkDeleted: - properties: - id: - type: string - docs: The ID of the work that was deleted. - - EventWorkUpdated: - properties: - work: - type: Work - - external-identity: - docs: External identity of a user. - type: map - - Feature: - type: PartBase - - FeatureSummary: - type: PartBaseSummary - - GroupSummary: - type: AtomBaseSummary - - Issue: - properties: - priority: - type: optional - - IssuePriority: - docs: Priority of the work based upon impact and criticality. - enum: - - name: p0 - value: p0 - - name: p1 - value: p1 - - name: p2 - value: p2 - - name: p3 - value: p3 - - ListMode: - docs: | - The iteration mode to use. If "after", then entries after the provided - cursor will be returned, or if no cursor is provided, then from the - beginning. If "before", then entries before the provided cursor will be - returned, or if no cursor is provided, then from the end. Entries will - always be returned in the specified sort-by order. - enum: - - name: after - value: after - - name: before - value: before - - OrgBase: - properties: - display_name: - docs: Name of the Organization. - type: optional - - OrgBaseSummary: - properties: - display_name: - docs: Name of the Organization. - type: optional - - OrgEnvironment: - docs: | - The environment of the Org. Defaults to 'production' if not specified. - enum: - - name: production - value: production - - name: staging - value: staging - - name: test - value: test - - OrgSummary: - base-properties: {} - union: - rev_org: - type: RevOrgSummary - - OrgType: - enum: - - name: rev_org - value: rev_org - - Part: - base-properties: {} - union: - capability: - type: Capability - enhancement: - type: Enhancement - feature: - type: Feature - product: - type: Product - - PartBase: - properties: - artifacts: - docs: The attached artifacts. - type: optional> - description: - docs: Description of the part. - type: optional - name: - docs: Name of the part. - type: optional - owned_by: - docs: The users that own the part. - type: optional> - tags: - docs: Tags associated with the object. - type: optional> - - PartBaseSummary: - properties: - name: - docs: Name of the part. - type: optional - - PartSummary: - base-properties: {} - union: - capability: - type: CapabilitySummary - enhancement: - type: EnhancementSummary - feature: - type: FeatureSummary - product: - type: ProductSummary - - PartType: - enum: - - name: capability - value: capability - - name: enhancement - value: enhancement - - name: feature - value: feature - - name: product - value: product - - PartsCreateRequestCapability: - properties: - parent_part: - docs: ID of the parent product for the capability. - type: list - - PartsCreateRequestEnhancement: - properties: - parent_part: - docs: | - ID of the parent part on which the enhancement is to be created. - type: list - target_close_date: - docs: | - Target close date by which enhancement is expected to be closed. - type: optional - - PartsCreateRequestFeature: - properties: - parent_part: - docs: ID of the parent capability/feature for the feature. - type: list - - parts-create-request-product: - type: map - - PartsCreateResponse: - properties: - part: - type: Part - - parts-delete-response: - type: map - - PartsGetResponse: - properties: - part: - type: Part - - PartsListResponse: - properties: - next_cursor: - docs: | - The cursor used to iterate subsequent results in accordance to the - sort order. If not set, then no later elements exist. - type: optional - parts: - docs: The list of parts. - type: list - prev_cursor: - docs: | - The cursor used to iterate preceding results in accordance to the - sort order. If not set, then no prior elements exist. - type: optional - - parts-update-request-capability: - type: map - - PartsUpdateRequestEnhancement: - properties: - target_close_date: - docs: Updates the target close date of the enhancement. - type: optional - - parts-update-request-feature: - type: map - - PartsUpdateRequestOwnedBy: - properties: - set: - docs: | - Sets the owner IDs to the provided user IDs. This must not be - empty. - type: optional> - - parts-update-request-product: - type: map - - PartsUpdateResponse: - properties: - part: - type: Part - - Product: - type: PartBase - - ProductSummary: - type: PartBaseSummary - - RevOrg: - properties: - description: - docs: Description of the Rev organization. - type: optional - domain: - docs: Company's domain name. Example - 'devrev.ai'. - type: optional - external_ref: - docs: | - External ref is a unique identifier for the Rev (customer) - organization from your primary customer system of records. If none - is specified, a system-generated identifier will be assigned to the - organization. - type: optional - - RevOrgSummary: - type: OrgBaseSummary - - RevOrgsCreateResponse: - docs: | - Response object for request to create a new Rev organization. - properties: - rev_org: - type: RevOrg - - rev-orgs-delete-response: - docs: The response to deleting a Rev organization. - type: map - - RevOrgsGetResponse: - docs: The response to getting a Rev organization's information. - properties: - rev_org: - type: RevOrg - - RevOrgsListResponse: - docs: | - The response to getting a list of Rev organizations' information. - properties: - next_cursor: - docs: | - The cursor used to iterate subsequent results in accordance to the - sort order. If not set, then no later elements exist. - type: optional - prev_cursor: - docs: | - The cursor used to iterate preceding results in accordance to the - sort order. If not set, then no prior elements exist. - type: optional - rev_orgs: - docs: List with all of the Rev organizations' information. - type: list - - RevOrgsUpdateResponse: - docs: Response object to updating Rev organization's information. - properties: - rev_org: - type: RevOrg - - RevUserSummary: - properties: - external_ref: - docs: | - External ref is a mutable unique identifier for a user within the - Rev organization from your primary customer record. If none is - available, a good alternative is the email address/phone number - which could uniquely identify the user. If none is specified, a - system-generated identifier will be assigned to the user. - type: optional - rev_org: - type: optional - - SetTagWithValue: - properties: - id: - type: string - docs: The ID of the tag. - value: - docs: | - The value for the object's association with the tag. If specified, - the value must be one that's specified in the tag's allowed values. - type: optional - - Stage: - docs: Describes the current stage of a work item. - properties: - name: - type: string - docs: Current stage name of the work item. - - StageInit: - docs: Sets an object's initial stage. - properties: - name: - docs: The name of the stage. - type: optional - - StageUpdate: - docs: Updates an object's stage. - properties: - name: - docs: | - The updated name of the stage, otherwise unchanged if not set. - type: optional - - SysUserSummary: - type: UserBaseSummary - - Tag: - properties: - allowed_values: - docs: | - The allowed values for the tag, where a value is provided when a - tag is associated with an object. If empty, then no value should be - provided when the association is made. - type: optional> - description: - docs: | - An informative description for the tag that should provide context - on the tag's purpose and usage. - type: optional - name: - docs: | - The name of the tag, which denotes the logical concept by which all - tagged objects will be associated. The name is guaranteed to be - unique. - type: optional - - TagSummary: - properties: - name: - docs: | - The name of the tag, which denotes the logical concept by which all - tagged objects will be associated. The name is guaranteed to be - unique. - type: optional - - TagWithValue: - properties: - tag: - type: TagSummary - value: - docs: The value for the object's association with the tag. - type: optional - - TagsCreateResponse: - docs: The response to creating a new tag. - properties: - tag: - type: Tag - - tags-delete-response: - docs: The response for deleting a tag. - type: map - - TagsGetResponse: - docs: The response to getting a tag's information. - properties: - tag: - type: Tag - - TagsListResponse: - docs: The response to listing the tags. - properties: - next_cursor: - docs: | - The cursor used to iterate subsequent results in accordance to the - sort order. If not set, then no later elements exist. - type: optional - prev_cursor: - docs: | - The cursor used to iterate preceding results in accordance to the - sort order. If not set, then no prior elements exist. - type: optional - tags: - docs: The list of tags. - type: list - - TagsUpdateAllowedValues: - docs: Specifies an update to a tag's allowed values. - properties: - set: - docs: Sets the allowed values for the tag. - type: optional> - - TagsUpdateResponse: - docs: The response for updating a tag. - properties: - tag: - type: Tag - - Ticket: - properties: - group: - type: optional - rev_org: - type: optional - severity: - type: optional - - TicketSeverity: - docs: Severity of the ticket. - enum: - - name: blocker - value: blocker - - name: high - value: high - - name: low - value: low - - name: medium - value: medium - - TimelineComment: - properties: - artifacts: - docs: The artifacts for the comment. - type: optional> - body: - docs: | - The comment's body. If the comment has been deleted, then no body - will appear in the response. - type: optional - body_type: - type: optional - snap_kit_body: - docs: The SnapKit Body of the comment. - type: optional> - - TimelineCommentBodyType: - docs: The type of the body to use for the comment. - enum: - - name: snap_kit - value: snap_kit - - name: text - value: text - - TimelineEntriesCreateRequestTimelineComment: - properties: - artifacts: - docs: The IDs of the artifacts attached to the comment. - type: optional> - body: - docs: The comment's body. - type: optional - body_type: - type: optional - snap_kit_body: - docs: The SnapKit body of the comment. - type: optional> - - TimelineEntriesCreateRequestType: - enum: - - name: timeline_comment - value: timeline_comment - - TimelineEntriesCreateResponse: - docs: The response to creating a timeline entry for an object. - properties: - timeline_entry: - type: TimelineEntry - - TimelineEntriesGetResponse: - docs: The request to getting a timeline entry. - properties: - timeline_entry: - type: TimelineEntry - - TimelineEntriesListResponse: - docs: The response to listing timeline entries for an object. - properties: - next_cursor: - docs: | - The cursor used to iterate subsequent results in accordance to the - sort order. If not set, then no later elements exist. - type: optional - prev_cursor: - docs: | - The cursor used to iterate preceding results in accordance to the - sort order. If not set, then no prior elements exist. - type: optional - timeline_entries: - docs: The timeline entries for the object. - type: list - - TimelineEntriesUpdateRequestTimelineComment: - properties: - artifacts: - type: optional - body: - docs: The updated comment's body. - type: optional - body_type: - type: optional - snap_kit_body: - docs: The SnapKit body of the comment. - type: optional> - - TimelineEntriesUpdateRequestTimelineCommentArtifacts: - properties: - add: - docs: | - Adds the provided artifacts to the comment. An artifact cannot be - added more than once, i.e. nothing is done if the artifact is - already attached. Mutually exclusive with `set`. - type: optional> - remove: - docs: | - Removes the provided artifacts from the comment. If an artifact is - not present, then it's ignored. Mututally exclusive with `set`. - type: optional> - set: - docs: Sets the field to the provided artifacts. - type: optional> - - TimelineEntriesUpdateRequestType: - enum: - - name: timeline_comment - value: timeline_comment - - TimelineEntriesUpdateResponse: - docs: The response to updating a timeline entry. - properties: - timeline_entry: - type: TimelineEntry - - TimelineEntry: - base-properties: {} - union: - timeline_comment: - type: TimelineComment - - TimelineEntryBase: - type: AtomBase - - TimelineEntryType: - enum: - - name: timeline_comment - value: timeline_comment - - TimelineEntryVisibility: - docs: | - The visibility of the entry. If 'private', then the entry is only - visible to the creator, otherwise if not set, then the entry has - default visibility. - enum: - - name: private - value: private - - UserBase: - properties: - display_name: - docs: | - The user's display name. The name is non-unique and mutable. - type: optional - display_picture: - type: optional - email: - docs: Email address of the user. - type: optional - full_name: - docs: Full name of the user. - type: optional - phone_numbers: - docs: Phone numbers of the user. - type: optional> - state: - type: optional - - UserBaseSummary: - properties: - display_name: - docs: | - The user's display name. The name is non-unique and mutable. - type: optional - display_picture: - type: optional - email: - docs: Email address of the user. - type: optional - full_name: - docs: Full name of the user. - type: optional - state: - type: optional - - UserState: - docs: State of the user. - enum: - - name: active - value: active - - name: deactivated - value: deactivated - - name: locked - value: locked - - name: shadow - value: shadow - - name: unassigned - value: unassigned - - UserSummary: - base-properties: {} - union: - dev_user: - type: DevUserSummary - rev_user: - type: RevUserSummary - sys_user: - type: SysUserSummary - - UserType: - enum: - - name: dev_user - value: dev_user - - name: rev_user - value: rev_user - - name: sys_user - value: sys_user - - Webhook: - properties: - event_types: - docs: The event types that the webhook will receive. - type: optional> - secret: - docs: The secret to use for verifying webhook events. - type: optional - status: - type: optional - url: - docs: The URL of the webhook endpoint. - type: optional - - WebhookEventRequest: - properties: - id: - type: string - docs: The event's ID. - part_created: - type: optional - part_deleted: - type: optional - part_updated: - type: optional - rev_org_created: - type: optional - rev_org_deleted: - type: optional - rev_org_updated: - type: optional - tag_created: - type: optional - tag_deleted: - type: optional - tag_updated: - type: optional - timeline_entry_created: - type: optional - timeline_entry_deleted: - type: optional - timeline_entry_updated: - type: optional - timestamp: - docs: | - Timestamp of the webhook's invocation for the event. Note this - should be used to protect against replay attacks, where the event - should only be processed if the timestamp isn't stale by several - seconds. - type: optional - type: - type: optional - verify: - type: optional - webhook_created: - type: optional - webhook_deleted: - type: optional - webhook_id: - type: string - docs: ID of the webhook for the event. - webhook_updated: - type: optional - work_created: - type: optional - work_deleted: - type: optional - work_updated: - type: optional - - WebhookEventResponse: - properties: - challenge: - docs: | - The challenge from the "verify" request, otherwise this should not - be set for other request types. - type: optional - - WebhookEventType: - docs: The event types that the webhook will receive. - enum: - - name: part_created - value: part_created - - name: part_deleted - value: part_deleted - - name: part_updated - value: part_updated - - name: rev_org_created - value: rev_org_created - - name: rev_org_deleted - value: rev_org_deleted - - name: rev_org_updated - value: rev_org_updated - - name: tag_created - value: tag_created - - name: tag_deleted - value: tag_deleted - - name: tag_updated - value: tag_updated - - name: timeline_entry_created - value: timeline_entry_created - - name: timeline_entry_deleted - value: timeline_entry_deleted - - name: timeline_entry_updated - value: timeline_entry_updated - - name: verify - value: verify - - name: webhook_created - value: webhook_created - - name: webhook_deleted - value: webhook_deleted - - name: webhook_updated - value: webhook_updated - - name: work_created - value: work_created - - name: work_deleted - value: work_deleted - - name: work_updated - value: work_updated - - WebhookEventVerify: - properties: - challenge: - type: string - docs: The challenge that must be echoed in the response. - - WebhookStatus: - docs: The status of the webhook. - enum: - - name: active - value: active - - name: inactive - value: inactive - - name: unverified - value: unverified - - WebhooksCreateResponse: - docs: The response to creating a new webhook. - properties: - webhook: - type: Webhook - - webhooks-delete-response: - docs: The response to deleting the webhook. - type: map - - WebhooksGetResponse: - docs: The response to getting the information for the webhook. - properties: - webhook: - type: Webhook - - WebhooksListResponse: - docs: The response to listing the webhooks. - properties: - webhooks: - docs: The list of webhooks. - type: list - - WebhooksUpdateAction: - docs: The action to update the webhook's status. - enum: - - name: activate - value: activate - - name: deactivate - value: deactivate - - WebhooksUpdateRequestEventTypes: - properties: - add: - docs: | - The event types to add. If a provided event type is already set for - the webhook, then nothing is done. Note this is mutually exclusive - with 'set'. - type: optional> - remove: - docs: | - The event types to remove. If a provided event type isn't set for - the webhook, then nothing is done. Note this is mutually exclusive - with 'set'. - type: optional> - set: - docs: | - The updated event types, which will replace the webhook's current - event types. Note this is mutually exclusive with 'add' and - 'remove'. - type: optional> - - WebhooksUpdateResponse: - docs: The response to updating the webhook. - properties: - webhook: - type: Webhook - - Work: - base-properties: {} - union: - issue: - type: Issue - ticket: - type: Ticket - - WorkBase: - properties: - applies_to_part: - type: optional - artifacts: - docs: The artifacts attached to the work item. - type: optional> - body: - docs: Body of the work object. - type: optional - owned_by: - docs: The users that own the work. - type: optional> - reported_by: - docs: Users that reported the work. - type: optional> - stage: - type: optional - tags: - docs: Tags associated with the object. - type: optional> - target_close_date: - docs: Timestamp when the work is expected to be complete. - type: optional - title: - docs: Title of the work object. - type: optional - - WorkType: - enum: - - name: issue - value: issue - - name: ticket - value: ticket - - WorksCreateRequestIssue: - properties: - priority: - type: optional - sprint: - docs: The sprint that the issue belongs to. - type: optional - - WorksCreateRequestTicket: - properties: - group: - docs: The group that the ticket is associated with. - type: optional - rev_org: - docs: The Rev organization that the ticket is associated with. - type: optional - severity: - type: optional - - WorksCreateResponse: - properties: - work: - type: Work - - works-delete-response: - type: map - - WorksExportResponse: - properties: - works: - docs: The resulting collection of work items. - type: list - - WorksGetResponse: - properties: - work: - type: Work - - WorksListResponse: - properties: - next_cursor: - docs: | - The cursor used to iterate subsequent results in accordance to the - sort order. If not set, then no later elements exist. - type: optional - prev_cursor: - docs: | - The cursor used to iterate preceding results in accordance to the - sort order. If not set, then no prior elements exist. - type: optional - works: - docs: The list of works. - type: list - - WorksUpdateRequestArtifactIds: - properties: - set: - docs: Sets the IDs to the provided artifact IDs. - type: optional> - - WorksUpdateRequestIssue: - properties: - priority: - type: optional - sprint: - docs: Updates the sprint that the issue belongs to. - type: optional - - WorksUpdateRequestOwnedBy: - properties: - set: - docs: | - Sets the owner IDs to the provided user IDs. This must not be - empty. - type: optional> - - WorksUpdateRequestReportedBy: - properties: - set: - docs: | - Sets the users that reported the work to the provided user IDs. - type: optional> - - WorksUpdateRequestTags: - properties: - set: - docs: Sets the provided tags on the work item. - type: optional> - - WorksUpdateRequestTicket: - properties: - group: - docs: The group that the ticket is associated with. - type: optional - rev_org: - docs: | - Updates the Rev organization that the ticket is associated with. - type: optional - severity: - type: optional - - WorksUpdateResponse: - properties: - work: - type: Work diff --git a/fern/public/definition/api.yml b/fern/public/definition/api.yml deleted file mode 100644 index 9622590d..00000000 --- a/fern/public/definition/api.yml +++ /dev/null @@ -1,13 +0,0 @@ -name: api -display-name: DevRev REST API -error-discrimination: - strategy: status-code -auth: auth-token -auth-schemes: - auth-token: - header: Authorization - name: apiKey - type: string -default-environment: Production -environments: - Production: https://api.devrev.ai diff --git a/fern/public/definition/artifacts.yml b/fern/public/definition/artifacts.yml deleted file mode 100644 index c13ffe97..00000000 --- a/fern/public/definition/artifacts.yml +++ /dev/null @@ -1,34 +0,0 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/fern-api/fern/main/fern.schema.json - -imports: - root: __package__.yml - -service: - auth: true - base-path: "" - endpoints: - locate: - path: /artifacts.locate - method: GET - request: - name: ArtifactsLocateRequest - query-parameters: - id: - type: string - response: - docs: Success. - type: root.ArtifactsLocateResponse - - prepare: - path: /artifacts.prepare - method: POST - request: - name: ArtifactsPrepareRequest - body: - properties: - file_name: - type: string - docs: The name of the file that's being uploaded. - response: - docs: Success. - type: root.ArtifactsPrepareResponse diff --git a/fern/public/definition/authConnection.yml b/fern/public/definition/authConnection.yml deleted file mode 100644 index 69cdc3f4..00000000 --- a/fern/public/definition/authConnection.yml +++ /dev/null @@ -1,76 +0,0 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/fern-api/fern/main/fern.schema.json - -imports: - root: __package__.yml - -service: - auth: true - base-path: "" - endpoints: - dev-org-auth-connections-create: - path: /dev-orgs.auth-connections.create - method: POST - request: - body: - type: root.DevOrgAuthConnectionsCreateRequest - docs: | - Request to create a new enterprise authentication connection. - response: - docs: Success. - type: root.DevOrgAuthConnectionsCreateResponse - - dev-org-auth-connections-delete: - path: /dev-orgs.auth-connections.delete - method: POST - request: - name: DevOrgAuthConnectionsDeleteRequest - body: - properties: - id: - type: string - docs: ID of the authentication connection to be deleted. - - dev-org-auth-connections-get: - path: /dev-orgs.auth-connections.get - method: GET - request: - name: DevOrgAuthConnectionsGetRequest - query-parameters: - id: - type: string - response: - docs: Success. - type: root.DevOrgAuthConnectionsGetResponse - - dev-org-auth-connections-list: - path: /dev-orgs.auth-connections.list - method: GET - response: - docs: Success. - type: root.DevOrgAuthConnectionsListResponse - - dev-org-auth-connections-toggle: - path: /dev-orgs.auth-connections.toggle - method: POST - request: - name: DevOrgAuthConnectionsToggleRequest - body: - properties: - id: - type: string - docs: ID of the authentication connection to be toggled. - toggle: - type: optional - - dev-org-auth-connections-update: - path: /dev-orgs.auth-connections.update - method: POST - request: - body: - type: root.DevOrgAuthConnectionsUpdateRequest - docs: | - Request to update an enterprise authentication connection for a Dev - organization. - response: - docs: Success. - type: root.DevOrgAuthConnectionsUpdateResponse diff --git a/fern/public/definition/authTokens.yml b/fern/public/definition/authTokens.yml deleted file mode 100644 index d30ba30c..00000000 --- a/fern/public/definition/authTokens.yml +++ /dev/null @@ -1,131 +0,0 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/fern-api/fern/main/fern.schema.json - -imports: - root: __package__.yml - -service: - auth: true - base-path: "" - endpoints: - create: - path: /auth-tokens.create - method: POST - request: - name: AuthTokensCreateRequest - body: - properties: - aud: - docs: The expected audience values with respect to the token. - type: optional> - client_id: - docs: > - An identifier that represents the application which is - requesting - the token. If no client_id is present in the request to generate - an - application access token (AAT), DevRev will generate a - client_id. - This client_id is only associated with an AAT. - type: optional - expires_in: - docs: | - The expected validity lifetime of the token in number of days. - type: optional - grant_type: - type: optional - requested_token_type: - type: optional - rev_info: - type: optional - scope: - docs: | - The requested set of scopes associated with the issued token. A - space-delimited list of values in which the order of values does - not matter. - type: optional - subject_token: - docs: | - Represents the entity that requests the token. Not required when - requesting an application access token (AAT). - type: optional - subject_token_type: - type: optional - token_hint: - docs: A hint that identifies the token. - type: optional - response: - docs: Success. - type: root.AuthTokensCreateResponse - - delete: - path: /auth-tokens.delete - method: POST - request: - name: AuthTokensDeleteRequest - body: - properties: - token_id: - docs: > - The unique identifier for the token under a given Dev - organization. - If no token ID is provided, then the token ID will be set from - the - JTI claim of the token in the authorization header. - type: optional - - get: - path: /auth-tokens.get - method: GET - request: - name: AuthTokensGetRequest - query-parameters: - token_id: - type: string - response: - docs: Success. - type: root.AuthTokensGetResponse - - list: - path: /auth-tokens.list - method: GET - request: - name: AuthTokensListRequest - query-parameters: - client_id: - type: optional - requested_token_type: - type: optional - subject: - type: optional - response: - docs: Success. - type: root.AuthTokensListResponse - - selfDelete: - path: /auth-tokens.self.delete - method: POST - request: - name: AuthTokensSelfDeleteRequest - body: - properties: - requested_token_type: - type: optional - - update: - path: /auth-tokens.update - method: POST - request: - name: AuthTokensUpdateRequest - body: - properties: - token_hint: - type: string - docs: A hint that identifies the token. - token_id: - type: string - docs: > - The unique identifier of the token under a given Dev - organization. - response: - docs: Success. - type: root.AuthTokensUpdateResponse diff --git a/fern/public/definition/devUsers.yml b/fern/public/definition/devUsers.yml deleted file mode 100644 index 62faabce..00000000 --- a/fern/public/definition/devUsers.yml +++ /dev/null @@ -1,40 +0,0 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/fern-api/fern/main/fern.schema.json - -imports: - root: __package__.yml - -service: - auth: true - base-path: "" - endpoints: - list: - path: /dev-users.list - method: GET - request: - name: DevUsersListRequest - query-parameters: - cursor: - type: optional - email: - type: optional - allow-multiple: true - limit: - type: optional - mode: - type: optional - sort_by: - type: optional - allow-multiple: true - state: - type: optional - allow-multiple: true - response: - docs: Success. - type: root.DevUsersListResponse - - self: - path: /dev-users.self - method: GET - response: - docs: Success. - type: root.DevUsersSelfResponse diff --git a/fern/public/definition/parts.yml b/fern/public/definition/parts.yml deleted file mode 100644 index 6f57d4b7..00000000 --- a/fern/public/definition/parts.yml +++ /dev/null @@ -1,82 +0,0 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/fern-api/fern/main/fern.schema.json - -imports: - root: __package__.yml - -service: - auth: true - base-path: "" - endpoints: - create: - path: /parts.create - method: POST - request: - body: - type: root.PartsCreateRequest - response: - docs: Success. - type: root.PartsCreateResponse - - delete: - path: /parts.delete - method: POST - request: - name: PartsDeleteRequest - body: - properties: - id: - type: string - docs: The ID of the part to delete. - response: - docs: Success. - type: root.parts-delete-response - - get: - path: /parts.get - method: GET - request: - name: PartsGetRequest - query-parameters: - id: - type: string - response: - docs: Success. - type: root.PartsGetResponse - - list: - path: /parts.list - method: GET - request: - name: PartsListRequest - query-parameters: - created_by: - type: optional - allow-multiple: true - cursor: - type: optional - limit: - type: optional - mode: - type: optional - name: - type: optional - allow-multiple: true - owned_by: - type: optional - allow-multiple: true - type: - type: optional - allow-multiple: true - response: - docs: Success. - type: root.PartsListResponse - - update: - path: /parts.update - method: POST - request: - body: - type: root.PartsUpdateRequest - response: - docs: Success. - type: root.PartsUpdateResponse diff --git a/fern/public/definition/revOrgs.yml b/fern/public/definition/revOrgs.yml deleted file mode 100644 index a081417d..00000000 --- a/fern/public/definition/revOrgs.yml +++ /dev/null @@ -1,134 +0,0 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/fern-api/fern/main/fern.schema.json - -imports: - root: __package__.yml - -service: - auth: true - base-path: "" - endpoints: - create: - path: /rev-orgs.create - method: POST - request: - name: RevOrgsCreateRequest - body: - properties: - description: - docs: Description of the Rev organization. - type: optional - display_name: - type: string - docs: Name of the Rev organization. - domain: - docs: Company's domain name. Example - 'devrev.ai'. - type: optional - environment: - type: optional - external_ref: - docs: > - External ref is a custom unique identifier which is a reference - to - an unique id for this organization's data in some system of - records. - type: optional - tier: - docs: The tier of the RevOrg. - type: optional - response: - docs: Success. - type: root.RevOrgsCreateResponse - - delete: - path: /rev-orgs.delete - method: POST - request: - name: RevOrgsDeleteRequest - body: - properties: - id: - type: string - docs: The ID of Rev organization to delete. - response: - docs: Success. - type: root.rev-orgs-delete-response - - get: - path: /rev-orgs.get - method: GET - request: - name: RevOrgsGetRequest - query-parameters: - id: - type: string - response: - docs: Success. - type: root.RevOrgsGetResponse - - list: - path: /rev-orgs.list - method: GET - request: - name: RevOrgsListRequest - query-parameters: - created_by: - type: optional - allow-multiple: true - created_date.after: - type: optional - created_date.before: - type: optional - cursor: - type: optional - external_ref: - type: optional - allow-multiple: true - limit: - type: optional - mode: - type: optional - modified_date.after: - type: optional - modified_date.before: - type: optional - sort_by: - type: optional - allow-multiple: true - response: - docs: Success. - type: root.RevOrgsListResponse - - update: - path: /rev-orgs.update - method: POST - request: - name: RevOrgsUpdateRequest - body: - properties: - description: - docs: Description of the Rev organization. - type: optional - display_name: - docs: Customer chosen name for the Rev organization. - type: optional - domain: - docs: Company's domain name. Example - 'devrev.ai'. - type: optional - environment: - type: optional - external_ref: - docs: > - External ref is a custom unique identifier which is a reference - to - an unique id for this organization's data in some system of - records. - type: optional - id: - type: string - docs: The ID of Rev organization to update. - tier: - docs: The tier of the RevOrg. - type: optional - response: - docs: Success. - type: root.RevOrgsUpdateResponse diff --git a/fern/public/definition/tags.yml b/fern/public/definition/tags.yml deleted file mode 100644 index d8adc26a..00000000 --- a/fern/public/definition/tags.yml +++ /dev/null @@ -1,97 +0,0 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/fern-api/fern/main/fern.schema.json - -imports: - root: __package__.yml - -service: - auth: true - base-path: "" - endpoints: - create: - path: /tags.create - method: POST - request: - name: TagsCreateRequest - body: - properties: - allowed_values: - docs: | - The allowed values for the tag, or empty if no values are - permitted. - type: optional> - description: - docs: The description for the tag. - type: optional - name: - type: string - docs: | - The name for the tag, which must be unique across all tags. - response: - docs: Success. - type: root.TagsCreateResponse - - delete: - path: /tags.delete - method: POST - request: - name: TagsDeleteRequest - body: - properties: - id: - type: string - docs: The ID of the tag to delete. - response: - docs: Success. - type: root.tags-delete-response - - get: - path: /tags.get - method: GET - request: - name: TagsGetRequest - query-parameters: - id: - type: string - response: - docs: Success. - type: root.TagsGetResponse - - list: - path: /tags.list - method: GET - request: - name: TagsListRequest - query-parameters: - cursor: - type: optional - limit: - type: optional - mode: - type: optional - response: - docs: Success. - type: root.TagsListResponse - - update: - path: /tags.update - method: POST - request: - name: TagsUpdateRequest - body: - properties: - allowed_values: - type: optional - description: - docs: The updated description of the tag. - type: optional - id: - type: string - docs: The ID of the tag to update. - name: - docs: | - The updated name of the tag. The name must be unique across all - tags. - type: optional - response: - docs: Success. - type: root.TagsUpdateResponse diff --git a/fern/public/definition/timelineEntries.yml b/fern/public/definition/timelineEntries.yml deleted file mode 100644 index 5950109a..00000000 --- a/fern/public/definition/timelineEntries.yml +++ /dev/null @@ -1,60 +0,0 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/fern-api/fern/main/fern.schema.json - -imports: - root: __package__.yml - -service: - auth: true - base-path: "" - endpoints: - create: - path: /timeline-entries.create - method: POST - request: - body: - type: root.TimelineEntriesCreateRequest - docs: The request to create a timeline entry for an object. - response: - docs: Success. - type: root.TimelineEntriesCreateResponse - - get: - path: /timeline-entries.get - method: GET - request: - name: TimelineEntriesGetRequest - query-parameters: - id: - type: string - response: - docs: Success. - type: root.TimelineEntriesGetResponse - - list: - path: /timeline-entries.list - method: GET - request: - name: TimelineEntriesListRequest - query-parameters: - object: - type: string - cursor: - type: optional - limit: - type: optional - mode: - type: optional - response: - docs: Success. - type: root.TimelineEntriesListResponse - - update: - path: /timeline-entries.update - method: POST - request: - body: - type: root.TimelineEntriesUpdateRequest - docs: The request to update a timeline entry. - response: - docs: Success. - type: root.TimelineEntriesUpdateResponse diff --git a/fern/public/definition/webhooks.yml b/fern/public/definition/webhooks.yml deleted file mode 100644 index f76b1d33..00000000 --- a/fern/public/definition/webhooks.yml +++ /dev/null @@ -1,102 +0,0 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/fern-api/fern/main/fern.schema.json - -imports: - root: __package__.yml - -service: - auth: true - base-path: "" - endpoints: - create: - path: /webhooks.create - method: POST - request: - name: WebhooksCreateRequest - body: - properties: - event_types: - docs: The event types that the webhook endpoint will receive. - type: optional> - secret: - docs: > - The secret to use when verifying webhook events. If provided, - the - secret must be between 8 and 32 bytes (inclusive). If not set, a - secret will be automatically generated and provided in the - response. - type: optional - url: - type: string - docs: The URL of the webhook endpoint. - response: - docs: Success. - type: root.WebhooksCreateResponse - - delete: - path: /webhooks.delete - method: POST - request: - name: WebhooksDeleteRequest - body: - properties: - id: - type: string - docs: ID for the webhook. - response: - docs: Success. - type: root.webhooks-delete-response - - get: - path: /webhooks.get - method: GET - request: - name: WebhooksGetRequest - query-parameters: - id: - type: string - response: - docs: Success. - type: root.WebhooksGetResponse - - list: - path: /webhooks.list - method: GET - response: - docs: Success. - type: root.WebhooksListResponse - - update: - path: /webhooks.update - method: POST - request: - name: WebhooksUpdateRequest - body: - properties: - action: - type: optional - event_types: - type: optional - id: - type: string - docs: ID for the webhook. - secret: - docs: > - If provided, updates the secret that's used when verifying - webhook - events, which must be between 8 and 32 bytes (inclusive). - Otherwise - if empty, then a new secret is generated. If the webhook is - active, - then its status will transition to the 'unverified' state and it - won't receive any object events until successfully verified. - type: optional - url: - docs: > - The webhook's updated URL. If the webhook is active, then the - webhook's status will transition to the 'unverified' state and - it - won't receive any object events until successfully verified. - type: optional - response: - docs: Success. - type: root.WebhooksUpdateResponse diff --git a/fern/public/definition/works.yml b/fern/public/definition/works.yml deleted file mode 100644 index 293417cc..00000000 --- a/fern/public/definition/works.yml +++ /dev/null @@ -1,136 +0,0 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/fern-api/fern/main/fern.schema.json - -imports: - root: __package__.yml - -service: - auth: true - base-path: "" - endpoints: - create: - path: /works.create - method: POST - request: - body: - type: root.WorksCreateRequest - response: - docs: Success. - type: root.WorksCreateResponse - - delete: - path: /works.delete - method: POST - request: - name: WorksDeleteRequest - body: - properties: - id: - type: string - docs: The work's ID. - response: - docs: Success. - type: root.works-delete-response - - export: - path: /works.export - method: GET - request: - name: WorksExportRequest - query-parameters: - applies_to_part: - type: optional - allow-multiple: true - created_by: - type: optional - allow-multiple: true - first: - type: optional - issue.priority: - type: optional - allow-multiple: true - issue.rev_orgs: - type: optional - allow-multiple: true - owned_by: - type: optional - allow-multiple: true - stage.name: - type: optional - allow-multiple: true - ticket.rev_org: - type: optional - allow-multiple: true - ticket.severity: - type: optional - allow-multiple: true - type: - type: optional - allow-multiple: true - response: - docs: Success. - type: root.WorksExportResponse - - get: - path: /works.get - method: GET - request: - name: WorksGetRequest - query-parameters: - id: - type: string - response: - docs: Success. - type: root.WorksGetResponse - - list: - path: /works.list - method: GET - request: - name: WorksListRequest - query-parameters: - applies_to_part: - type: optional - allow-multiple: true - created_by: - type: optional - allow-multiple: true - cursor: - type: optional - issue.priority: - type: optional - allow-multiple: true - issue.rev_orgs: - type: optional - allow-multiple: true - limit: - type: optional - mode: - type: optional - owned_by: - type: optional - allow-multiple: true - stage.name: - type: optional - allow-multiple: true - ticket.rev_org: - type: optional - allow-multiple: true - ticket.severity: - type: optional - allow-multiple: true - type: - type: optional - allow-multiple: true - response: - docs: Success. - type: root.WorksListResponse - - update: - path: /works.update - method: POST - request: - body: - type: root.WorksUpdateRequest - response: - docs: Success. - type: root.WorksUpdateResponse