Work with this as data
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/zot-blobs-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
OpenAPI Specification
openapi: 3.2.0
info:
contact: {}
description: APIs for Open Container Initiative Distribution Specification
license:
name: Apache 2.0
url: http://www.apache.org/licenses/LICENSE-2.0.html
title: Open Container Initiative Distribution Specification Blobs API
version: v1.1.1
tags:
- name: Blobs
paths:
/v2/{name}/blobs/{digest}:
delete:
description: Delete an image's blob/layer given a digest
parameters:
- description: repository name
in: path
name: name
required: true
schema:
type: string
- description: blob/layer digest
in: path
name: digest
required: true
schema:
type: string
responses:
'202':
description: accepted
summary: Delete image blob/layer
tags:
- Blobs
get:
description: Get an image's blob/layer given a digest
parameters:
- description: repository name
in: path
name: name
required: true
schema:
type: string
- description: blob/layer digest
in: path
name: digest
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/vnd.oci.image.layer.v1.tar+gzip:
schema:
$ref: '#/components/schemas/api.ImageManifest'
summary: Get image blob/layer
tags:
- Blobs
head:
description: Check an image's blob/layer given a digest
parameters:
- description: repository name
in: path
name: name
required: true
schema:
type: string
- description: blob/layer digest
in: path
name: digest
required: true
schema:
type: string
responses:
'200':
description: OK
headers:
Docker-Content-Digest:
description: Manifest digest of the content
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/api.ImageManifest'
summary: Check image blob/layer
tags:
- Blobs
/v2/{name}/blobs/uploads:
post:
description: Create a new image blob/layer upload
parameters:
- description: repository name
in: path
name: name
required: true
schema:
type: string
responses:
'202':
description: accepted
headers:
Location:
description: /v2/{name}/blobs/uploads/{session_id}
schema:
type: string
Range:
description: 0-0
schema:
type: string
'401':
description: unauthorized
content:
application/json:
schema:
type: string
'404':
description: not found
content:
application/json:
schema:
type: string
'500':
description: internal server error
content:
application/json:
schema:
type: string
summary: Create image blob/layer upload
tags:
- Blobs
/v2/{name}/blobs/uploads/{session_id}:
delete:
description: Delete an image's blob/layer given a digest
parameters:
- description: repository name
in: path
name: name
required: true
schema:
type: string
- description: upload session_id
in: path
name: session_id
required: true
schema:
type: string
responses:
'204':
description: no content
'404':
description: not found
content:
application/json:
schema:
type: string
'500':
description: internal server error
content:
application/json:
schema:
type: string
summary: Delete image blob/layer
tags:
- Blobs
get:
description: Get an image's blob/layer upload given a session_id
parameters:
- description: repository name
in: path
name: name
required: true
schema:
type: string
- description: upload session_id
in: path
name: session_id
required: true
schema:
type: string
responses:
'204':
description: no content
headers:
Location:
description: /v2/{name}/blobs/uploads/{session_id}
schema:
type: string
Range:
description: 0-128
schema:
type: string
'400':
description: bad request
content:
application/json:
schema:
type: string
'404':
description: not found
content:
application/json:
schema:
type: string
'500':
description: internal server error
content:
application/json:
schema:
type: string
summary: Get image blob/layer upload
tags:
- Blobs
patch:
description: Resume an image's blob/layer upload given an session_id
parameters:
- description: repository name
in: path
name: name
required: true
schema:
type: string
- description: upload session_id
in: path
name: session_id
required: true
schema:
type: string
responses:
'202':
description: accepted
headers:
Blob-Upload-UUID:
description: Opaque blob upload session identifier
schema:
type: string
Location:
description: /v2/{name}/blobs/uploads/{session_id}
schema:
type: string
Range:
description: 0-128
schema:
type: string
'400':
description: bad request
content:
application/json:
schema:
type: string
'404':
description: not found
content:
application/json:
schema:
type: string
'416':
description: range not satisfiable
content:
application/json:
schema:
type: string
'500':
description: internal server error
content:
application/json:
schema:
type: string
summary: Resume image blob/layer upload
tags:
- Blobs
put:
description: Update and finish an image's blob/layer upload given a digest
parameters:
- description: repository name
in: path
name: name
required: true
schema:
type: string
- description: upload session_id
in: path
name: session_id
required: true
schema:
type: string
- description: blob/layer digest
in: query
name: digest
required: true
schema:
type: string
responses:
'201':
description: created
headers:
Docker-Content-Digest:
description: Digest of the committed blob
schema:
type: string
Location:
description: /v2/{name}/blobs/{digest}
schema:
type: string
'400':
description: bad request
content:
application/json:
schema:
type: string
'404':
description: not found
content:
application/json:
schema:
type: string
'416':
description: range not satisfiable
content:
application/json:
schema:
type: string
'500':
description: internal server error
content:
application/json:
schema:
type: string
summary: Update image blob/layer upload
tags:
- Blobs
components:
schemas:
api.ImageManifest:
properties:
annotations:
additionalProperties:
type: string
description: Annotations contains arbitrary metadata for the image manifest.
type: object
artifactType:
description: ArtifactType specifies the IANA media type of artifact when the manifest is used for an artifact.
type: string
config:
allOf:
- $ref: '#/components/schemas/v1.Descriptor'
description: 'Config references a configuration object for a container, by digest.
The referenced configuration object is a JSON blob that the runtime uses to set up the container.'
layers:
description: Layers is an indexed list of layers referenced by the manifest.
items:
$ref: '#/components/schemas/v1.Descriptor'
type: array
mediaType:
description: MediaType specifies the type of this document data structure e.g. `application/vnd.oci.image.manifest.v1+json`
type: string
schemaVersion:
description: SchemaVersion is the image manifest schema that this image follows
type: integer
subject:
allOf:
- $ref: '#/components/schemas/v1.Descriptor'
description: Subject is an optional link from the image manifest to another manifest forming an association between the image manifest and the other manifest.
type: object
v1.Platform:
properties:
architecture:
description: 'Architecture field specifies the CPU architecture, for example
`amd64` or `ppc64le`.'
type: string
os:
description: OS specifies the operating system, for example `linux` or `windows`.
type: string
os.features:
description: 'OSFeatures is an optional field specifying an array of strings,
each listing a required OS feature (for example on Windows `win32k`).'
items:
type: string
type: array
os.version:
description: 'OSVersion is an optional field specifying the operating system
version, for example on Windows `10.0.14393.1066`.'
type: string
variant:
description: 'Variant is an optional field specifying a variant of the CPU, for
example `v7` to specify ARMv7 when architecture is `arm`.'
type: string
type: object
v1.Descriptor:
properties:
annotations:
additionalProperties:
type: string
description: Annotations contains arbitrary metadata relating to the targeted content.
type: object
artifactType:
description: ArtifactType is the IANA media type of this artifact.
type: string
data:
description: 'Data is an embedding of the targeted content. This is encoded as a base64
string when marshalled to JSON (automatically, by encoding/json). If
present, Data can be used directly to avoid fetching the targeted content.'
items:
type: integer
type: array
digest:
description: Digest is the digest of the targeted content.
type: string
mediaType:
description: MediaType is the media type of the object this schema refers to.
type: string
platform:
allOf:
- $ref: '#/components/schemas/v1.Platform'
description: 'Platform describes the platform which the image in the manifest runs on.
This should only be used when referring to a manifest.'
size:
description: Size specifies the size in bytes of the blob.
type: integer
urls:
description: URLs specifies a list of URLs from which this object MAY be downloaded
items:
type: string
type: array
type: object