diff --git a/asyncapi.yml b/asyncapi.yml index 8c5d837..f8ac082 100644 --- a/asyncapi.yml +++ b/asyncapi.yml @@ -7,7 +7,7 @@ info: description: AssemblyAI real-time API license: name: MIT License - version: 1.1.0 + version: 1.1.1 contact: name: API Support email: support@assemblyai.com @@ -426,8 +426,8 @@ components: ] AudioData: type: string - format: binary description: Binary audio data + format: binary x-fern-sdk-group-name: realtime x-ts-type: ArrayBufferLike ForceEndUtterance: @@ -453,6 +453,8 @@ components: end_utterance_silence_threshold: description: The duration threshold in milliseconds type: integer + minimum: 0 + maximum: 20000 additionalProperties: false examples: - { "end_utterance_silence_threshold": 300 } diff --git a/fern/generators.yml b/fern/generators.yml index 4037e15..31ebcaa 100644 --- a/fern/generators.yml +++ b/fern/generators.yml @@ -12,7 +12,7 @@ groups: path: ../postman ruby-sdk: generators: - - name: fernapi/fern-ruby-sdk + - name: fernapi/fern-ruby-sdk version: 0.2.0 github: repository: AssemblyAI/assemblyai-ruby-sdk diff --git a/openapi.yml b/openapi.yml index e04be59..2b3e554 100644 --- a/openapi.yml +++ b/openapi.yml @@ -3,7 +3,7 @@ openapi: 3.1.0 info: title: AssemblyAI API description: AssemblyAI API - version: 1.0.0 + version: 1.1.0 contact: name: API Support email: support@assemblyai.com @@ -42,10 +42,7 @@ paths: description: Upload your media file directly to the AssemblyAI API if it isn't accessible via a URL already. requestBody: content: - application/octet-stream: - schema: - type: string - format: binary + application/octet-stream: {} responses: "200": description: File uploaded successfully @@ -92,6 +89,21 @@ paths: application/json: schema: $ref: "#/components/schemas/Transcript" + links: + GetTranscriptById: + $ref: '#/components/links/GetTranscriptById' + GetTranscriptSentencesById: + $ref: '#/components/links/GetTranscriptSentencesById' + GetTranscriptParagraphsById: + $ref: '#/components/links/GetTranscriptParagraphsById' + GetTranscriptSubtitlesById: + $ref: '#/components/links/GetTranscriptSubtitlesById' + GetTranscriptRedactedAudioById: + $ref: '#/components/links/GetTranscriptRedactedAudioById' + WordSearchByTranscriptId: + $ref: '#/components/links/WordSearchByTranscriptId' + DeleteTranscriptById: + $ref: '#/components/links/DeleteTranscriptById' "400": $ref: "#/components/responses/BadRequest" "401": @@ -106,6 +118,20 @@ paths: $ref: "#/components/responses/ServiceUnavailable" "504": $ref: "#/components/responses/GatewayTimeout" + callbacks: + transcriptWebhook: + '{$request.body#/webhook_url}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/TranscriptReadyNotification" + + responses: + '200': + description: Successfully received the notification get: tags: @@ -153,7 +179,6 @@ paths: description: Only get throttled transcripts, overrides the status filter schema: $ref: "#/components/schemas/ListTranscriptParams/properties/throttled_only" - responses: "200": description: A list of transcripts @@ -200,6 +225,21 @@ paths: application/json: schema: $ref: "#/components/schemas/Transcript" + links: + GetTranscriptById: + $ref: '#/components/links/GetTranscriptById' + GetTranscriptSentencesById: + $ref: '#/components/links/GetTranscriptSentencesById' + GetTranscriptParagraphsById: + $ref: '#/components/links/GetTranscriptParagraphsById' + GetTranscriptSubtitlesById: + $ref: '#/components/links/GetTranscriptSubtitlesById' + GetTranscriptRedactedAudioById: + $ref: '#/components/links/GetTranscriptRedactedAudioById' + WordSearchByTranscriptId: + $ref: '#/components/links/WordSearchByTranscriptId' + DeleteTranscriptById: + $ref: '#/components/links/DeleteTranscriptById' "400": $ref: "#/components/responses/BadRequest" "401": @@ -410,6 +450,8 @@ paths: in: query description: Keywords to search for required: true + style: form + explode: false schema: type: array items: @@ -540,6 +582,9 @@ paths: application/json: schema: $ref: "#/components/schemas/LemurTaskResponse" + links: + PurgeLemurRequestDataById: + $ref: '#/components/links/PurgeLemurRequestDataById' "400": $ref: "#/components/responses/BadRequest" "401": @@ -572,7 +617,6 @@ paths: application/json: schema: $ref: "#/components/schemas/LemurSummaryParams" - responses: "200": description: LeMUR summary response @@ -580,6 +624,9 @@ paths: application/json: schema: $ref: "#/components/schemas/LemurSummaryResponse" + links: + PurgeLemurRequestDataById: + $ref: '#/components/links/PurgeLemurRequestDataById' "400": $ref: "#/components/responses/BadRequest" "401": @@ -612,7 +659,6 @@ paths: application/json: schema: $ref: "#/components/schemas/LemurQuestionAnswerParams" - responses: "200": description: LeMUR question & answer response @@ -620,6 +666,9 @@ paths: application/json: schema: $ref: "#/components/schemas/LemurQuestionAnswerResponse" + links: + PurgeLemurRequestDataById: + $ref: '#/components/links/PurgeLemurRequestDataById' "400": $ref: "#/components/responses/BadRequest" "401": @@ -652,7 +701,6 @@ paths: application/json: schema: $ref: "#/components/schemas/LemurActionItemsParams" - responses: "200": description: LeMUR action items response @@ -660,6 +708,9 @@ paths: application/json: schema: $ref: "#/components/schemas/LemurActionItemsResponse" + links: + PurgeLemurRequestDataById: + $ref: '#/components/links/PurgeLemurRequestDataById' "400": $ref: "#/components/responses/BadRequest" "401": @@ -717,7 +768,71 @@ paths: $ref: "#/components/responses/GatewayTimeout" components: + links: + GetTranscriptById: + operationId: getTranscript + parameters: + transcript_id: '$response.body#/id' + description: The transcript ID can be used as the `transcript_id` parameter in `GET /v2/transcript/{transcript_id}`. + GetTranscriptSentencesById: + operationId: getSentences + parameters: + transcript_id: '$response.body#/id' + description: The transcript ID can be used as the `transcript_id` parameter in `GET /v2/transcript/{transcript_id}/sentences`. + GetTranscriptParagraphsById: + operationId: getParagraphs + parameters: + transcript_id: '$response.body#/id' + description: The transcript ID can be used as the `transcript_id` parameter in `GET /v2/transcript/{transcript_id}/paragraphs`. + GetTranscriptSubtitlesById: + operationId: getSubtitles + parameters: + transcript_id: '$response.body#/id' + description: The transcript ID can be used as the `transcript_id` parameter in `GET /v2/transcript/{transcript_id}/{subtitle_format}`. + GetTranscriptRedactedAudioById: + operationId: getRedactedAudio + parameters: + transcript_id: '$response.body#/id' + description: The transcript ID can be used as the `transcript_id` parameter in `GET /v2/transcript/{transcript_id}/redacted-audio`. + WordSearchByTranscriptId: + operationId: wordSearch + parameters: + transcript_id: '$response.body#/id' + description: The transcript ID can be used as the `transcript_id` parameter in `GET /v2/transcript/{transcript_id}/word-search`. + DeleteTranscriptById: + operationId: deleteTranscript + parameters: + transcript_id: '$response.body#/id' + description: The transcript ID can be used as the `transcript_id` parameter in `DELETE /v2/transcript/{transcript_id}`. + PurgeLemurRequestDataById: + operationId: purgeLemurRequestData + parameters: + request_id: '$response.body#/request_id' + description: The LeMUR request ID can be used as the `request_id` parameter in `DELETE /lemur/v3/{request_id}`. + schemas: + TranscriptReadyNotification: + description: The notification when the transcript status is completed or error. + x-fern-sdk-group-name: transcripts + type: object + additionalProperties: false + properties: + transcript_id: + description: The ID of the transcript + type: string + format: uuid + status: + description: The status of the transcript. Either completed or error. + $ref: "#/components/schemas/TranscriptReadyStatus" + required: + - transcript_id + - status + example: + { + transcript_id: "9ea68fd3-f953-42c1-9742-976c447fb463", + status: "completed" + } + RedactedAudioResponse: type: object additionalProperties: false @@ -735,7 +850,7 @@ components: example: { redacted_audio_url: "https://s3.us-west-2.amazonaws.com/api.assembly.ai.usw2/redacted-audio/785efd9e-0e20-45e1-967b-3db17770ed9f.wav?AWSAccessKeyId=ASIAVASQFLPGLUP5JD7Y&Signature=z1r2MOA46esiiAmk%2FreBkL8rl6g%3D&x-amz-security-token=IQoJb3JpZ2luX2VjEPv%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaCXVzLXdlc3QtMiJHMEUCIHxKoUJdd5P%2Fdy4WlfvRNppQtauTy7OuAb5azR2OIoYSAiEA8iPx4xAx0pbZztT4e7fGnzPS4phvNCnYKflIijUoxDsq%2BwMIMxAEGgwzNDQ4MzkyNDg4NDQiDJxsCgo0cDg789FV0CrYAwPK3CHbRHoNPFiQ%2FO6EdHZ4OSFRcS%2FDvDyHQRNnYNSwG4JB2mUMWEVw808JWTya%2But4wEcmPiUCVJMTvh70cxhILAxP84CBTuWGM%2Fszbj4tn1thjVsqovf9YZmP17OCFa77Bc9%2F9RwtRaABEqJ2eb6%2Bsir7w0MMzhe1z%2F%2B1PUKxicJAZasBv3Ova%2BTY2eNkPZHQ4Njie4X5sh05b%2BrKnz58E7GTQ1sHZQDYHZecwb5fP0B3LR0vuqNtK%2BdpMAxw5H7BinQ4rdccLmsLLMQeVn8jdRDZNEvsdmoeQL0y0qD%2BUcyGMJoAjMT4FnXhBhVxc3bgkVUbHlZMn48FNCYcmzM8UB9wGmSnr6iQoqEaFElfQVbvAzsW7lnlfLROZxMvGXyliobPYPSaYZlVYgHcIxeWuOAXRtEtmL2jbaX4ghCVgJBVO3BBzTgub2jB0KPU6lYZLLM4kf%2B8hKX8iyxSRc6ZVEefTcyruoDppjB028pA9q75hLH1CZwhfLoM%2F3z5f0aFCl05zQnaa10nbcKj0hERELf4FXqS8yWbSutlRcd7Rr9o8jN31QGUscpsuIvl%2FpyJcZmItX8nO%2FF0s1QjrIi11DLYD9YoOh7eVkN8eKKn5w4cHldVI2sw4NCPqgY6pQE%2BM9va2ad1%2BNrXeQ9t8K41lojTN0BFmM8ERD5fF77xcTlW8VdV%2FiJeLLHDvnYYWVKcga9hSROlmsqvMyn3Tmhz7KQbIepSAOKhcHM%2FyUaLfErvCtjXGwo8nsKForL7SKiGkaRCBmwfQtkSVP6m4tGT50YdGxakh54f8uyC55SbkElknRbpl5haiZ%2F82UddFBkdPcM3t0s7vwbEy%2BbilYyetOr6htc%3D&Expires=1698966551", - status: "redacted_audio_ready", + status: "redacted_audio_ready" } RedactedAudioStatus: @@ -1466,6 +1581,19 @@ components: error: description: An error occurred while processing the audio file. + TranscriptReadyStatus: + type: string + description: The status of the transcript. Either completed or error. + x-fern-sdk-group-name: transcripts + enum: + - completed + - error + x-fern-enum: + completed: + description: The transcript job has been completed successfully. + error: + description: An error occurred while processing the audio file. + Transcript: description: A transcript object type: object