# OpenAPI Specification

## API Documentation

The API is documented with an Open API Specification (OAS) available at: <https://platform.transmute.industries/openapi/>.

<figure><img src="/files/yJseR49Ad47CRRgmKidd" alt="Verifiable Data Platform OpenAPI Specification"><figcaption><p>Transmute OpenAPI Specification.</p></figcaption></figure>

### OAS Authentication

Network requests can be made directly from the OpenAPI Specification. As a prerequisite, you must create a Machine to Machine Application, as described [here](https://guide.transmute.industries/verifiable-data-platform/technical-documentation/machine-to-machine-application-creation).&#x20;

Go to "Authentication" on the top of the OpenAPI Specification page.

Copy your Application's client id and client secret into the client credentials flow section, then click "Get Token".&#x20;

<figure><img src="/files/CIeXknWMK2DAz3R34wav" alt="Authenticating from the OpenAPI Specification"><figcaption><p>Authenticating from the OpenAPI Specification.</p></figcaption></figure>

The browser client now has an access token which can be used to make API network requests.&#x20;

### Making OAS Network Requests

The OpenAPI Specification describes all the available endpoints with textual descriptions, schemas and examples. This guide is not intended to repeat that level of documentation. Rather, we will make a sample network request to show how that can be done throughout the OpenAPI Specification.&#x20;

For example, go to the credential issuance endpoint and click "Try".&#x20;

<figure><img src="/files/Rux0gPnHMCMKMn01gsdf" alt="Network request through the OpenAPI Specification"><figcaption><p>Network request through the OpenAPI Specification.</p></figcaption></figure>

This will make a network request to the Transmute platform API.&#x20;

The response will most likely be an error such as the one shown below.&#x20;

<figure><img src="/files/VFIuhRqDdVErgvrte2yB" alt="Endpoint scope and DID control"><figcaption><p>Endpoint scope and DID control.</p></figcaption></figure>

In this case, the DID in the example is not one that the organization is controlling. If you replace it with one of your Organization's DIDs, the issuance should succeed.&#x20;

#### Required Scopes

Another possible reason to be getting an error response is that the authorized application has not been granted the necessary scope to make the specific endpoint request.&#x20;

Hover over the lock icon on the top right to see the required scope for invoking a particular endpoint. In this case, `create:credential` is required to call the credential issuance endpoint.&#x20;

See the guide on [Application Creation](https://guide.transmute.industries/verifiable-data-platform/technical-documentation/machine-to-machine-application-creation) for more about selecting scopes for your application. &#x20;

## Postman OAS Import

Another common use of OpenAPI Specifications is importing into Postman. Postman provides a simple environment to get started with the API, and also provides a powerful set of features for scripting, automating, testing, etc.&#x20;

Note that in addition to importing the "raw" OAS into Postman, a dedicated "getting started" Postman collection is also available on [the next page](https://guide.transmute.industries/verifiable-data-platform/technical-documentation/getting-started-postman-collection) of the guide which will get you quickly up and running with your Postman development.&#x20;

In Postman, go to File -> Import.

<figure><picture><source srcset="/files/cnGg1UUAb8JZxSAApDkM" media="(prefers-color-scheme: dark)"><img src="/files/517zEcJZCpK8m2VeLraO" alt="Navigating to Import File in Postman"></picture><figcaption><p>Navigating to Import File in Postman.</p></figcaption></figure>

You can continue building your application by importing the Open API Specification. First go to File -> Import.

In the text field enter, `https://platform.transmute.industries/api/openapi.json`. And then press the "Enter" button.

<figure><img src="/files/49hPXPcyavkSrCo7k9zB" alt="Link for Importing the Verifiable Data Platform API"><figcaption><p>Link for Importing the API.</p></figcaption></figure>

Once you click on the Continue button, you will be shown a screen to confirm importing the API.

<figure><img src="/files/NyxKYYJ4fK33pwquNBOm" alt="Importing the Verifiable Data Platform Open API Definition Confirmation."><figcaption><p>Importing the Open API Definition Confirmation.</p></figcaption></figure>

From the OpenAPI specification will be imported as a collection.

<figure><img src="/files/6kbpBgXga7KOSy6G2y31" alt="OpenAPI specification sucessfully imported as a collection"><figcaption><p>OpenAPI specification successfully imported as a collection.</p></figcaption></figure>

You can now drag in any of the imported OAS endpoints to your “Getting Started” collection and continue building your application. Make sure that your network requests’ base URL variable name corresponds to the collection (`{{API_BASE_URL}}`) and that they are properly authorized (“Inherit auth from parent”).

Happy coding!


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://guide.transmute.industries/verifiable-data-platform/technical-documentation/openapi-specification.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
