PlanRadar Images API

Attach images to tickets

Operations 4

POST /api/v1/{customer_id}/projects/{project_id}/tickets/{ticket_uuid}/ticket_images/{image_uuid} Create image with base64 (file param as base64 string)
PUT /api/v1/{customer_id}/projects/{project_id}/tickets/{ticket_uuid}/ticket_images/{image_uuid} Update the caption of an image
DELETE /api/v1/{customer_id}/projects/{project_id}/tickets/{ticket_uuid}/ticket_images/{image_uuid} Delete an image from a ticket
POST /api/v1/{customer_id}/projects/{project_id}/tickets/{ticket_uuid}/ticket_images/{image_uuid}/create_multipart Create image with multipart upload (file param as multipart)

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/planradar-images-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

planradar-images-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: PlanRadar's API Documentation Approval Requests V2 Images API
  version: '2.0'
  description: "Welcome to PlanRadar's API documentation, here you can find all the details about our APIs as well as test them online.<br />\n        <h5>Rate Limits</h5>30 requests per minute per account, aggregated across all tokens.<br />\n        If the threshold is exceeded, a 5-minute cooldown is applied to the account, aggregated across all tokens.<br />\n        During the cooldown period, further requests may be rejected until the cooldown ends.<br />\n        In rare cases, an endpoint may have a different rate limit than the default. When that happens, the differing limit will be explicitly stated in the API documentation for that endpoint.<br />\n        <h5>Access Key</h5>In order to be able to access any API you have to create an access token.Therefore you have to follow these steps:-\n        <ul>\n          <li>Go to your profile page and click on Personal Access Tokens on the left side bar</li><li>Click on the 'Create Access Token' top right button in order to create a new access token.</li><li>Copy the created token and paste it into the field that pops up when you click on the 'Authorize' button </li><li>Note: you can copy the token only once.</li><li>Now you can easily access any API</li>\n        </ul>\n        <h5>V2 APIs</h5>We are currently working on upgrading all our APIs to v2, and we recommend that you use v2 APIs if it is available.\n        <p>V2 APIs are faster, robust and more flexible than v1 APIs</p>"
servers:
- url: /
tags:
- name: Images
  description: Attach images to tickets
paths:
  /api/v1/{customer_id}/projects/{project_id}/tickets/{ticket_uuid}/ticket_images/{image_uuid}:
    post:
      summary: Create image with base64 (file param as base64 string)
      tags:
      - Images
      description: "Attach a new image to a ticket using a base64 encoded file.<br/>\n          When the image belongs to a form field attachment, validation errors may be returned (e.g. field does not exist, max attachments exceeded, ticket locked, or field permission denied)."
      parameters:
      - name: customer_id
        in: path
        required: true
        schema:
          type: string
      - name: project_id
        in: path
        required: true
        schema:
          type: string
      - name: ticket_uuid
        in: path
        required: true
        schema:
          type: string
      responses:
        '404':
          description: Ticket Not found
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    attributes:
                      type: object
                      properties:
                        subject:
                          type: string
                        file:
                          type: string
                          description: The base64 encoded file
                        async:
                          type: boolean
                          description: boolean to process the image in the background
                        file-name:
                          type: string
                          description: Uploaded image name
                        created-on:
                          type: integer
                          description: 'Optional: Leave blank, current time will be used'
                        file-content-type:
                          type: string
                          description: Image content type
                        caption:
                          type: string
                          max_length: 255
                          description: Image caption
                        image-type:
                          type: integer
                          description: Image type 0 => Image, 1 => Plan annotation
    put:
      summary: Update the caption of an image
      tags:
      - Images
      description: Currently we only support updating the image caption
      parameters:
      - name: customer_id
        in: path
        required: true
        schema:
          type: string
      - name: project_id
        in: path
        required: true
        schema:
          type: string
      - name: ticket_uuid
        in: path
        required: true
        schema:
          type: string
      - name: image_uuid
        in: path
        required: true
        schema:
          type: string
      responses:
        '404':
          description: Ticket Not found
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    attributes:
                      type: object
                      properties:
                        caption:
                          type: string
                          max_length: 255
                          description: Image caption
    delete:
      summary: Delete an image from a ticket
      tags:
      - Images
      parameters:
      - name: customer_id
        in: path
        required: true
        schema:
          type: string
      - name: project_id
        in: path
        required: true
        schema:
          type: string
      - name: ticket_uuid
        in: path
        required: true
        schema:
          type: string
      - name: image_uuid
        in: path
        required: true
        schema:
          type: string
      responses:
        '404':
          description: Ticket Not found
  /api/v1/{customer_id}/projects/{project_id}/tickets/{ticket_uuid}/ticket_images/{image_uuid}/create_multipart:
    post:
      summary: Create image with multipart upload (file param as multipart)
      tags:
      - Images
      description: "Attach a new image to a ticket using multipart upload.<br/>\n          When the image belongs to a form field attachment, validation errors may be returned (e.g. field does not exist, max attachments exceeded, ticket locked, or field permission denied)."
      parameters:
      - name: customer_id
        in: path
        required: true
        schema:
          type: string
      - name: project_id
        in: path
        required: true
        schema:
          type: string
      - name: ticket_uuid
        in: path
        required: true
        schema:
          type: string
      responses:
        '404':
          description: Ticket Not found
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    attributes:
                      type: object
                      properties:
                        subject:
                          type: string
                        file:
                          type: string
                        async:
                          type: boolean
                          description: boolean to process the image in the background
                        file-name:
                          type: string
                          description: Uploaded image name
                        created-on:
                          type: integer
                          description: 'Optional: Leave blank, current time will be used'
                        file-content-type:
                          type: string
                          description: Image content type
                        caption:
                          type: string
                          max_length: 255
                          description: Image caption
                        image-type:
                          type: integer
                          description: Image type 0 => Image, 1 => Plan annotation
components:
  securitySchemes:
    apiKey:
      type: apiKey
      name: X-PlanRadar-API-Key
      in: header
externalDocs:
  description: Find out more about our development portal
  url: https://www.planradar.com/knowledge-base-overview/