Netlify Asset API

The Asset API from Netlify — 2 operation(s) for asset.

OpenAPI Specification

netlify-asset-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Netlify Netlify's API documentation accessToken Asset API
  description: 'Netlify is a hosting service for the programmable web. It understands your documents and provides an API to handle atomic deploys of websites, manage form submissions, inject JavaScript snippets, and much more. This is a REST-style API that uses JSON for serialization and OAuth 2 for authentication.


    This document is an OpenAPI reference for the Netlify API that you can explore. For more detailed instructions for common uses, please visit the [online documentation](https://www.netlify.com/docs/api/). Visit our Community forum to join the conversation about [understanding and using Netlify’s API](https://community.netlify.com/t/common-issue-understanding-and-using-netlifys-api/160).


    Additionally, we have two API clients for your convenience:

    - [Go Client](https://github.com/netlify/open-api#go-client)

    - [JS Client](https://github.com/netlify/build/tree/main/packages/js-client)'
  termsOfService: https://www.netlify.com/legal/terms-of-use/
  version: 2.33.1
  x-logo:
    url: netlify-logo.png
    href: https://www.netlify.com/docs/
    altText: Netlify
servers:
- url: https://api.netlify.com/api/v1
security:
- netlifyAuth: []
tags:
- name: Asset
  x-displayName: Asset
paths:
  /sites/{site_id}/assets:
    get:
      tags:
      - Asset
      operationId: listSiteAssets
      parameters:
      - name: site_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/asset'
        default:
          description: error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
    post:
      tags:
      - Asset
      operationId: createSiteAsset
      parameters:
      - name: site_id
        in: path
        required: true
        schema:
          type: string
      - name: name
        in: query
        required: true
        schema:
          type: string
      - name: size
        in: query
        required: true
        schema:
          type: integer
          format: int64
      - name: content_type
        in: query
        required: true
        schema:
          type: string
      - name: visibility
        in: query
        schema:
          type: string
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assetSignature'
        default:
          description: error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
  /sites/{site_id}/assets/{asset_id}:
    get:
      tags:
      - Asset
      operationId: getSiteAssetInfo
      parameters:
      - name: site_id
        in: path
        required: true
        schema:
          type: string
      - name: asset_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/asset'
        default:
          description: error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
    put:
      tags:
      - Asset
      operationId: updateSiteAsset
      parameters:
      - name: site_id
        in: path
        required: true
        schema:
          type: string
      - name: asset_id
        in: path
        required: true
        schema:
          type: string
      - name: state
        in: query
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/asset'
        default:
          description: error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
    delete:
      tags:
      - Asset
      operationId: deleteSiteAsset
      parameters:
      - name: site_id
        in: path
        required: true
        schema:
          type: string
      - name: asset_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Deleted
          content: {}
        default:
          description: error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
components:
  schemas:
    asset:
      type: object
      properties:
        id:
          type: string
        site_id:
          type: string
        creator_id:
          type: string
        name:
          type: string
        state:
          type: string
        content_type:
          type: string
        url:
          type: string
        key:
          type: string
        visibility:
          type: string
        size:
          type: integer
          format: int64
        created_at:
          type: string
          format: dateTime
        updated_at:
          type: string
          format: dateTime
    assetForm:
      type: object
      properties:
        url:
          type: string
        fields:
          type: object
          additionalProperties:
            type: string
    assetSignature:
      type: object
      properties:
        form:
          $ref: '#/components/schemas/assetForm'
        asset:
          $ref: '#/components/schemas/asset'
    error:
      required:
      - message
      type: object
      properties:
        code:
          type: integer
          format: int64
        message:
          type: string
          nullable: false
  securitySchemes:
    netlifyAuth:
      type: oauth2
      flows:
        implicit:
          authorizationUrl: https://app.netlify.com/authorize
          scopes: {}
externalDocs:
  description: Online documentation
  url: https://www.netlify.com/docs/api/
x-tagGroups:
- name: OAuth
  tags:
  - ticket
  - accessToken
- name: User accounts
  tags:
  - user
  - accountMembership
  - member
  - accountType
  - paymentMethod
  - auditLog
- name: Site
  tags:
  - site
  - environmentVariables
  - file
  - metadata
  - purge
  - snippet
- name: Domain names
  tags:
  - dnsZone
  - sniCertificate
- name: Deploys
  tags:
  - deploy
  - deployedBranch
  - deployKey
- name: Builds
  tags:
  - build
  - buildLogMsg
- name: Dev servers
  tags:
  - devServer
- name: Webhooks and notifications
  tags:
  - hook
  - hookType
  - buildHook
  - devServerHook
- name: Services
  tags:
  - service
  - serviceInstance
- name: Functions
  tags:
  - function
- name: Forms
  tags:
  - form
  - submission
- name: Split tests
  tags:
  - splitTest
- name: Large media
  tags:
  - asset
  - assetPublicSignature
x-original-swagger-version: '2.0'