naftiko: 1.0.0-alpha2 info: label: Midjourney Image Generation API — Jobs description: 'Midjourney Image Generation API — Jobs. 3 operations. Lead operation: List image generation jobs. Self-contained Naftiko capability covering one Midjourney business surface.' tags: - Midjourney - Jobs created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: MIDJOURNEY_API_KEY: MIDJOURNEY_API_KEY capability: consumes: - type: http namespace: image-generation-jobs baseUri: https://api.midjourney.com description: Midjourney Image Generation API — Jobs business capability. Self-contained, no shared references. resources: - name: v1-jobs path: /v1/jobs operations: - name: listjobs method: GET description: List image generation jobs outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: status in: query type: string description: Filter jobs by their current status. - name: limit in: query type: integer description: Maximum number of jobs to return per page. - name: offset in: query type: integer description: Number of jobs to skip for pagination. - name: sort in: query type: string description: Sort order for the returned jobs. - name: v1-jobs-jobId path: /v1/jobs/{jobId} operations: - name: getjobstatus method: GET description: Get the status and results of a job outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-jobs-jobId-cancel path: /v1/jobs/{jobId}/cancel operations: - name: canceljob method: POST description: Cancel a pending or in-progress job outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: bearer token: '{{env.MIDJOURNEY_API_KEY}}' exposes: - type: rest namespace: image-generation-jobs-rest port: 8080 description: REST adapter for Midjourney Image Generation API — Jobs. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v1/jobs name: v1-jobs description: REST surface for v1-jobs. operations: - method: GET name: listjobs description: List image generation jobs call: image-generation-jobs.listjobs with: status: rest.status limit: rest.limit offset: rest.offset sort: rest.sort outputParameters: - type: object mapping: $. - path: /v1/v1/jobs/{jobid} name: v1-jobs-jobid description: REST surface for v1-jobs-jobId. operations: - method: GET name: getjobstatus description: Get the status and results of a job call: image-generation-jobs.getjobstatus outputParameters: - type: object mapping: $. - path: /v1/v1/jobs/{jobid}/cancel name: v1-jobs-jobid-cancel description: REST surface for v1-jobs-jobId-cancel. operations: - method: POST name: canceljob description: Cancel a pending or in-progress job call: image-generation-jobs.canceljob outputParameters: - type: object mapping: $. - type: mcp namespace: image-generation-jobs-mcp port: 9090 transport: http description: MCP adapter for Midjourney Image Generation API — Jobs. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-image-generation-jobs description: List image generation jobs hints: readOnly: true destructive: false idempotent: true call: image-generation-jobs.listjobs with: status: tools.status limit: tools.limit offset: tools.offset sort: tools.sort outputParameters: - type: object mapping: $. - name: get-status-and-results-job description: Get the status and results of a job hints: readOnly: true destructive: false idempotent: true call: image-generation-jobs.getjobstatus outputParameters: - type: object mapping: $. - name: cancel-pending-progress-job description: Cancel a pending or in-progress job hints: readOnly: false destructive: false idempotent: false call: image-generation-jobs.canceljob outputParameters: - type: object mapping: $.