Cesium Exports API

Allows you to export the files for a particular asset to an Amazon S3 bucket of your choice. These files can then be hosted through a custom server or downloaded for local/offline use. The number of bytes exported counts against your monthly streaming quota. If your account goes over streaming quota, additional exports will not be possible until the next billing cycle. Exports are not supported for certain assets, such as from the Asset Depot or terrain assets which use a base terrain. Check the [exportable](#operation/getAsset) property of the asset to detect availability.

Operations 3

GET /v1/assets/{assetId}/exports List exports for an asset #
POST /v1/assets/{assetId}/exports Export an asset #
GET /v1/assets/{assetId}/exports/{exportId} Get the status of an export #

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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/cesium:cesium-exports-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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

cesium-exports-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Cesium ion Exports API
  version: v1
  description: '# Overview


    The Cesium ion REST API allows you to leverage ion''s powerful tiling and streaming capabilities from your own applications and workflows.'
servers:
- url: https://api.cesium.com
  description: Cesium ion API Server
security:
- OAuth2: []
tags:
- name: Exports
  description: Allows you to export the files for a particular asset to an Amazon S3 bucket of your choice.
paths:
  /v1/assets/{assetId}/exports:
    parameters:
    - $ref: '#/components/parameters/assetId'
    get:
      operationId: getAssetExports
      summary: List exports for an asset
      description: 'Retrieves the list of exports for the specified asset.


        After receiving the initial page of exports, you can request the next and previous pages using the RFC 5988 formatted strings contained in the `Link` header with the `next` and `prev` relations. The process of fetching the next page of tokens can be repeated until the client receives a response with no link header or no `next` relation in the link header, which means all tokens have been returned. The link urls should be treated as an opaque link as the actual format may change at any time.'
      tags:
      - Exports
      security:
      - OAuth2:
        - exports:read
      - AccessToken:
        - exports:read
      responses:
        200:
          description: OK
          headers:
            link:
              $ref: '#/components/headers/link-next-prev'
          content:
            application/json:
              schema:
                title: Asset Export Metadata
                type: object
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/ExportMetadata'
              examples:
                exampleResponse:
                  value:
                    items:
                    - id: 1
                      assetId: 3812
                      dateAdded: '2022-09-16T04:06:48.897Z'
                      status: COMPLETE
                      bytesExported: 76i2347342
                      to:
                        type: S3
                        bucket: myBucket
                        prefix: /
                    - id: 1
                      assetId: 3812
                      dateAdded: '2022-09-16T04:06:48.897Z'
                      status: ERROR
                      bytesExported: 0
                      to:
                        type: S3
                        bucket: ion-exports
                        prefix: /3812
        401:
          $ref: '#/components/responses/401'
    post:
      operationId: postAssetExports
      summary: Export an asset
      description: Creates a new export. This feature requires providing Cesium ion with write access to an S3 bucket or Azure storage account. For S3 we strongly recommend using Temporary security credentials. For Azure only one type credentials may be specified. Either accessKey only, sasToken only or tenantId/clientId/clientSecret. For security purposes, Cesium ion does not provide a way to retrieve previously specified credentials.
      tags:
      - Exports
      security:
      - OAuth2:
        - exports:write
      - AccessToken:
        - exports:write
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AssetToInlineCredentials'
            examples:
              exampleBody:
                value:
                  format: S3
                  bucket: destinationBucket
                  prefix: destinationPrefix
                  accessKeyId: access-key
                  secretAccessKey: secret-access-key
                  sessionToken: FynJcbN5N//////////wEaDIEDvhx6N7x4Rd4+wiKtAht78S1zVze89DICpOxfnl/7kn7ox75U5hCv+UHlynJcbN5N7roU7iOz0SLbp9RrTrXPlUP0agskLV/5DUKcDId9FnZknDLVW03ajCeJMlzQK7vcxXK359OHp9l6OwLofVkkXH5Pd78vNcLEzqkLytoMRA0BK4wM2bFJySbfo89oUSxpwHXgslmlZtwHYOcVIyEQX1DmtNVi7Jsx6btgaqt+taLScYCWFsOrK+mpJX8vhe9NTd3gXiQ2BG01L9spfYP9iwt8eyjq9UAD9HCaQZrYvhK9JKAwBD81dkpkxpg2PL68d5B+yRBt90NgLgJc31raArGvurz9IAf034znL0IZntK56sKLcIYKEg0OzpybP0a4IqSLtHQDAYlHe7Z66ogDWmRMxLW+g4yiGtwovq3k5QU=
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExportMetadata'
              examples:
                exampleResponse:
                  value:
                    id: 1
                    assetId: 3812
                    dateAdded: '2022-09-16T04:06:48.897Z'
                    status: NOT_STARTED
                    bytesExported: 0
                    to:
                      type: S3
                      bucket: myBucket
                      prefix: /
        401:
          $ref: '#/components/responses/401'
        402:
          $ref: '#/components/responses/402'
  /v1/assets/{assetId}/exports/{exportId}:
    parameters:
    - $ref: '#/components/parameters/assetId'
    - $ref: '#/components/parameters/exportId'
    get:
      operationId: getAssetExport
      summary: Get the status of an export
      tags:
      - Exports
      security:
      - OAuth2:
        - exports:read
      - AccessToken:
        - exports:read
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExportMetadata'
        401:
          $ref: '#/components/responses/401'
        404:
          $ref: '#/components/responses/404'
components:
  schemas:
    AssetIdentifier:
      type: integer
      description: The unique identifier for this asset.
      example: 3812
    ExportMetadata:
      title: Export Metadata
      type: object
      properties:
        id:
          $ref: '#/components/schemas/ExportIdentifier'
        assetId:
          $ref: '#/components/schemas/AssetIdentifier'
        status:
          $ref: '#/components/schemas/ExportStatus'
        bytesExported:
          type: integer
          description: The total number of bytes that have been exported.
          minimum: 0
          example: 1024
          readOnly: true
        dateAdded:
          description: The date and time at which this export was added in [RFC 3339](https://tools.ietf.org/html/rfc3339) format.
          type: string
          format: date-time
          example: '2022-09-20T16:16:02.838Z'
          readOnly: true
        to:
          $ref: '#/components/schemas/AssetTo'
    AssetToInlineCredentials:
      discriminator:
        propertyName: type
        mapping:
          S3: '#/components/schemas/S3ExportInlineCredentials'
          AZURE: '#/components/schemas/AzureExportInlineCredentials'
      description: Contains information about the type and destination of the export.
      properties:
        type:
          type: string
          enum:
          - S3
          - AZURE
          description: Specifies the type of external service. Currently only Amazon S3 and Azure are supported.
      required:
      - type
    AssetTo:
      discriminator:
        propertyName: type
        mapping:
          S3: '#/components/schemas/S3Export'
          AZURE: '#/components/schemas/AzureExport'
      description: Contains information about the type and destination of the export.
      properties:
        type:
          type: string
          enum:
          - S3
          - AZURE
          description: Specifies the type of external service. Currently only Amazon S3 and Azure are supported.
      required:
      - type
    ExportIdentifier:
      type: integer
      description: The unique identifier of this export.
      example: 1
      readOnly: true
    ExportStatus:
      type: string
      enum:
      - NOT_STARTED
      - QUEUED
      - IN_PROGRESS
      - COMPLETE
      - ERROR
      description: 'Describes the state of the export process:


        | Value | Description |

        | - | - |

        | NOT_STARTED | The server received the export request but has not started the export process yet, usually because it is waiting for asset to complete tiling. |

        | QUEUED | The server has queued the asset for exporting. |

        | IN_PROGRESS | The asset is being exported, see `bytesExported` to monitor progress. |

        | COMPLETE | The asset was exported successfully. |

        | ERROR | An error occurred during the export process. |

        '
      example: COMPLETE
      readOnly: true
  headers:
    link-next-prev:
      schema:
        type: string
        description: 'An [RFC 5988](https://tools.ietf.org/html/rfc5988) formatted string with a relation type of `next` which points to the next page of data on the server, if it exists, and a relation type of `prev` which points to the previous page of data on the server, if it exists. This url should be treated as an opaque link as the actual format may change at any time.

          '
  parameters:
    exportId:
      in: path
      name: exportId
      schema:
        $ref: '#/components/schemas/ExportIdentifier'
      required: true
    assetId:
      description: The asset identifier on which to perform the operation.
      in: path
      name: assetId
      schema:
        $ref: '#/components/schemas/AssetIdentifier'
      required: true
  securitySchemes:
    OAuth2:
      description: 'All Cesium ion endpoints require authentication in the form of an access token provided in the `Authorization` header of the request. ion uses the OAuth 2.0 `Bearer <your_access_token>` format.

        '
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://cesium.com/ion/oauth/
          tokenUrl: https://api.cesium.com/oauth/tokens
          scopes:
            assets:list: List the metadata for all assets available to the account.
            assets:limited-list: List the metadata for selected assets available to the account.
            assets:read: Read metadata and access the tiled data for individual assets available to the account.
            assets:write: Create, modify, and delete assets in the account.
            labels:read: List labels in the account.
            labels:write: Create, modify, and delete labels in the account.
            geocode: Enables the CesiumJS geocoder. Note geocoding via the REST API is not yet supported.
            profile:read: Read your username, email address, avatar, and storage quota.
            archives:read: List and download asset archives.
            archives:write: Create and delete asset archives.
            exports:read: List asset exports.
            exports:write: Export assets.
            tokens:read: Read token metadata and list all tokens for the account.
    AccessToken:
      description: 'A Cesium ion access token provided as a Bearer token in the `Authorization` header. An access token can be

        used anywhere an OAuth 2.0 token can, with the same scopes, and additionally supports the `tokens:write`

        scope, which is not available via OAuth 2.0 since granting a third-party OAuth client the ability to

        create, modify, and delete a user''s other tokens is out of scope for delegated access.

        '
      type: http
      scheme: bearer