Imagefactory Reports API

The Reports API from Imagefactory — 2 operation(s) for reports.

GitHub OpenAPI

Operations 2

POST /api/external/v1/reports Create an HTML advertising report from a website URL #
GET /api/external/v1/reports/{jobId} Get report progress and the public HTML URL #

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/imagefactory-co-kr:imagefactory-co-kr-reports-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

imagefactory-co-kr-reports-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Imagefactory External Reports API
  version: 1.2.0
  description: Team usage, resize, and image generation. Team integration keys are issued in My Page → API Keys. Approved team members can issue and use image keys; team-wide usage requires an admin or owner. Unapproved teams cannot issue image keys or submit new jobs. Removing team approval preserves accepted jobs and their settlement. Generate outputs are 1024×1024; use resize for exact dimensions. Reference instructions are optional per image. Pair mode requires count = reference count; roundrobin permits 1–5 outputs. Product images and design references have separate roles. Safe zones use output pixels from the top-left. Private input blobs are deleted on completion or timeout.
  contact:
    name: Imagefactory Support
    url: https://www.imagefactory.co.kr
servers:
- url: https://www.imagefactory.co.kr
  description: Production
security:
- bearerAuth: []
tags:
- name: Reports
paths:
  /api/external/v1/reports:
    post:
      tags:
      - Reports
      summary: Create an HTML advertising report from a website URL
      description: Server-to-server only. Requires reports:generate and separate team report approval. No email or contact is created; no points are charged. Daily team quota applies. Reuse requestId after a lost response; changing its URL returns 409. KR public advertising scope. Website evidence supports proposals when own ads are not observed. Peer evidence and successful website analysis are still required. Worker unavailable returns 503.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              required:
              - url
              - requestId
              properties:
                url:
                  type: string
                  maxLength: 3000
                requestId:
                  type: string
                  pattern: ^[a-zA-Z0-9_-]{8,128}$
      responses:
        '202':
          description: Accepted or existing request. Poll jobId.
          content:
            application/json:
              schema:
                type: object
                required:
                - success
                - data
                properties:
                  success:
                    const: true
                  data:
                    type: object
                    required:
                    - jobId
                    - status
                    - stage
                    - createdAt
                    - updatedAt
                    properties:
                      jobId:
                        type: string
                        pattern: ^[a-f0-9]{64}$
                      status:
                        enum:
                        - queued
                        - running
                        - completed
                        - failed
                      stage:
                        enum:
                        - profile
                        - research
                        - build
                        - publish
                      reportUrl:
                        type: string
                        format: uri
                      errorCode:
                        type: string
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
        '400':
          description: Request rejected; inspect errorCode.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    const: false
                  errorCode:
                    type: string
                  requestId:
                    type: string
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
        '401':
          description: Request rejected; inspect errorCode.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    const: false
                  errorCode:
                    type: string
                  requestId:
                    type: string
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
        '402':
          description: Insufficient team points. No job or debit created.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    const: false
                  errorCode:
                    type: string
                  requestId:
                    type: string
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
        '403':
          description: Request rejected; inspect errorCode.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    const: false
                  errorCode:
                    type: string
                  requestId:
                    type: string
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
        '409':
          description: Request rejected; inspect errorCode.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    const: false
                  errorCode:
                    type: string
                  requestId:
                    type: string
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
        '413':
          description: Request rejected; inspect errorCode.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    const: false
                  errorCode:
                    type: string
                  requestId:
                    type: string
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
        '429':
          description: Request rejected; inspect errorCode.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    const: false
                  errorCode:
                    type: string
                  requestId:
                    type: string
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
        '500':
          description: Request rejected; inspect errorCode.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    const: false
                  errorCode:
                    type: string
                  requestId:
                    type: string
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
        '503':
          description: Request rejected; inspect errorCode.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    const: false
                  errorCode:
                    type: string
                  requestId:
                    type: string
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
      operationId: postApiExternalV1Reports
      x-operation-id-source: derived
  /api/external/v1/reports/{jobId}:
    get:
      tags:
      - Reports
      summary: Get report progress and the public HTML URL
      description: Only the creating key in its original team may poll. reportUrl appears only on completion. Open it in a new tab; anyone holding that URL can view the report. Poll no faster than every 10 seconds and back off on 429.
      parameters:
      - name: jobId
        in: path
        required: true
        schema:
          type: string
          pattern: ^[a-f0-9]{64}$
      responses:
        '200':
          description: Report status
          content:
            application/json:
              schema:
                type: object
                required:
                - success
                - data
                properties:
                  success:
                    const: true
                  data:
                    type: object
                    required:
                    - jobId
                    - status
                    - stage
                    - createdAt
                    - updatedAt
                    properties:
                      jobId:
                        type: string
                        pattern: ^[a-f0-9]{64}$
                      status:
                        enum:
                        - queued
                        - running
                        - completed
                        - failed
                      stage:
                        enum:
                        - profile
                        - research
                        - build
                        - publish
                      reportUrl:
                        type: string
                        format: uri
                      errorCode:
                        type: string
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
        '400':
          description: Request rejected; inspect errorCode.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    const: false
                  errorCode:
                    type: string
                  requestId:
                    type: string
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
        '401':
          description: Request rejected; inspect errorCode.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    const: false
                  errorCode:
                    type: string
                  requestId:
                    type: string
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
        '402':
          description: Insufficient team points. No job or debit created.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    const: false
                  errorCode:
                    type: string
                  requestId:
                    type: string
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
        '403':
          description: Request rejected; inspect errorCode.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    const: false
                  errorCode:
                    type: string
                  requestId:
                    type: string
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
        '404':
          description: Not found or outside key scope
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    const: false
                  errorCode:
                    type: string
                  requestId:
                    type: string
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
        '409':
          description: Request rejected; inspect errorCode.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    const: false
                  errorCode:
                    type: string
                  requestId:
                    type: string
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
        '413':
          description: Request rejected; inspect errorCode.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    const: false
                  errorCode:
                    type: string
                  requestId:
                    type: string
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
        '429':
          description: Request rejected; inspect errorCode.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    const: false
                  errorCode:
                    type: string
                  requestId:
                    type: string
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
        '500':
          description: Request rejected; inspect errorCode.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    const: false
                  errorCode:
                    type: string
                  requestId:
                    type: string
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
        '503':
          description: Request rejected; inspect errorCode.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    const: false
                  errorCode:
                    type: string
                  requestId:
                    type: string
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
      operationId: getApiExternalV1ReportsByJobId
      x-operation-id-source: derived
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: imf_<token>:<secret>
      description: API keys are issued from the Imagefactory account dashboard (My Page → API Keys). Team owners and admins can issue integration keys with usage:read permission.