// Metadata created by nebel

[id="registry-sdk-intro_{context}"]
= {registry} SDK

[role="_abstract"]
You can manage artifacts stored in {registry} by using one of the provided SDKs. You can perform any desired operation supported by the REST API, including create, read, update, or delete of artifacts. You can even use the {registry} SDKs to perform administrator functions, such as managing global rules or importing and exporting {registry} data.

You can use any of the following SDKs provided as part of {registry}:

- Java
- Typescript
- Python
- Golang

=== Java
You can access the {registry} Java SDK by adding the correct dependency to your Apache Maven project.
For more details, see xref:writing-registry-sdk_registry[].

The {registry} client is implemented by using the HTTP client provided by the JDK, which you can customize as needed. For example, you can add custom headers or enable configuration options for Transport Layer Security (TLS) authentication. 
For more details, see xref:registry-sdk-config_registry[].

=== Typescript
You can access the {registry} Typescript SDK by adding the correct dependency to your application's `package.json`
file (assumes a node.js application):

https://www.npmjs.com/package/@apicurio/apicurio-registry-sdk

=== Python
You can access the {registry} Python SDK by adding the correct dependency to your python project (assumes you
are using pypi):

https://pypi.org/project/apicurioregistrysdk/

=== Golang
You can access the {registry} Golang SDK by adding the correct dependency to your project:

https://github.com/Apicurio/apicurio-registry/tree/main/go-sdk

