mammoth-io Downloads API

The Downloads API from mammoth-io — 2 operation(s) for downloads.

Operations 2

POST /workspaces/{workspace_id}/projects/{project_id}/downloads Download several datasets as one file #
POST /workspaces/{workspace_id}/projects/{project_id}/downloads/plan What a download of several datasets would hold #

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/mammoth-io:mammoth-io-downloads-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

mammoth-io-downloads-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Mammoth Io Downloads API
  version: 0.1.0
  contact:
    name: Mammoth Analytics
    url: https://mammoth.io
    email: support@mammoth.io
  description: 'Operations tagged Downloads across 2 of this provider''s published API definitions: app.mammoth.io-openapi.json, mammoth-io-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: /api/v2
security:
- bearerAuth: []
- apiKey: []
  apiSecret: []
  workspaceId: []
tags:
- name: Downloads
paths:
  /workspaces/{workspace_id}/projects/{project_id}/downloads:
    post:
      tags:
      - Downloads
      summary: Download several datasets as one file
      description: 'Queues one file of the given datasets, views and folders: a CSV, a zip of CSVs, or one workbook. Poll the returned job; when it succeeds its response carries `url`. While it runs the response carries `done` and `total`.'
      operationId: CreateDownload
      parameters:
      - name: workspace_id
        in: path
        schema:
          type: integer
          minimum: 1.0
          title: Workspace ID
          description: Workspace refers to a collection of projects. Workspace ID is unique identifier for workspace.
          examples:
          - 4
        description: Workspace refers to a collection of projects. Workspace ID is unique identifier for workspace.
        required: true
        deprecated: false
        examples:
          workspace_id-example-1:
            summary: Sample workspace ID
            value: 4
      - name: project_id
        in: path
        schema:
          type: integer
          minimum: 1.0
          title: Project ID
          description: Project ID of the workspace
          examples:
          - 4
        description: Project ID of the workspace
        required: true
        deprecated: false
        examples:
          project_id-example-1:
            summary: Sample project ID
            value: 4
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DownloadRequestSpec'
        required: true
      responses:
        '202':
          description: Request accepted, processing continues off-line
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JobResponse'
        '400':
          description: Bad request syntax or unsupported method
          content:
            application/json:
              schema:
                oneOf:
                - properties:
                    status_code:
                      type: integer
                    detail:
                      type: string
                    extra:
                      additionalProperties: {}
                      type:
                      - 'null'
                      - object
                      - array
                  type: object
                  required:
                  - detail
                  - status_code
                  description: Client Error
                  examples:
                  - status_code: 400
                    detail: Bad Request
                    extra: {}
                - properties:
                    status_code:
                      type: integer
                    detail:
                      type: string
                    extra:
                      additionalProperties: {}
                      type:
                      - 'null'
                      - object
                      - array
                  type: object
                  required:
                  - detail
                  - status_code
                  description: Validation Exception
                  examples:
                  - status_code: 400
                    detail: Bad Request
                    extra: {}
        '403':
          description: Request forbidden -- authorization will not help
          content:
            application/json:
              schema:
                properties:
                  status_code:
                    type: integer
                  detail:
                    type: string
                  extra:
                    additionalProperties: {}
                    type:
                    - 'null'
                    - object
                    - array
                type: object
                required:
                - detail
                - status_code
                description: Authorization Exception
                examples:
                - status_code: 403
                  detail: Forbidden
                  extra: {}
      deprecated: false
    servers:
    - url: /api/v2
  /workspaces/{workspace_id}/projects/{project_id}/downloads/plan:
    post:
      tags:
      - Downloads
      summary: What a download of several datasets would hold
      description: How many datasets the selection downloads and how many files that is with same-column datasets stacked. Reads headers only.
      operationId: PlanDownload
      parameters:
      - name: workspace_id
        in: path
        schema:
          type: integer
          minimum: 1.0
          title: Workspace ID
          description: Workspace refers to a collection of projects. Workspace ID is unique identifier for workspace.
          examples:
          - 4
        description: Workspace refers to a collection of projects. Workspace ID is unique identifier for workspace.
        required: true
        deprecated: false
        examples:
          workspace_id-example-1:
            summary: Sample workspace ID
            value: 4
      - name: project_id
        in: path
        schema:
          type: integer
          minimum: 1.0
          title: Project ID
          description: Project ID of the workspace
          examples:
          - 4
        description: Project ID of the workspace
        required: true
        deprecated: false
        examples:
          project_id-example-1:
            summary: Sample project ID
            value: 4
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DownloadSelectionSpec'
        required: true
      responses:
        '200':
          description: Request fulfilled, document follows
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DownloadPlanResponse'
        '400':
          description: Bad request syntax or unsupported method
          content:
            application/json:
              schema:
                oneOf:
                - properties:
                    status_code:
                      type: integer
                    detail:
                      type: string
                    extra:
                      additionalProperties: {}
                      type:
                      - 'null'
                      - object
                      - array
                  type: object
                  required:
                  - detail
                  - status_code
                  description: Client Error
                  examples:
                  - status_code: 400
                    detail: Bad Request
                    extra: {}
                - properties:
                    status_code:
                      type: integer
                    detail:
                      type: string
                    extra:
                      additionalProperties: {}
                      type:
                      - 'null'
                      - object
                      - array
                  type: object
                  required:
                  - detail
                  - status_code
                  description: Validation Exception
                  examples:
                  - status_code: 400
                    detail: Bad Request
                    extra: {}
        '403':
          description: Request forbidden -- authorization will not help
          content:
            application/json:
              schema:
                properties:
                  status_code:
                    type: integer
                  detail:
                    type: string
                  extra:
                    additionalProperties: {}
                    type:
                    - 'null'
                    - object
                    - array
                type: object
                required:
                - detail
                - status_code
                description: Authorization Exception
                examples:
                - status_code: 403
                  detail: Forbidden
                  extra: {}
      deprecated: false
    servers:
    - url: /api/v2
components:
  schemas:
    JobSchema:
      properties:
        id:
          type: integer
          minimum: 0.0
          title: Job id
          examples:
          - value:
              id: 10
        status:
          type: string
          enum:
          - success
          - failure
          - processing
          - error
          title: Job status
          description: Job status can be success, failure or processing
          examples:
          - value:
              status: success
        response:
          oneOf:
          - type: object
          - type: array
          description: Result of async task is stored in response
          examples:
          - value:
              response:
                object: some object
        last_updated_at:
          type: string
          format: date-time
          title: Job last updated at
          description: Job last updated at is the time when Job status was last updated
          examples:
          - value:
              last_updated_at: '2021-08-10T10:00:00'
        created_at:
          type: string
          format: date-time
          title: Job created at
          description: Create at is time when async task was created
          examples:
          - value:
              created_at: '2021-08-10T10:00:00'
        path:
          type: string
          title: Job path
          description: API request path of the Job operation
          examples:
          - value:
              path: /api/v2/dataviews/1
        operation:
          type: string
          title: Job operation
          description: Operation is async task name which Job is tracking
          examples:
          - value:
              operation: post_modification_pipeline_execution
      type: object
      required:
      - created_at
      - id
      - last_updated_at
      - operation
      - path
      - response
      - status
      title: JobSchema
    DownloadPlanResponse:
      properties:
        datasets:
          type: integer
          description: Datasets (views) in the download.
        stacked_files:
          type: integer
          description: 'Files when the datasets with the same columns are stacked. 1 with several datasets: they all share their columns.'
        skipped:
          type: integer
          description: Selected things with no rows to download.
      type: object
      required:
      - datasets
      - skipped
      - stacked_files
      title: DownloadPlanResponse
    DownloadSelectionSpec:
      properties:
        resource_ids:
          items:
            type: integer
          type: array
          maxItems: 200
          minItems: 1
          title: Resource ids
          description: The datasets, views and folders to download, in the order their files should come. Folders download everything inside them.
        views:
          additionalProperties:
            type: integer
          type: object
          title: View per dataset
          description: For a dataset resource id, the view to download (the one the user last opened). A dataset without one downloads its first view.
      type: object
      required:
      - resource_ids
      title: DownloadSelectionSpec
    JobResponse:
      properties:
        job:
          $ref: '#/components/schemas/JobSchema'
      type: object
      required:
      - job
      title: JobResponse
    DownloadRequestSpec:
      properties:
        resource_ids:
          items:
            type: integer
          type: array
          maxItems: 200
          minItems: 1
          title: Resource ids
          description: The datasets, views and folders to download, in the order their files should come. Folders download everything inside them.
        views:
          additionalProperties:
            type: integer
          type: object
          title: View per dataset
          description: For a dataset resource id, the view to download (the one the user last opened). A dataset without one downloads its first view.
        file_type:
          type: string
          enum:
          - csv
          - xlsx
          title: File type
          description: 'csv: one CSV, or a zip of CSVs when there are several. xlsx: one workbook with a sheet per dataset.'
          default: csv
        stack:
          type: boolean
          title: Stack same columns
          description: Put datasets with the same columns into one file, with a last column naming the table each row came from.
          default: false
        name:
          type: string
          maxLength: 200
          minLength: 1
          title: Download name
          description: The file's name, without the extension.
        numbered:
          type: boolean
          title: Numbered
          description: Start each file's name with its position, so the files sort in the order given.
          default: false
      type: object
      required:
      - name
      - resource_ids
      title: DownloadRequestSpec
  securitySchemes:
    bearerAuth:
      type: http
      description: 'Primary credential. Authorization: Bearer mm_<token>. The token is issued server-side and shown once at creation.'
      scheme: bearer
    apiKey:
      type: apiKey
      description: Deprecated — use bearerAuth.
      name: X-API-KEY
      in: header
    apiSecret:
      type: apiKey
      description: Deprecated — use bearerAuth.
      name: X-API-SECRET
      in: header
    workspaceId:
      type: apiKey
      description: Required with X-API-KEY and X-API-SECRET. Deprecated with them — use bearerAuth.
      name: X-WORKSPACE-ID
      in: header
x-refined-from:
- app.mammoth.io-openapi.json
- mammoth-io-openapi.json