Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/blockfrost/openapi
OpenAPI specification for Blockfrost.io service
https://github.com/blockfrost/openapi
blockfrost cardano openapi
Last synced: 2 days ago
JSON representation
OpenAPI specification for Blockfrost.io service
- Host: GitHub
- URL: https://github.com/blockfrost/openapi
- Owner: blockfrost
- License: mit
- Created: 2021-01-02T14:01:54.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2024-12-19T13:33:59.000Z (about 1 month ago)
- Last Synced: 2025-01-12T23:07:31.952Z (10 days ago)
- Topics: blockfrost, cardano, openapi
- Language: Rust
- Homepage: https://docs.blockfrost.io
- Size: 6.39 MB
- Stars: 22
- Watchers: 6
- Forks: 18
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Blockfrost.io OpenAPI
Open Source OpenAPI specification for Blockfrost.io backend API.
![GitHub](https://img.shields.io/github/license/blockfrost/openapi)
![master build ci](https://github.com/blockfrost/openapi/actions/workflows/CI.yaml/badge.svg?branch=master)
[![npm version](https://badge.fury.io/js/%40blockfrost%2Fopenapi.svg)](https://badge.fury.io/js/%40blockfrost%2Fopenapi)
![downloads](https://img.shields.io/npm/dy/@blockfrost/openapi)
## Getting started
Active version can be found in `released` branch and also in [GitHub releases](https://github.com/blockfrost/openapi/releases).
Development version is in `master` branch and is being merged into `released` upon each release.
Released documentation can be found at [docs.blockfrost.io](https://docs.blockfrost.io/).
## Development
Blockfrost OpenAPI [`blockfrost-openapi.yaml`](blockfrost-openapi.yaml) specification is generated from all yaml files in `src` directory.
Then there is Mithril Aggregator API spec [`mithril.yaml`](mithril.yaml) which can be downloaded from [Mithril Github](https://github.com/input-output-hk/mithril).
These two specs are then merged together via `openapi-merge-cli` (configuration is inside [`openapi-merge.json`](openapi-merge.json)).
Only the Mithril endpoints with a tag `Cardano » Mithril` are included into the final spec.> Tag `Cardano » Mithril` needs to be added manually to each relevant endpoint in Mithril OpenAPI spec.
If you add a new file then don't forget to add it to `paths` in [`src/definitions.yaml`](src/definitions.yaml).
Edit the source yaml files and build the package:
```typescript
yarn build
```Feel free to open PR against the `master` branch. It is a great place to start any discussion for new features and changes to the Blockfrost API.
### UI
When you push a new commit, the documentation for your branch is automatically generated on Vercel and added to your PR as a deployment.
## Usage
You can download [`openapi.yaml`](openapi.yaml) directly from the repository or use this project as a dependency in your JavaScript/TypeScript project.
### Typescript example
Install `@blockfrost/openapi`:
```console
yarn add @blockfrost/openapi
```or
```console
npm install @blockfrost/openapi
```Now you can use TypeScript types generated from the OpenAPI specification:
```typescript
import { components } from '@blockfrost/openapi';type Block = components['schemas']['block_content'];
type Address = components['schemas']['address_content'];
type UtxoAsset = components['schemas']['address_utxo_content'];
```