Zoca Media API

The media API from Zoca — 19 operation(s) for media.

Operations 25

POST /media/primary-category-stock Create a new primary category stock #
GET /media/primary-category-stock Get all primary category stock #
GET /media/primary-category-stock/categories Get all primary categories with counts #
GET /media/primary-category-stock/{id} Get a primary category stock by id #
PATCH /media/primary-category-stock/{id} Update a primary category stock #
DELETE /media/primary-category-stock/{id} Delete a primary category stock #
GET /media/process-status Get media processing status for a batch #
POST /media Create a new media #
GET /media Get all media #
DELETE /media Delete a media #
GET /media/{id} Get a media by id #
PATCH /media/{id} Update a media #
GET /media/scheduled-media Get scheduled media for a location #
GET /media/gbp-scheduled-media/metrics Get GBP scheduled media metrics for an entity #
GET /media/gbp-scheduled-media Get GBP scheduled media by status (offset pagination) #
GET /media/logo-and-cover-image Get logo and cover image for a location #
POST /media/log-failed-media-time Log failed media upload time #
POST /tasks/api/v1/media/input Handle media input #
POST /tasks/api/v1/media/lambda/callback Handle media processing callback #
POST /tasks/api/v1/media/check-duplicates Check for duplicate media #
POST /tasks/api/v1/media/process-destinations Process media destinations #
POST /tasks/api/v1/media/convert-url Convert S3 URL to ImageKit URL #
POST /tasks/api/v1/media/convert-urls Convert multiple S3 URLs to ImageKit URLs #
POST /tasks/api/v1/media/add-s3-imagekit-mapping Add S3 to ImageKit URL mapping #
GET /tasks/api/v1/media/s3-imagekit-mappings Get all S3 to ImageKit URL mappings #

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/zoca-media-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 email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

zoca-media-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Zoca Media API
  contact: {}
  x-refined-note:
  - x-apievangelist-note differs across the merged source definitions and was not carried
  version: '1.0'
  description: 'Operations tagged media across 2 of this provider''s published API definitions: zoca-platform-openapi.yml, zoca-tasks-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.zoca.ai
  description: Production
- url: https://tasks.zoca.ai
  description: Production
tags:
- name: media
paths:
  /media/primary-category-stock:
    post:
      operationId: t_value
      parameters: []
      responses:
        '201':
          description: Primary category stock created successfully
      summary: Create a new primary category stock
      tags:
      - media
    get:
      operationId: t_value
      parameters: []
      responses:
        '200':
          description: Return all primary category stock
      summary: Get all primary category stock
      tags:
      - media
    servers:
    - url: https://api.zoca.ai
      description: Production
  /media/primary-category-stock/categories:
    get:
      operationId: t_value
      parameters: []
      responses:
        '200':
          description: Return all primary categories with counts
      summary: Get all primary categories with counts
      tags:
      - media
    servers:
    - url: https://api.zoca.ai
      description: Production
  /media/primary-category-stock/{id}:
    get:
      operationId: t_value
      parameters: []
      responses:
        '200':
          description: Return the primary category stock
      summary: Get a primary category stock by id
      tags:
      - media
    patch:
      operationId: t_value
      parameters: []
      responses:
        '200':
          description: Primary category stock updated successfully
      summary: Update a primary category stock
      tags:
      - media
    delete:
      operationId: t_value
      parameters: []
      responses:
        '200':
          description: Primary category stock deleted successfully
      summary: Delete a primary category stock
      tags:
      - media
    servers:
    - url: https://api.zoca.ai
      description: Production
  /media/process-status:
    get:
      operationId: t_value
      parameters:
      - name: batchId
        required: true
        in: query
        description: The batch ID to check status for
        schema: {}
      responses:
        '200':
          description: Returns processing status and success percentage
      summary: Get media processing status for a batch
      tags:
      - media
    servers:
    - url: https://api.zoca.ai
      description: Production
  /media:
    post:
      operationId: t_value
      parameters: []
      responses:
        '201':
          description: Media created successfully
      summary: Create a new media
      tags:
      - media
    get:
      operationId: t_value
      parameters: []
      responses:
        '200':
          description: Return all media
      summary: Get all media
      tags:
      - media
    delete:
      operationId: t_value
      parameters: []
      responses:
        '200':
          description: Media deleted successfully
      summary: Delete a media
      tags:
      - media
    servers:
    - url: https://api.zoca.ai
      description: Production
  /media/{id}:
    get:
      operationId: t_value
      parameters: []
      responses:
        '200':
          description: Return the media
      summary: Get a media by id
      tags:
      - media
    patch:
      operationId: t_value
      parameters: []
      responses:
        '200':
          description: Media updated successfully
      summary: Update a media
      tags:
      - media
    servers:
    - url: https://api.zoca.ai
      description: Production
  /media/scheduled-media:
    get:
      operationId: t_value
      parameters: []
      responses:
        '200':
          description: ''
      summary: Get scheduled media for a location
      tags:
      - media
    servers:
    - url: https://api.zoca.ai
      description: Production
  /media/gbp-scheduled-media/metrics:
    get:
      operationId: t_value
      parameters: []
      responses:
        '200':
          description: ''
      summary: Get GBP scheduled media metrics for an entity
      tags:
      - media
    servers:
    - url: https://api.zoca.ai
      description: Production
  /media/gbp-scheduled-media:
    get:
      operationId: t_value
      parameters: []
      responses:
        '200':
          description: ''
      summary: Get GBP scheduled media by status (offset pagination)
      tags:
      - media
    servers:
    - url: https://api.zoca.ai
      description: Production
  /media/logo-and-cover-image:
    get:
      operationId: t_value
      parameters: []
      responses:
        '200':
          description: ''
      summary: Get logo and cover image for a location
      tags:
      - media
    servers:
    - url: https://api.zoca.ai
      description: Production
  /media/log-failed-media-time:
    post:
      operationId: t_value
      parameters: []
      responses:
        '201':
          description: ''
      summary: Log failed media upload time
      tags:
      - media
    servers:
    - url: https://api.zoca.ai
      description: Production
  /tasks/api/v1/media/input:
    post:
      description: Enqueues a job to handle media input with destination processing
      operationId: t_value
      parameters: []
      requestBody:
        required: true
        description: Media Input Dto
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/e'
      responses:
        '201':
          description: Media sync job enqueued successfully
          content:
            application/json:
              schema:
                properties:
                  jobId:
                    type: string
        '400':
          description: Invalid input data
        '500':
          description: Failed to enqueue job
      summary: Handle media input
      tags:
      - media
      security:
      - access-token: []
    servers:
    - url: https://tasks.zoca.ai
      description: Production
  /tasks/api/v1/media/lambda/callback:
    post:
      description: Process callback from Lambda media processing service
      operationId: t_value
      parameters: []
      responses:
        '200':
          description: Callback processed successfully
        '400':
          description: Invalid callback data
        '401':
          description: Unauthorized
        '500':
          description: Processing error
      summary: Handle media processing callback
      tags:
      - media
      security:
      - access-token: []
    servers:
    - url: https://tasks.zoca.ai
      description: Production
  /tasks/api/v1/media/check-duplicates:
    post:
      description: Enqueues a job to check for duplicate media for a given entity
      operationId: t_value
      parameters: []
      responses:
        '201':
          description: Duplicate check job enqueued successfully
          content:
            application/json:
              schema:
                properties:
                  jobId:
                    type: string
        '400':
          description: Invalid input data
        '500':
          description: Failed to enqueue job
      summary: Check for duplicate media
      tags:
      - media
      security:
      - access-token: []
    servers:
    - url: https://tasks.zoca.ai
      description: Production
  /tasks/api/v1/media/process-destinations:
    post:
      description: Enqueues a job to process media for specified destinations
      operationId: t_value
      parameters: []
      responses:
        '201':
          description: Destinations processing job enqueued successfully
          content:
            application/json:
              schema:
                properties:
                  jobId:
                    type: string
        '400':
          description: Invalid input data
        '500':
          description: Failed to enqueue job
      summary: Process media destinations
      tags:
      - media
      security:
      - access-token: []
    servers:
    - url: https://tasks.zoca.ai
      description: Production
  /tasks/api/v1/media/convert-url:
    post:
      description: Converts a single S3 URL to its corresponding ImageKit URL using the mapping table
      operationId: t_value
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/e'
      responses:
        '200':
          description: URL converted successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/e'
        '400':
          description: Invalid URL provided
        '500':
          description: Failed to convert URL
      summary: Convert S3 URL to ImageKit URL
      tags:
      - media
      security:
      - access-token: []
    servers:
    - url: https://tasks.zoca.ai
      description: Production
  /tasks/api/v1/media/convert-urls:
    post:
      description: Converts multiple S3 URLs to their corresponding ImageKit URLs using the mapping table
      operationId: t_value
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/e'
      responses:
        '200':
          description: URLs converted successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/e'
        '400':
          description: Invalid URLs provided
        '500':
          description: Failed to convert URLs
      summary: Convert multiple S3 URLs to ImageKit URLs
      tags:
      - media
      security:
      - access-token: []
    servers:
    - url: https://tasks.zoca.ai
      description: Production
  /tasks/api/v1/media/add-s3-imagekit-mapping:
    post:
      description: Creates a new mapping between an S3 bucket URL and its corresponding ImageKit URL. This mapping is used for URL conversion throughout the system.
      operationId: t_value
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/e'
      responses:
        '201':
          description: Mapping created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/e'
        '400':
          description: Invalid mapping data provided
        '409':
          description: Mapping already exists
        '500':
          description: Failed to create mapping
      summary: Add S3 to ImageKit URL mapping
      tags:
      - media
      security:
      - access-token: []
    servers:
    - url: https://tasks.zoca.ai
      description: Production
  /tasks/api/v1/media/s3-imagekit-mappings:
    get:
      description: Retrieves all mappings between S3 bucket URLs and their corresponding ImageKit URLs from the database.
      operationId: t_value
      parameters: []
      responses:
        '200':
          description: Mappings retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/e'
        '500':
          description: Failed to retrieve mappings
      summary: Get all S3 to ImageKit URL mappings
      tags:
      - media
      security:
      - access-token: []
    servers:
    - url: https://tasks.zoca.ai
      description: Production
components:
  schemas:
    e:
      type: object
      properties:
        scan:
          $ref: '#/components/schemas/e'
        businessLat:
          type:
          - number
          - 'null'
        businessLng:
          type:
          - number
          - 'null'
        points:
          type: array
          items:
            $ref: '#/components/schemas/e'
        heroMetrics:
          $ref: '#/components/schemas/e'
      required:
      - scan
      - businessLat
      - businessLng
      - points
      - heroMetrics
  securitySchemes:
    access-token:
      scheme: bearer
      bearerFormat: JWT
      type: http
      name: Authorization
      description: Enter JWT token in the format Bearer <token>
      in: header
x-refined-from:
- zoca-platform-openapi.yml
- zoca-tasks-openapi.yml