Miro · Capability

Miro Developer Platform — Board Export

Miro Developer Platform — Board Export. 7 operations. Lead operation: Create board export job. Self-contained Naftiko capability covering one Miro business surface.

Run with Naftiko MiroBoard Export

What You Can Do

POST
Enterprisecreateboardexport — Create board export job
/v1/v2/orgs/{org-id}/boards/export/jobs
GET
Enterpriseboardexportjobs — Get board export jobs list
/v1/v2/orgs/{org-id}/boards/export/jobs
GET
Enterpriseboardexportjobstatus — Get board export job status
/v1/v2/orgs/{org-id}/boards/export/jobs/{job-id}
GET
Enterpriseboardexportjobresults — Get results for board export job
/v1/v2/orgs/{org-id}/boards/export/jobs/{job-id}/results
PUT
Enterpriseupdateboardexportjob — Update board export job status
/v1/v2/orgs/{org-id}/boards/export/jobs/{job-id}/status
GET
Enterpriseboardexportjobtasks — Get board export job tasks list
/v1/v2/orgs/{org-id}/boards/export/jobs/{job-id}/tasks
POST
Enterprisecreateboardexporttaskexportlink — Create task export link
/v1/v2/orgs/{org-id}/boards/export/jobs/{job-id}/tasks/{task-id}/export-link

MCP Tools

create-board-export-job

Create board export job

get-board-export-jobs-list

Get board export jobs list

read-only idempotent
get-board-export-job-status

Get board export job status

read-only idempotent
get-results-board-export-job

Get results for board export job

read-only idempotent
update-board-export-job-status

Update board export job status

idempotent
get-board-export-job-tasks

Get board export job tasks list

read-only idempotent
create-task-export-link

Create task export link

Capability Spec

miro-board-export.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Miro Developer Platform — Board Export
  description: 'Miro Developer Platform — Board Export. 7 operations. Lead operation: Create board export job. Self-contained
    Naftiko capability covering one Miro business surface.'
  tags:
  - Miro
  - Board Export
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    MIRO_API_KEY: MIRO_API_KEY
capability:
  consumes:
  - type: http
    namespace: miro-board-export
    baseUri: https://api.miro.com
    description: Miro Developer Platform — Board Export business capability. Self-contained, no shared references.
    resources:
    - name: v2-orgs-org_id-boards-export-jobs
      path: /v2/orgs/{org_id}/boards/export/jobs
      operations:
      - name: enterprisecreateboardexport
        method: POST
        description: Create board export job
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: org_id
          in: path
          type: string
          description: Unique identifier of the organization.
          required: true
        - name: request_id
          in: query
          type: string
          description: Unique identifier of the board export job.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: enterpriseboardexportjobs
        method: GET
        description: Get board export jobs list
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: org_id
          in: path
          type: string
          description: Unique identifier of the organization.
          required: true
        - name: status
          in: query
          type: array
          description: Status of the board export jobs that you want to retrieve, such as JOB_STATUS_CREATED, JOB_STATUS_IN_PROGRESS,
            JOB_STATUS_CANCELLED or JOB_STATUS_FINISHED.
        - name: creatorId
          in: query
          type: array
          description: Unique identifier of the board export job creator.
        - name: cursor
          in: query
          type: string
          description: A cursor-paginated method returns a portion of the total set of results based on the limit specified
            and a cursor that points to the next portion of the results
        - name: limit
          in: query
          type: integer
          description: The maximum number of results to return per call. If the number of jobs in the response is greater
            than the limit specified, the response returns the cursor par
    - name: v2-orgs-org_id-boards-export-jobs-job_id
      path: /v2/orgs/{org_id}/boards/export/jobs/{job_id}
      operations:
      - name: enterpriseboardexportjobstatus
        method: GET
        description: Get board export job status
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: org_id
          in: path
          type: string
          description: Unique identifier of the organization.
          required: true
        - name: job_id
          in: path
          type: string
          description: Unique identifier of the board export job.
          required: true
    - name: v2-orgs-org_id-boards-export-jobs-job_id-results
      path: /v2/orgs/{org_id}/boards/export/jobs/{job_id}/results
      operations:
      - name: enterpriseboardexportjobresults
        method: GET
        description: Get results for board export job
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: org_id
          in: path
          type: string
          description: Unique identifier of the organization.
          required: true
        - name: job_id
          in: path
          type: string
          description: Unique identifier of the job.
          required: true
    - name: v2-orgs-org_id-boards-export-jobs-job_id-status
      path: /v2/orgs/{org_id}/boards/export/jobs/{job_id}/status
      operations:
      - name: enterpriseupdateboardexportjob
        method: PUT
        description: Update board export job status
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: org_id
          in: path
          type: string
          description: Unique identifier of the organization.
          required: true
        - name: job_id
          in: path
          type: string
          description: Unique identifier of the board export job.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v2-orgs-org_id-boards-export-jobs-job_id-tasks
      path: /v2/orgs/{org_id}/boards/export/jobs/{job_id}/tasks
      operations:
      - name: enterpriseboardexportjobtasks
        method: GET
        description: Get board export job tasks list
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: org_id
          in: path
          type: string
          description: Unique identifier of the organization.
          required: true
        - name: job_id
          in: path
          type: string
          description: Unique identifier of the board export job.
          required: true
        - name: status
          in: query
          type: array
          description: 'Filters the list of board export tasks by their status. Accepts an array of statuses such as TASK_STATUS_CREATED,
            TASK_STATUS_CANCELLED, TASK_STATUS_SCHEDULED, '
        - name: cursor
          in: query
          type: string
          description: A cursor-paginated method returns a portion of the total set of results based on the limit specified
            and a cursor that points to the next portion of the results
        - name: limit
          in: query
          type: integer
          description: The maximum number of results to return per call. If the number of tasks in the response is greater
            than the limit specified, the response returns the cursor pa
    - name: v2-orgs-org_id-boards-export-jobs-job_id-tasks-task_id-export-link
      path: /v2/orgs/{org_id}/boards/export/jobs/{job_id}/tasks/{task_id}/export-link
      operations:
      - name: enterprisecreateboardexporttaskexportlink
        method: POST
        description: Create task export link
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: org_id
          in: path
          type: string
          description: Unique identifier of the organization.
          required: true
        - name: job_id
          in: path
          type: string
          description: Unique identifier of the board export job.
          required: true
        - name: task_id
          in: path
          type: string
          description: Unique identifier of the board export task.
          required: true
    authentication:
      type: bearer
      token: '{{env.MIRO_API_KEY}}'
  exposes:
  - type: rest
    namespace: miro-board-export-rest
    port: 8080
    description: REST adapter for Miro Developer Platform — Board Export. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/v2/orgs/{org-id}/boards/export/jobs
      name: v2-orgs-org-id-boards-export-jobs
      description: REST surface for v2-orgs-org_id-boards-export-jobs.
      operations:
      - method: POST
        name: enterprisecreateboardexport
        description: Create board export job
        call: miro-board-export.enterprisecreateboardexport
        with:
          org_id: rest.org_id
          request_id: rest.request_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: enterpriseboardexportjobs
        description: Get board export jobs list
        call: miro-board-export.enterpriseboardexportjobs
        with:
          org_id: rest.org_id
          status: rest.status
          creatorId: rest.creatorId
          cursor: rest.cursor
          limit: rest.limit
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v2/orgs/{org-id}/boards/export/jobs/{job-id}
      name: v2-orgs-org-id-boards-export-jobs-job-id
      description: REST surface for v2-orgs-org_id-boards-export-jobs-job_id.
      operations:
      - method: GET
        name: enterpriseboardexportjobstatus
        description: Get board export job status
        call: miro-board-export.enterpriseboardexportjobstatus
        with:
          org_id: rest.org_id
          job_id: rest.job_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v2/orgs/{org-id}/boards/export/jobs/{job-id}/results
      name: v2-orgs-org-id-boards-export-jobs-job-id-results
      description: REST surface for v2-orgs-org_id-boards-export-jobs-job_id-results.
      operations:
      - method: GET
        name: enterpriseboardexportjobresults
        description: Get results for board export job
        call: miro-board-export.enterpriseboardexportjobresults
        with:
          org_id: rest.org_id
          job_id: rest.job_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v2/orgs/{org-id}/boards/export/jobs/{job-id}/status
      name: v2-orgs-org-id-boards-export-jobs-job-id-status
      description: REST surface for v2-orgs-org_id-boards-export-jobs-job_id-status.
      operations:
      - method: PUT
        name: enterpriseupdateboardexportjob
        description: Update board export job status
        call: miro-board-export.enterpriseupdateboardexportjob
        with:
          org_id: rest.org_id
          job_id: rest.job_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v2/orgs/{org-id}/boards/export/jobs/{job-id}/tasks
      name: v2-orgs-org-id-boards-export-jobs-job-id-tasks
      description: REST surface for v2-orgs-org_id-boards-export-jobs-job_id-tasks.
      operations:
      - method: GET
        name: enterpriseboardexportjobtasks
        description: Get board export job tasks list
        call: miro-board-export.enterpriseboardexportjobtasks
        with:
          org_id: rest.org_id
          job_id: rest.job_id
          status: rest.status
          cursor: rest.cursor
          limit: rest.limit
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v2/orgs/{org-id}/boards/export/jobs/{job-id}/tasks/{task-id}/export-link
      name: v2-orgs-org-id-boards-export-jobs-job-id-tasks-task-id-export-link
      description: REST surface for v2-orgs-org_id-boards-export-jobs-job_id-tasks-task_id-export-link.
      operations:
      - method: POST
        name: enterprisecreateboardexporttaskexportlink
        description: Create task export link
        call: miro-board-export.enterprisecreateboardexporttaskexportlink
        with:
          org_id: rest.org_id
          job_id: rest.job_id
          task_id: rest.task_id
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: miro-board-export-mcp
    port: 9090
    transport: http
    description: MCP adapter for Miro Developer Platform — Board Export. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: create-board-export-job
      description: Create board export job
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: miro-board-export.enterprisecreateboardexport
      with:
        org_id: tools.org_id
        request_id: tools.request_id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-board-export-jobs-list
      description: Get board export jobs list
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: miro-board-export.enterpriseboardexportjobs
      with:
        org_id: tools.org_id
        status: tools.status
        creatorId: tools.creatorId
        cursor: tools.cursor
        limit: tools.limit
      outputParameters:
      - type: object
        mapping: $.
    - name: get-board-export-job-status
      description: Get board export job status
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: miro-board-export.enterpriseboardexportjobstatus
      with:
        org_id: tools.org_id
        job_id: tools.job_id
      outputParameters:
      - type: object
        mapping: $.
    - name: get-results-board-export-job
      description: Get results for board export job
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: miro-board-export.enterpriseboardexportjobresults
      with:
        org_id: tools.org_id
        job_id: tools.job_id
      outputParameters:
      - type: object
        mapping: $.
    - name: update-board-export-job-status
      description: Update board export job status
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: miro-board-export.enterpriseupdateboardexportjob
      with:
        org_id: tools.org_id
        job_id: tools.job_id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-board-export-job-tasks
      description: Get board export job tasks list
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: miro-board-export.enterpriseboardexportjobtasks
      with:
        org_id: tools.org_id
        job_id: tools.job_id
        status: tools.status
        cursor: tools.cursor
        limit: tools.limit
      outputParameters:
      - type: object
        mapping: $.
    - name: create-task-export-link
      description: Create task export link
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: miro-board-export.enterprisecreateboardexporttaskexportlink
      with:
        org_id: tools.org_id
        job_id: tools.job_id
        task_id: tools.task_id
      outputParameters:
      - type: object
        mapping: $.