speakeasyclientsdkgo

package module
v3.16.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 7, 2024 License: Apache-2.0 Imports: 13 Imported by: 1

README

Speakeasy

Speakeasy Go SDK

The platform to build, test, document and distribute APIs to your users ❤️ Building really high quality APIs is hard. Speakeasy is a set of OpenAPI tools to make it easier.

Developer-friendly & type-safe Go SDK specifically catered to leverage the Speakeasy API.

Summary

Speakeasy API: The Subscriptions API manages subscriptions for CLI and registry events

For more information about the API: The Speakeasy Platform Documentation

Table of Contents

SDK Installation

To add the SDK as a dependency to your project:

go get github.com/speakeasy-api/speakeasy-client-sdk-go

SDK Example Usage

Example

package main

import (
	"context"
	speakeasyclientsdkgo "github.com/speakeasy-api/speakeasy-client-sdk-go/v3"
	"github.com/speakeasy-api/speakeasy-client-sdk-go/v3/pkg/models/operations"
	"github.com/speakeasy-api/speakeasy-client-sdk-go/v3/pkg/models/shared"
	"log"
)

func main() {
	s := speakeasyclientsdkgo.New(
		speakeasyclientsdkgo.WithSecurity(shared.Security{
			APIKey: speakeasyclientsdkgo.String("<YOUR_API_KEY_HERE>"),
		}),
	)

	ctx := context.Background()
	res, err := s.Apis.GetApis(ctx, operations.GetApisRequest{})
	if err != nil {
		log.Fatal(err)
	}
	if res.Apis != nil {
		// handle response
	}
}

Available Resources and Operations

Available methods

APIEndpoints

Apis

Artifacts

Auth

  • GetAccess - Get access allowances for a particular workspace
  • GetAccessToken - Get or refresh an access token for the current workspace.
  • GetUser - Get information about the current user.
  • ValidateAPIKey - Validate the current api key.

Embeds

Events

  • GetEventsByTarget - Load recent events for a particular workspace
  • GetTargets - Load targets for a particular workspace
  • GetTargetsDeprecated - Load targets for a particular workspace
  • Post - Post events for a specific workspace
  • Search - Search events for a particular workspace by any field

Github

Metadata

Organizations

  • Create - Create an organization
  • CreateFreeTrial - Create a free trial for an organization
  • Get - Get organization
  • GetAll - Get organizations for a user
  • GetUsage - Get billing usage summary for a particular organization

Reports

Requests

Schemas

ShortURLs

Speakeasy SDK

Subscriptions

Suggest

  • Suggest - Generate suggestions for improving an OpenAPI document.
  • SuggestItems - Generate generic suggestions for a list of items.
  • SuggestOpenAPI - (DEPRECATED) Generate suggestions for improving an OpenAPI document.
  • SuggestOpenAPIRegistry - Generate suggestions for improving an OpenAPI document stored in the registry.

Workspaces

Error Handling

Handling errors in this SDK should largely match your expectations. All operations return a response object or an error, they will never return both.

By Default, an API error will return sdkerrors.SDKError. When custom error responses are specified for an operation, the SDK may also return their associated error. You can refer to respective Errors tables in SDK docs for more details on possible error types for each operation.

For example, the GenerateCodeSamplePreview function may return the following errors:

Error Type Status Code Content Type
sdkerrors.Error 4XX, 5XX application/json

Example

package main

import (
	"context"
	"errors"
	speakeasyclientsdkgo "github.com/speakeasy-api/speakeasy-client-sdk-go/v3"
	"github.com/speakeasy-api/speakeasy-client-sdk-go/v3/pkg/models/sdkerrors"
	"github.com/speakeasy-api/speakeasy-client-sdk-go/v3/pkg/models/shared"
	"log"
	"os"
)

func main() {
	s := speakeasyclientsdkgo.New(
		speakeasyclientsdkgo.WithSecurity(shared.Security{
			APIKey: speakeasyclientsdkgo.String("<YOUR_API_KEY_HERE>"),
		}),
	)

	content, fileErr := os.Open("example.file")
	if fileErr != nil {
		panic(fileErr)
	}

	ctx := context.Background()
	res, err := s.GenerateCodeSamplePreview(ctx, shared.CodeSampleSchemaInput{
		Languages: []string{
			"<value>",
			"<value>",
		},
		SchemaFile: shared.SchemaFile{
			Content:  content,
			FileName: "example.file",
		},
	})
	if err != nil {

		var e *sdkerrors.Error
		if errors.As(err, &e) {
			// handle error
			log.Fatal(e.Error())
		}

		var e *sdkerrors.SDKError
		if errors.As(err, &e) {
			// handle error
			log.Fatal(e.Error())
		}
	}
}

Server Selection

Select Server by Name

You can override the default server globally using the WithServer(server string) option when initializing the SDK client instance. The selected server will then be used as the default on the operations that use it. This table lists the names associated with the available servers:

Name Server
prod https://api.prod.speakeasyapi.dev
Example
package main

import (
	"context"
	speakeasyclientsdkgo "github.com/speakeasy-api/speakeasy-client-sdk-go/v3"
	"github.com/speakeasy-api/speakeasy-client-sdk-go/v3/pkg/models/shared"
	"log"
	"os"
)

func main() {
	s := speakeasyclientsdkgo.New(
		speakeasyclientsdkgo.WithServer("prod"),
		speakeasyclientsdkgo.WithSecurity(shared.Security{
			APIKey: speakeasyclientsdkgo.String("<YOUR_API_KEY_HERE>"),
		}),
	)

	content, fileErr := os.Open("example.file")
	if fileErr != nil {
		panic(fileErr)
	}

	ctx := context.Background()
	res, err := s.GenerateCodeSamplePreview(ctx, shared.CodeSampleSchemaInput{
		Languages: []string{
			"<value>",
			"<value>",
		},
		SchemaFile: shared.SchemaFile{
			Content:  content,
			FileName: "example.file",
		},
	})
	if err != nil {
		log.Fatal(err)
	}
	if res.TwoHundredApplicationJSONResponseStream != nil {
		// handle response
	}
}

Override Server URL Per-Client

The default server can also be overridden globally using the WithServerURL(serverURL string) option when initializing the SDK client instance. For example:

package main

import (
	"context"
	speakeasyclientsdkgo "github.com/speakeasy-api/speakeasy-client-sdk-go/v3"
	"github.com/speakeasy-api/speakeasy-client-sdk-go/v3/pkg/models/shared"
	"log"
	"os"
)

func main() {
	s := speakeasyclientsdkgo.New(
		speakeasyclientsdkgo.WithServerURL("https://api.prod.speakeasyapi.dev"),
		speakeasyclientsdkgo.WithSecurity(shared.Security{
			APIKey: speakeasyclientsdkgo.String("<YOUR_API_KEY_HERE>"),
		}),
	)

	content, fileErr := os.Open("example.file")
	if fileErr != nil {
		panic(fileErr)
	}

	ctx := context.Background()
	res, err := s.GenerateCodeSamplePreview(ctx, shared.CodeSampleSchemaInput{
		Languages: []string{
			"<value>",
			"<value>",
		},
		SchemaFile: shared.SchemaFile{
			Content:  content,
			FileName: "example.file",
		},
	})
	if err != nil {
		log.Fatal(err)
	}
	if res.TwoHundredApplicationJSONResponseStream != nil {
		// handle response
	}
}

Custom HTTP Client

The Go SDK makes API calls that wrap an internal HTTP client. The requirements for the HTTP client are very simple. It must match this interface:

type HTTPClient interface {
	Do(req *http.Request) (*http.Response, error)
}

The built-in net/http client satisfies this interface and a default client based on the built-in is provided by default. To replace this default with a client of your own, you can implement this interface yourself or provide your own client configured as desired. Here's a simple example, which adds a client with a 30 second timeout.

import (
	"net/http"
	"time"
	"github.com/myorg/your-go-sdk"
)

var (
	httpClient = &http.Client{Timeout: 30 * time.Second}
	sdkClient  = sdk.New(sdk.WithClient(httpClient))
)

This can be a convenient way to configure timeouts, cookies, proxies, custom headers, and other low-level configuration.

Authentication

Per-Client Security Schemes

This SDK supports the following security schemes globally:

Name Type Scheme
APIKey apiKey API key
Bearer http HTTP Bearer
WorkspaceIdentifier apiKey API key

You can set the security parameters through the WithSecurity option when initializing the SDK client instance. The selected scheme will be used by default to authenticate with the API for all operations that support it. For example:

package main

import (
	"context"
	speakeasyclientsdkgo "github.com/speakeasy-api/speakeasy-client-sdk-go/v3"
	"github.com/speakeasy-api/speakeasy-client-sdk-go/v3/pkg/models/shared"
	"log"
	"os"
)

func main() {
	s := speakeasyclientsdkgo.New(
		speakeasyclientsdkgo.WithSecurity(shared.Security{
			APIKey: speakeasyclientsdkgo.String("<YOUR_API_KEY_HERE>"),
		}),
	)

	content, fileErr := os.Open("example.file")
	if fileErr != nil {
		panic(fileErr)
	}

	ctx := context.Background()
	res, err := s.GenerateCodeSamplePreview(ctx, shared.CodeSampleSchemaInput{
		Languages: []string{
			"<value>",
			"<value>",
		},
		SchemaFile: shared.SchemaFile{
			Content:  content,
			FileName: "example.file",
		},
	})
	if err != nil {
		log.Fatal(err)
	}
	if res.TwoHundredApplicationJSONResponseStream != nil {
		// handle response
	}
}

Global Parameters

A parameter is configured globally. This parameter may be set on the SDK client instance itself during initialization. When configured as an option during SDK initialization, This global value will be used as the default on the operations that use it. When such operations are called, there is a place in each to override the global value, if needed.

For example, you can set workspace_id to "<id>" at SDK initialization and then you do not have to pass the same value on calls to operations like GetAccessToken. But if you want to do so you may, which will locally override the global setting. See the example code below for a demonstration.

Available Globals

The following global parameter is available.

Name Type Description
WorkspaceID string The WorkspaceID parameter.

Example

package main

import (
	"context"
	speakeasyclientsdkgo "github.com/speakeasy-api/speakeasy-client-sdk-go/v3"
	"github.com/speakeasy-api/speakeasy-client-sdk-go/v3/pkg/models/operations"
	"log"
)

func main() {
	s := speakeasyclientsdkgo.New()

	ctx := context.Background()
	res, err := s.Auth.GetAccessToken(ctx, operations.GetAccessTokenRequest{
		WorkspaceID: "<value>",
	})
	if err != nil {
		log.Fatal(err)
	}
	if res.AccessToken != nil {
		// handle response
	}
}

Retries

Some of the endpoints in this SDK support retries. If you use the SDK without any configuration, it will fall back to the default retry strategy provided by the API. However, the default retry strategy can be overridden on a per-operation basis, or across the entire SDK.

To change the default retry strategy for a single API call, simply provide a retry.Config object to the call by using the WithRetries option:

package main

import (
	"context"
	speakeasyclientsdkgo "github.com/speakeasy-api/speakeasy-client-sdk-go/v3"
	"github.com/speakeasy-api/speakeasy-client-sdk-go/v3/pkg/models/shared"
	"github.com/speakeasy-api/speakeasy-client-sdk-go/v3/pkg/retry"
	"log"
	"os"
	"pkg/models/operations"
)

func main() {
	s := speakeasyclientsdkgo.New(
		speakeasyclientsdkgo.WithSecurity(shared.Security{
			APIKey: speakeasyclientsdkgo.String("<YOUR_API_KEY_HERE>"),
		}),
	)

	content, fileErr := os.Open("example.file")
	if fileErr != nil {
		panic(fileErr)
	}

	ctx := context.Background()
	res, err := s.GenerateCodeSamplePreview(ctx, shared.CodeSampleSchemaInput{
		Languages: []string{
			"<value>",
			"<value>",
		},
		SchemaFile: shared.SchemaFile{
			Content:  content,
			FileName: "example.file",
		},
	}, operations.WithRetries(
		retry.Config{
			Strategy: "backoff",
			Backoff: &retry.BackoffStrategy{
				InitialInterval: 1,
				MaxInterval:     50,
				Exponent:        1.1,
				MaxElapsedTime:  100,
			},
			RetryConnectionErrors: false,
		}))
	if err != nil {
		log.Fatal(err)
	}
	if res.TwoHundredApplicationJSONResponseStream != nil {
		// handle response
	}
}

If you'd like to override the default retry strategy for all operations that support retries, you can use the WithRetryConfig option at SDK initialization:

package main

import (
	"context"
	speakeasyclientsdkgo "github.com/speakeasy-api/speakeasy-client-sdk-go/v3"
	"github.com/speakeasy-api/speakeasy-client-sdk-go/v3/pkg/models/shared"
	"github.com/speakeasy-api/speakeasy-client-sdk-go/v3/pkg/retry"
	"log"
	"os"
)

func main() {
	s := speakeasyclientsdkgo.New(
		speakeasyclientsdkgo.WithRetryConfig(
			retry.Config{
				Strategy: "backoff",
				Backoff: &retry.BackoffStrategy{
					InitialInterval: 1,
					MaxInterval:     50,
					Exponent:        1.1,
					MaxElapsedTime:  100,
				},
				RetryConnectionErrors: false,
			}),
		speakeasyclientsdkgo.WithSecurity(shared.Security{
			APIKey: speakeasyclientsdkgo.String("<YOUR_API_KEY_HERE>"),
		}),
	)

	content, fileErr := os.Open("example.file")
	if fileErr != nil {
		panic(fileErr)
	}

	ctx := context.Background()
	res, err := s.GenerateCodeSamplePreview(ctx, shared.CodeSampleSchemaInput{
		Languages: []string{
			"<value>",
			"<value>",
		},
		SchemaFile: shared.SchemaFile{
			Content:  content,
			FileName: "example.file",
		},
	})
	if err != nil {
		log.Fatal(err)
	}
	if res.TwoHundredApplicationJSONResponseStream != nil {
		// handle response
	}
}

SDK Generated by Speakeasy

Documentation

Index

Constants

View Source
const (
	ServerProd string = "prod"
)

Variables

View Source
var ServerList = map[string]string{
	ServerProd: "https://api.prod.speakeasyapi.dev",
}

ServerList contains the list of servers available to the SDK

Functions

func Bool

func Bool(b bool) *bool

Bool provides a helper function to return a pointer to a bool

func Float32

func Float32(f float32) *float32

Float32 provides a helper function to return a pointer to a float32

func Float64

func Float64(f float64) *float64

Float64 provides a helper function to return a pointer to a float64

func Int

func Int(i int) *int

Int provides a helper function to return a pointer to an int

func Int64

func Int64(i int64) *int64

Int64 provides a helper function to return a pointer to an int64

func Pointer added in v3.13.1

func Pointer[T any](v T) *T

Pointer provides a helper function to return a pointer to a type

func String

func String(s string) *string

String provides a helper function to return a pointer to a string

Types

type APIEndpoints

type APIEndpoints struct {
	// contains filtered or unexported fields
}

APIEndpoints - REST APIs for managing ApiEndpoint entities

func (*APIEndpoints) DeleteAPIEndpoint

DeleteAPIEndpoint - Delete an ApiEndpoint. Delete an ApiEndpoint. This will also delete all associated Request Logs (if using a Postgres datastore).

func (*APIEndpoints) FindAPIEndpoint

FindAPIEndpoint - Find an ApiEndpoint via its displayName. Find an ApiEndpoint via its displayName (set by operationId from a registered OpenAPI schema). This is useful for finding the ID of an ApiEndpoint to use in the /v1/apis/{apiID}/version/{versionID}/api_endpoints/{apiEndpointID} endpoints.

func (*APIEndpoints) GenerateOpenAPISpecForAPIEndpoint

GenerateOpenAPISpecForAPIEndpoint - Generate an OpenAPI specification for a particular ApiEndpoint. This endpoint will generate a new operation in any registered OpenAPI document if the operation does not already exist in the document. Returns the original document and the newly generated document allowing a diff to be performed to see what has changed.

func (*APIEndpoints) GeneratePostmanCollectionForAPIEndpoint

GeneratePostmanCollectionForAPIEndpoint - Generate a Postman collection for a particular ApiEndpoint. Generates a postman collection that allows the endpoint to be called from postman variables produced for any path/query/header parameters included in the OpenAPI document.

func (*APIEndpoints) GetAPIEndpoint

GetAPIEndpoint - Get an ApiEndpoint.

func (*APIEndpoints) GetAllAPIEndpoints

GetAllAPIEndpoints - Get all Api endpoints for a particular apiID.

func (*APIEndpoints) GetAllForVersionAPIEndpoints

GetAllForVersionAPIEndpoints - Get all ApiEndpoints for a particular apiID and versionID.

func (*APIEndpoints) UpsertAPIEndpoint

UpsertAPIEndpoint - Upsert an ApiEndpoint. Upsert an ApiEndpoint. If the ApiEndpoint does not exist it will be created, otherwise it will be updated.

type Apis

type Apis struct {
	// contains filtered or unexported fields
}

Apis - REST APIs for managing Api entities

func (*Apis) DeleteAPI

DeleteAPI - Delete an Api. Delete a particular version of an Api. The will also delete all associated ApiEndpoints, Metadata, Schemas & Request Logs (if using a Postgres datastore).

func (*Apis) GenerateOpenAPISpec

GenerateOpenAPISpec - Generate an OpenAPI specification for a particular Api. This endpoint will generate any missing operations in any registered OpenAPI document if the operation does not already exist in the document. Returns the original document and the newly generated document allowing a diff to be performed to see what has changed.

func (*Apis) GeneratePostmanCollection

GeneratePostmanCollection - Generate a Postman collection for a particular Api. Generates a postman collection containing all endpoints for a particular API. Includes variables produced for any path/query/header parameters included in the OpenAPI document.

func (*Apis) GetAllAPIVersions

GetAllAPIVersions - Get all Api versions for a particular ApiEndpoint. Get all Api versions for a particular ApiEndpoint. Supports filtering the versions based on metadata attributes.

func (*Apis) GetApis

GetApis - Get a list of Apis for a given workspace Get a list of all Apis and their versions for a given workspace. Supports filtering the APIs based on metadata attributes.

func (*Apis) UpsertAPI

UpsertAPI - Upsert an Api Upsert an Api. If the Api does not exist, it will be created. If the Api exists, it will be updated.

type Artifacts added in v3.5.3

type Artifacts struct {
	// contains filtered or unexported fields
}

Artifacts - REST APIs for working with Registry artifacts

func (*Artifacts) CreateRemoteSource added in v3.14.9

func (s *Artifacts) CreateRemoteSource(ctx context.Context, request *shared.RemoteSource, opts ...operations.Option) (*operations.CreateRemoteSourceResponse, error)

CreateRemoteSource - Configure a new remote source

func (*Artifacts) GetBlob added in v3.5.4

GetBlob - Get blob for a particular digest

func (*Artifacts) GetManifest added in v3.5.4

GetManifest - Get manifest for a particular reference

func (*Artifacts) GetNamespaces added in v3.5.3

func (s *Artifacts) GetNamespaces(ctx context.Context, opts ...operations.Option) (*operations.GetNamespacesResponse, error)

GetNamespaces - Each namespace contains many revisions.

func (*Artifacts) GetRevisions added in v3.5.3

func (*Artifacts) GetTags added in v3.5.4

func (*Artifacts) ListRemoteSources added in v3.14.9

ListRemoteSources - Get remote sources attached to a particular namespace

func (*Artifacts) PostTags added in v3.5.10

PostTags - Add tags to an existing revision

func (*Artifacts) Preflight added in v3.5.3

Preflight - Get access token for communicating with OCI distribution endpoints

func (*Artifacts) SetVisibility added in v3.16.0

SetVisibility - Set visibility of a namespace with an existing metadata entry

type Auth added in v3.1.0

type Auth struct {
	// contains filtered or unexported fields
}

Auth - REST APIs for managing Authentication

func (*Auth) GetAccess added in v3.14.0

GetAccess - Get access allowances for a particular workspace Checks if generation is permitted for a particular run of the CLI

func (*Auth) GetAccessToken added in v3.3.11

GetAccessToken - Get or refresh an access token for the current workspace.

func (*Auth) GetUser added in v3.4.6

func (s *Auth) GetUser(ctx context.Context, opts ...operations.Option) (*operations.GetUserResponse, error)

GetUser - Get information about the current user.

func (*Auth) ValidateAPIKey added in v3.1.0

func (s *Auth) ValidateAPIKey(ctx context.Context, opts ...operations.Option) (*operations.ValidateAPIKeyResponse, error)

ValidateAPIKey - Validate the current api key.

type Embeds

type Embeds struct {
	// contains filtered or unexported fields
}

Embeds - REST APIs for managing embeds

func (*Embeds) GetEmbedAccessToken

GetEmbedAccessToken - Get an embed access token for the current workspace. Returns an embed access token for the current workspace. This can be used to authenticate access to externally embedded content. Filters can be applied allowing views to be filtered to things like particular customerIds.

func (*Embeds) GetValidEmbedAccessTokens

func (s *Embeds) GetValidEmbedAccessTokens(ctx context.Context, opts ...operations.Option) (*operations.GetValidEmbedAccessTokensResponse, error)

GetValidEmbedAccessTokens - Get all valid embed access tokens for the current workspace.

func (*Embeds) RevokeEmbedAccessToken

RevokeEmbedAccessToken - Revoke an embed access EmbedToken.

type Events added in v3.1.0

type Events struct {
	// contains filtered or unexported fields
}

Events - REST APIs for capturing event data

func (*Events) GetEventsByTarget added in v3.14.0

GetEventsByTarget - Load recent events for a particular workspace

func (*Events) GetTargets added in v3.14.0

GetTargets - Load targets for a particular workspace

func (*Events) GetTargetsDeprecated added in v3.14.0

GetTargetsDeprecated - Load targets for a particular workspace

func (*Events) Post added in v3.14.0

Post events for a specific workspace Sends an array of events to be stored for a particular workspace.

func (*Events) Search added in v3.14.0

Search events for a particular workspace by any field

type Github added in v3.8.0

type Github struct {
	// contains filtered or unexported fields
}

func (*Github) CheckAccess added in v3.8.9

func (*Github) CheckPublishingPRs added in v3.14.0

func (*Github) CheckPublishingSecrets added in v3.14.0

func (*Github) ConfigureCodeSamples added in v3.8.9

func (*Github) ConfigureMintlifyRepo added in v3.8.9

func (*Github) ConfigureTarget added in v3.8.9

func (*Github) GetAction added in v3.9.0

func (*Github) GetSetup added in v3.15.8

func (*Github) LinkGithub added in v3.15.3

func (*Github) StorePublishingSecrets added in v3.14.0

func (*Github) TriggerAction added in v3.8.9

type HTTPClient

type HTTPClient interface {
	Do(req *http.Request) (*http.Response, error)
}

HTTPClient provides an interface for suplying the SDK with a custom HTTP client

type Metadata

type Metadata struct {
	// contains filtered or unexported fields
}

Metadata - REST APIs for managing Version Metadata entities

func (*Metadata) DeleteVersionMetadata

DeleteVersionMetadata - Delete metadata for a particular apiID and versionID.

func (*Metadata) GetVersionMetadata

GetVersionMetadata - Get all metadata for a particular apiID and versionID.

func (*Metadata) InsertVersionMetadata

InsertVersionMetadata - Insert metadata for a particular apiID and versionID.

type Organizations added in v3.4.2

type Organizations struct {
	// contains filtered or unexported fields
}

func (*Organizations) Create added in v3.14.0

Create an organization Creates an organization

func (*Organizations) CreateFreeTrial added in v3.8.2

CreateFreeTrial - Create a free trial for an organization Creates a free trial for an organization

func (*Organizations) Get added in v3.14.0

Get organization Get information about a particular organization.

func (*Organizations) GetAll added in v3.14.0

GetAll - Get organizations for a user Returns a list of organizations a user has access too

func (*Organizations) GetUsage added in v3.14.0

GetUsage - Get billing usage summary for a particular organization Returns a billing usage summary by target languages for a particular organization

type Reports added in v3.5.5

type Reports struct {
	// contains filtered or unexported fields
}

Reports - REST APIs for managing reports

func (*Reports) GetChangesReportSignedURL added in v3.5.6

GetChangesReportSignedURL - Get the signed access url for the change reports for a particular document.

func (*Reports) GetLintingReportSignedURL added in v3.5.5

GetLintingReportSignedURL - Get the signed access url for the linting reports for a particular document.

func (*Reports) UploadReport added in v3.5.5

UploadReport - Upload a report.

type Requests

type Requests struct {
	// contains filtered or unexported fields
}

Requests - REST APIs for retrieving request information

func (*Requests) GenerateRequestPostmanCollection

GenerateRequestPostmanCollection - Generate a Postman collection for a particular request. Generates a Postman collection for a particular request. Allowing it to be replayed with the same inputs that were captured by the SDK.

func (*Requests) GetRequestFromEventLog

GetRequestFromEventLog - Get information about a particular request.

func (*Requests) QueryEventLog

QueryEventLog - Query the event log to retrieve a list of requests. Supports retrieving a list of request captured by the SDK for this workspace. Allows the filtering of requests on a number of criteria such as ApiID, VersionID, Path, Method, etc.

type SDKOption

type SDKOption func(*Speakeasy)

func WithClient

func WithClient(client HTTPClient) SDKOption

WithClient allows the overriding of the default HTTP client used by the SDK

func WithRetryConfig

func WithRetryConfig(retryConfig retry.Config) SDKOption

func WithSecurity

func WithSecurity(security shared.Security) SDKOption

WithSecurity configures the SDK to use the provided security details

func WithSecuritySource

func WithSecuritySource(security func(context.Context) (shared.Security, error)) SDKOption

WithSecuritySource configures the SDK to invoke the Security Source function on each method call to determine authentication

func WithServer

func WithServer(server string) SDKOption

WithServer allows the overriding of the default server by name

func WithServerURL

func WithServerURL(serverURL string) SDKOption

WithServerURL allows the overriding of the default server URL

func WithTemplatedServerURL

func WithTemplatedServerURL(serverURL string, params map[string]string) SDKOption

WithTemplatedServerURL allows the overriding of the default server URL with a templated URL populated with the provided parameters

func WithTimeout added in v3.9.0

func WithTimeout(timeout time.Duration) SDKOption

WithTimeout Optional request timeout applied to each operation

func WithWorkspaceID added in v3.1.0

func WithWorkspaceID(workspaceID string) SDKOption

WithWorkspaceID allows setting the WorkspaceID parameter for all supported operations

type Schemas

type Schemas struct {
	// contains filtered or unexported fields
}

Schemas - REST APIs for managing Schema entities

func (*Schemas) DeleteSchema

DeleteSchema - Delete a particular schema revision for an Api.

func (*Schemas) DownloadSchema

DownloadSchema - Download the latest schema for a particular apiID.

func (*Schemas) DownloadSchemaRevision

DownloadSchemaRevision - Download a particular schema revision for an Api.

func (*Schemas) GetSchema

GetSchema - Get information about the latest schema. Returns information about the last uploaded schema for a particular API version. This won't include the schema itself, that can be retrieved via the downloadSchema operation.

func (*Schemas) GetSchemaDiff

GetSchemaDiff - Get a diff of two schema revisions for an Api.

func (*Schemas) GetSchemaRevision

GetSchemaRevision - Get information about a particular schema revision for an Api. Returns information about the last uploaded schema for a particular schema revision. This won't include the schema itself, that can be retrieved via the downloadSchema operation.

func (*Schemas) GetSchemas

GetSchemas - Get information about all schemas associated with a particular apiID. Returns information the schemas associated with a particular apiID. This won't include the schemas themselves, they can be retrieved via the downloadSchema operation.

func (*Schemas) RegisterSchema

RegisterSchema - Register a schema. Allows uploading a schema for a particular API version. This will be used to populate ApiEndpoints and used as a base for any schema generation if present.

type ShortURLs added in v3.9.0

type ShortURLs struct {
	// contains filtered or unexported fields
}

ShortURLs - REST APIs for managing short URLs

func (*ShortURLs) Create added in v3.9.0

Create - Shorten a URL.

type Speakeasy

type Speakeasy struct {
	// REST APIs for managing Api entities
	Apis *Apis
	// REST APIs for managing ApiEndpoint entities
	APIEndpoints *APIEndpoints
	// REST APIs for managing Version Metadata entities
	Metadata *Metadata
	// REST APIs for managing Schema entities
	Schemas *Schemas
	// REST APIs for working with Registry artifacts
	Artifacts *Artifacts
	// REST APIs for managing Authentication
	Auth *Auth
	// REST APIs for retrieving request information
	Requests      *Requests
	Github        *Github
	Organizations *Organizations
	// REST APIs for managing reports
	Reports *Reports
	// REST APIs for managing short URLs
	ShortURLs *ShortURLs
	// REST APIs for managing LLM OAS suggestions
	Suggest    *Suggest
	Workspaces *Workspaces
	// REST APIs for managing embeds
	Embeds *Embeds
	// REST APIs for capturing event data
	Events *Events
	// REST APIs for managing subscriptions
	Subscriptions *Subscriptions
	// contains filtered or unexported fields
}

Speakeasy API: The Subscriptions API manages subscriptions for CLI and registry events

/docs - The Speakeasy Platform Documentation

func New

func New(opts ...SDKOption) *Speakeasy

New creates a new instance of the SDK with the provided options

func (*Speakeasy) GenerateCodeSamplePreview added in v3.15.5

GenerateCodeSamplePreview - Generate Code Sample previews from a file and configuration parameters. This endpoint generates Code Sample previews from a file and configuration parameters.

func (*Speakeasy) GenerateCodeSamplePreviewAsync added in v3.15.5

GenerateCodeSamplePreviewAsync - Initiate asynchronous Code Sample preview generation from a file and configuration parameters, receiving an async JobID response for polling. This endpoint generates Code Sample previews from a file and configuration parameters, receiving an async JobID response for polling.

func (*Speakeasy) GetCodeSamplePreviewAsync added in v3.15.5

GetCodeSamplePreviewAsync - Poll for the result of an asynchronous Code Sample preview generation. Poll for the result of an asynchronous Code Sample preview generation.

type Subscriptions added in v3.14.8

type Subscriptions struct {
	// contains filtered or unexported fields
}

Subscriptions - REST APIs for managing subscriptions

func (*Subscriptions) CreateSubscription added in v3.14.8

CreateSubscription - Create Subscription

func (*Subscriptions) ListRegistrySubscriptions added in v3.14.9

ListRegistrySubscriptions - List Subscriptions

type Suggest added in v3.8.2

type Suggest struct {
	// contains filtered or unexported fields
}

Suggest - REST APIs for managing LLM OAS suggestions

func (*Suggest) Suggest added in v3.13.1

Suggest - Generate suggestions for improving an OpenAPI document. Get suggestions from an LLM model for improving an OpenAPI document.

func (*Suggest) SuggestItems added in v3.14.4

SuggestItems - Generate generic suggestions for a list of items.

func (*Suggest) SuggestOpenAPI added in v3.13.0

SuggestOpenAPI - (DEPRECATED) Generate suggestions for improving an OpenAPI document. Get suggestions from an LLM model for improving an OpenAPI document.

func (*Suggest) SuggestOpenAPIRegistry added in v3.13.0

SuggestOpenAPIRegistry - Generate suggestions for improving an OpenAPI document stored in the registry. Get suggestions from an LLM model for improving an OpenAPI document stored in the registry.

type Workspaces added in v3.10.1

type Workspaces struct {
	// contains filtered or unexported fields
}

func (*Workspaces) Create added in v3.14.0

Create a workspace Creates a workspace

func (*Workspaces) CreateToken added in v3.14.0

CreateToken - Create a token for a particular workspace

func (*Workspaces) DeleteToken added in v3.14.0

DeleteToken - Delete a token for a particular workspace

func (*Workspaces) Get added in v3.14.0

Get workspace by context Get information about a particular workspace by context.

func (*Workspaces) GetAll added in v3.14.0

GetAll - Get workspaces for a user Returns a list of workspaces a user has access too

func (*Workspaces) GetByID added in v3.14.0

GetByID - Get workspace Get information about a particular workspace.

func (*Workspaces) GetFeatureFlags added in v3.14.0

GetFeatureFlags - Get workspace feature flags

func (*Workspaces) GetSettings added in v3.14.0

GetSettings - Get workspace settings Get settings about a particular workspace.

func (*Workspaces) GetTeam added in v3.14.0

GetTeam - Get team members for a particular workspace

func (*Workspaces) GetTokens added in v3.14.0

GetTokens - Get tokens for a particular workspace

func (*Workspaces) GrantAccess added in v3.14.0

GrantAccess - Grant a user access to a particular workspace

func (*Workspaces) RevokeAccess added in v3.14.0

RevokeAccess - Revoke a user's access to a particular workspace

func (*Workspaces) Update added in v3.14.0

Update workspace details Update information about a particular workspace.

func (*Workspaces) UpdateSettings added in v3.14.0

UpdateSettings - Update workspace settings Update settings about a particular workspace.

Directories

Path Synopsis
internal
pkg

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL