mirror of
https://github.com/LukeHagar/api-testing.git
synced 2025-12-10 12:27:49 +00:00
init
This commit is contained in:
11
.gitignore
vendored
Normal file
11
.gitignore
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
/models
|
||||
/models/errors
|
||||
/types
|
||||
/lib
|
||||
/sdk
|
||||
/hooks
|
||||
/index.*
|
||||
/cjs
|
||||
/node_modules
|
||||
/.tsbuildinfo
|
||||
/sdks
|
||||
76
.speakeasy/gen.lock
Executable file
76
.speakeasy/gen.lock
Executable file
@@ -0,0 +1,76 @@
|
||||
lockVersion: 2.0.0
|
||||
id: 96ed1f55-25a7-4285-99c3-e65d0d9e3e68
|
||||
management:
|
||||
docChecksum: 2e0930ee7c51185a6fafcce81e2b1c08
|
||||
docVersion: "2"
|
||||
speakeasyVersion: 1.267.1
|
||||
generationVersion: 2.312.1
|
||||
releaseVersion: 0.0.1
|
||||
configChecksum: dccd54b2decd1337051f75336f7d093f
|
||||
features:
|
||||
typescript:
|
||||
core: 3.8.0
|
||||
flattening: 2.81.1
|
||||
globalSecurity: 2.82.9
|
||||
globalServerURLs: 2.82.4
|
||||
responseFormat: 0.2.3
|
||||
generatedFiles:
|
||||
- src/sdk/annotations.ts
|
||||
- src/sdk/sdk.ts
|
||||
- .eslintrc.js
|
||||
- .npmignore
|
||||
- RUNTIMES.md
|
||||
- jsr.json
|
||||
- package.json
|
||||
- src/index.ts
|
||||
- src/lib/base64.ts
|
||||
- src/lib/config.ts
|
||||
- src/lib/encodings.ts
|
||||
- src/lib/http.ts
|
||||
- src/lib/retries.ts
|
||||
- src/lib/schemas.ts
|
||||
- src/lib/sdks.ts
|
||||
- src/lib/security.ts
|
||||
- src/lib/url.ts
|
||||
- src/sdk/index.ts
|
||||
- src/models/errors/sdkerror.ts
|
||||
- src/models/errors/sdkvalidationerror.ts
|
||||
- src/types/blobs.ts
|
||||
- src/types/index.ts
|
||||
- src/types/operations.ts
|
||||
- src/types/rfcdate.ts
|
||||
- tsconfig.json
|
||||
- src/models/operations/getannotation.ts
|
||||
- src/models/operations/updateannotation.ts
|
||||
- src/models/operations/deleteannotation.ts
|
||||
- src/models/operations/getannotations.ts
|
||||
- src/models/operations/createannotation.ts
|
||||
- src/models/components/annotation.ts
|
||||
- src/models/components/httpmetadata.ts
|
||||
- src/models/components/baseannotation.ts
|
||||
- src/models/components/newannotation.ts
|
||||
- src/models/components/security.ts
|
||||
- src/models/errors/index.ts
|
||||
- src/models/operations/index.ts
|
||||
- src/models/components/index.ts
|
||||
- docs/models/operations/getannotationrequest.md
|
||||
- docs/models/operations/getannotationresponse.md
|
||||
- docs/models/operations/updateannotationrequest.md
|
||||
- docs/models/operations/updateannotationresponse.md
|
||||
- docs/models/operations/deleteannotationrequest.md
|
||||
- docs/models/operations/deleteannotationresponse.md
|
||||
- docs/models/operations/getannotationsrequest.md
|
||||
- docs/models/operations/getannotationsresponse.md
|
||||
- docs/models/operations/createannotationresponse.md
|
||||
- docs/models/components/annotation.md
|
||||
- docs/models/components/httpmetadata.md
|
||||
- docs/models/components/baseannotation.md
|
||||
- docs/models/components/newannotation.md
|
||||
- docs/models/components/security.md
|
||||
- docs/sdks/axiomjs/README.md
|
||||
- docs/sdks/annotations/README.md
|
||||
- USAGE.md
|
||||
- .gitattributes
|
||||
- src/hooks/hooks.ts
|
||||
- src/hooks/types.ts
|
||||
- src/hooks/index.ts
|
||||
38
.speakeasy/gen.yaml
Executable file
38
.speakeasy/gen.yaml
Executable file
@@ -0,0 +1,38 @@
|
||||
configVersion: 2.0.0
|
||||
generation:
|
||||
sdkClassName: axiom-js
|
||||
maintainOpenAPIOrder: true
|
||||
usageSnippets:
|
||||
optionalPropertyRendering: withExample
|
||||
useClassNamesForArrayFields: true
|
||||
fixes:
|
||||
nameResolutionDec2023: true
|
||||
parameterOrderingFeb2024: true
|
||||
requestResponseComponentNamesFeb2024: true
|
||||
auth:
|
||||
oAuth2ClientCredentialsEnabled: false
|
||||
typescript:
|
||||
version: 0.0.2
|
||||
additionalDependencies:
|
||||
dependencies: {}
|
||||
devDependencies: {}
|
||||
peerDependencies: {}
|
||||
additionalPackageJSON: {}
|
||||
author: Axiom, Inc.
|
||||
clientServerStatusCodesAsErrors: true
|
||||
enumFormat: enum
|
||||
flattenGlobalSecurity: true
|
||||
imports:
|
||||
option: openapi
|
||||
paths:
|
||||
callbacks: models/callbacks
|
||||
errors: models/errors
|
||||
operations: models/operations
|
||||
shared: models/components
|
||||
webhooks: models/webhooks
|
||||
inputModelSuffix: input
|
||||
maxMethodParams: 4
|
||||
outputModelSuffix: output
|
||||
packageName: axiom-js
|
||||
responseFormat: envelope-http
|
||||
templateVersion: v2
|
||||
19
.speakeasy/workflow.lock
Normal file
19
.speakeasy/workflow.lock
Normal file
@@ -0,0 +1,19 @@
|
||||
speakeasyVersion: 1.267.1
|
||||
sources: {}
|
||||
targets: {}
|
||||
workflow:
|
||||
workflowVersion: 1.0.0
|
||||
speakeasyVersion: latest
|
||||
sources:
|
||||
openapi:
|
||||
inputs:
|
||||
- location: openapi.yaml
|
||||
targets:
|
||||
axiom-go:
|
||||
target: go
|
||||
source: openapi
|
||||
output: sdks/go
|
||||
axiom-js:
|
||||
target: typescript
|
||||
source: openapi
|
||||
output: sdks/js
|
||||
15
.speakeasy/workflow.yaml
Normal file
15
.speakeasy/workflow.yaml
Normal file
@@ -0,0 +1,15 @@
|
||||
workflowVersion: 1.0.0
|
||||
speakeasyVersion: latest
|
||||
sources:
|
||||
openapi:
|
||||
inputs:
|
||||
- location: openapi.yaml
|
||||
targets:
|
||||
axiom-go:
|
||||
target: go
|
||||
source: openapi
|
||||
output: sdks/go
|
||||
axiom-js:
|
||||
target: typescript
|
||||
source: openapi
|
||||
output: sdks/js
|
||||
257
openapi.yaml
Normal file
257
openapi.yaml
Normal file
@@ -0,0 +1,257 @@
|
||||
openapi: "3.0.3"
|
||||
info:
|
||||
title: Axiom API
|
||||
version: "2"
|
||||
description: |
|
||||
100% of your data for every possible need: o11y, security, analytics, and new insights.
|
||||
contact:
|
||||
name: Axiom support
|
||||
email: support@axiom.co
|
||||
url: https://axiom.co
|
||||
servers:
|
||||
- url: https://api.axiom.co
|
||||
description: Production API
|
||||
security:
|
||||
- BearerAuth: []
|
||||
tags:
|
||||
- name: Annotations
|
||||
description: Annotations are used to mark important events in your data.
|
||||
paths:
|
||||
/annotations:
|
||||
get:
|
||||
operationId: getAnnotations
|
||||
summary: Get annotations
|
||||
description: Get all annotations and filter by datasets or timerange.
|
||||
tags:
|
||||
- Annotations
|
||||
parameters:
|
||||
- in: query
|
||||
name: datasets
|
||||
description: The datasets to filter by.
|
||||
schema:
|
||||
type: array
|
||||
items:
|
||||
type: string
|
||||
minLength: 1
|
||||
example: one-dataset,another-dataset
|
||||
- in: query
|
||||
name: start
|
||||
description: If set, will filter to events after this date. Should be in RFC3339.
|
||||
schema:
|
||||
type: string
|
||||
format: date-time
|
||||
example: "2024-04-19T15:00:00Z"
|
||||
- in: query
|
||||
name: end
|
||||
schema:
|
||||
type: string
|
||||
format: date-time
|
||||
example: "2024-04-19T16:00:00Z"
|
||||
description: If set, will filter to events before this date. Should be in RFC3339.
|
||||
responses:
|
||||
'200':
|
||||
description: A list of annotations.
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: array
|
||||
items:
|
||||
$ref: "#/components/schemas/Annotation"
|
||||
'400':
|
||||
$ref: "#/components/responses/400"
|
||||
'401':
|
||||
$ref: "#/components/responses/401"
|
||||
'403':
|
||||
$ref: "#/components/responses/403"
|
||||
'500':
|
||||
$ref: "#/components/responses/500"
|
||||
post:
|
||||
operationId: createAnnotation
|
||||
summary: Create a new annotation.
|
||||
description: Create a new annotation.
|
||||
tags:
|
||||
- Annotations
|
||||
requestBody:
|
||||
description: The annotation to create.
|
||||
required: true
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: "#/components/schemas/NewAnnotation"
|
||||
responses:
|
||||
'201':
|
||||
description: The new annotation
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: "#/components/schemas/Annotation"
|
||||
'400':
|
||||
$ref: "#/components/responses/400"
|
||||
'401':
|
||||
$ref: "#/components/responses/401"
|
||||
'403':
|
||||
$ref: "#/components/responses/403"
|
||||
'500':
|
||||
$ref: "#/components/responses/500"
|
||||
/annotations/{id}:
|
||||
get:
|
||||
operationId: getAnnotation
|
||||
summary: Get a single annotation.
|
||||
description: Get a single annotation by id.
|
||||
parameters:
|
||||
- $ref: '#/components/parameters/annotationId'
|
||||
responses:
|
||||
'200':
|
||||
description: The annotation with the given id.
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: "#/components/schemas/Annotation"
|
||||
'400':
|
||||
$ref: "#/components/responses/400"
|
||||
'401':
|
||||
$ref: "#/components/responses/401"
|
||||
'403':
|
||||
$ref: "#/components/responses/403"
|
||||
'500':
|
||||
$ref: "#/components/responses/500"
|
||||
put:
|
||||
operationId: updateAnnotation
|
||||
summary: Update an annotation.
|
||||
description: Update an annotation.
|
||||
parameters:
|
||||
- $ref: '#/components/parameters/annotationId'
|
||||
requestBody:
|
||||
description: The fields to update.
|
||||
required: true
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: "#/components/schemas/UpdateAnnotation"
|
||||
responses:
|
||||
'200':
|
||||
description: The updated annotation.
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: "#/components/schemas/Annotation"
|
||||
'400':
|
||||
$ref: "#/components/responses/400"
|
||||
'401':
|
||||
$ref: "#/components/responses/401"
|
||||
'403':
|
||||
$ref: "#/components/responses/403"
|
||||
'500':
|
||||
$ref: "#/components/responses/500"
|
||||
delete:
|
||||
operationId: deleteAnnotation
|
||||
summary: Delete an annotation.
|
||||
description: Delete an annotation by id.
|
||||
parameters:
|
||||
- $ref: '#/components/parameters/annotationId'
|
||||
responses:
|
||||
'204':
|
||||
description: Annotation was successfully deleted.
|
||||
'400':
|
||||
$ref: "#/components/responses/400"
|
||||
'401':
|
||||
$ref: "#/components/responses/401"
|
||||
'403':
|
||||
$ref: "#/components/responses/403"
|
||||
'500':
|
||||
$ref: "#/components/responses/500"
|
||||
components:
|
||||
securitySchemes:
|
||||
BearerAuth:
|
||||
type: http
|
||||
scheme: bearer
|
||||
responses:
|
||||
'400':
|
||||
description: The request is malformed, please check the parameters
|
||||
# TODO: Add more details on the error
|
||||
'401':
|
||||
description: Unauthorized
|
||||
# TODO: Add more details on the error
|
||||
'403':
|
||||
description: Forbidden
|
||||
# TODO: Add more details on the error
|
||||
'404':
|
||||
description: Resource not found
|
||||
# TODO: Add more details on the error
|
||||
'500':
|
||||
description: The server encountered an error
|
||||
# TODO: Add more details on the error
|
||||
schemas:
|
||||
Annotation:
|
||||
description: An annotation.
|
||||
allOf:
|
||||
- $ref: "#/components/schemas/NewAnnotation"
|
||||
- type: object
|
||||
required:
|
||||
- id
|
||||
properties:
|
||||
id:
|
||||
type: string
|
||||
pattern: ^ann
|
||||
description: The id of the annotation.
|
||||
example: ann_0ebfg7cb0r9j3vc4bk4c409t48
|
||||
NewAnnotation:
|
||||
description: A new annotation to create.
|
||||
allOf:
|
||||
- $ref: "#/components/schemas/BaseAnnotation"
|
||||
- required:
|
||||
- id
|
||||
- datasets
|
||||
- type
|
||||
UpdateAnnotation:
|
||||
description: Fields to update on an annotation.
|
||||
allOf:
|
||||
- $ref: "#/components/schemas/BaseAnnotation"
|
||||
BaseAnnotation:
|
||||
description: The base annotation, used
|
||||
type: object
|
||||
properties:
|
||||
title:
|
||||
type: string
|
||||
maxLength: 512
|
||||
example: Production deployment
|
||||
description:
|
||||
type: string
|
||||
example: A production deployment happened.
|
||||
description: The description of the annotation.
|
||||
time:
|
||||
type: string
|
||||
format: date-time
|
||||
example: "2024-04-19T15:00:00Z"
|
||||
description: The time of the annotation.
|
||||
endTime:
|
||||
type: string
|
||||
format: date-time
|
||||
example: "2024-04-19T16:00:00Z"
|
||||
description: The end time, use for ranged annotations.
|
||||
type:
|
||||
type: string
|
||||
example: deploy
|
||||
description: The type of the annotation. Can be anything, used for filtering in the UI.
|
||||
url:
|
||||
type: string
|
||||
description: A URL attached to the annotation.
|
||||
example: https://deployments.example.com/42
|
||||
datasets:
|
||||
type: array
|
||||
minItems: 1
|
||||
items:
|
||||
type: string
|
||||
minLength: 1
|
||||
example: one-dataset,another-dataset
|
||||
description: The datasets the annotation is attached to.
|
||||
parameters:
|
||||
annotationId:
|
||||
name: id
|
||||
in: path
|
||||
description: The id of the annotation.
|
||||
schema:
|
||||
type: string
|
||||
pattern: ^ann
|
||||
example: ann_0ebfg7cb0r9j3vc4bk4c409t48
|
||||
required: true
|
||||
Reference in New Issue
Block a user