Pixepi Apps API
The Apps API from Pixepi — 11 operation(s) for apps.
The Apps API from Pixepi — 11 operation(s) for apps.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/pixepi:pixepi-apps-api"
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.
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: 3.2.0
info:
title: Pixepi Apps API
version: 1.0.0
description: 'External developer API for Pixepi tools. Auth: Authorization: Bearer .'
servers:
- url: https://api.pixepi.com
security:
- bearerAuth: []
tags:
- name: Apps
paths:
/api/v1/apps:
get:
summary: Tool catalog
security: []
responses:
'200':
description: Tool list
tags:
- Apps
operationId: getApiV1Apps
x-operation-id-source: derived
/api/v1/apps/{slug}:
get:
summary: Tool contract
security: []
parameters:
- name: slug
in: path
required: true
schema:
type: string
responses:
'200':
description: Input/output/option contract
tags:
- Apps
operationId: getApiV1AppsBySlug
x-operation-id-source: derived
/api/v1/apps/{slug}/run:
post:
summary: Run the tool
description: File input is sent as multipart/form-data; options take the form options[field]. Text input travels in the same form or as a {"input":"...","options":{...}} JSON body.
parameters:
- name: slug
in: path
required: true
schema:
type: string
responses:
'200':
description: Job finished
'401':
description: Missing/invalid auth
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'422':
description: Input error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'429':
description: Quota/rate limit
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
tags:
- Apps
operationId: postApiV1AppsBySlugRun
x-operation-id-source: derived
/api/v1/apps/gelir-gider-defteri/categories:
get:
summary: Lists categories (shared system categories plus your own)
responses:
'200':
description: Success
'401':
description: Missing/invalid auth
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Record not found (404 also for cross-account access)
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'422':
description: Input error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
tags:
- Apps
operationId: getApiV1AppsGelirGiderDefteriCategories
x-operation-id-source: derived
post:
summary: Adds a new category
responses:
'200':
description: Success
'401':
description: Missing/invalid auth
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Record not found (404 also for cross-account access)
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'422':
description: Input error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
tags:
- Apps
operationId: postApiV1AppsGelirGiderDefteriCategories
x-operation-id-source: derived
/api/v1/apps/gelir-gider-defteri/categories/{id}:
post:
summary: Updates a category
responses:
'200':
description: Success
'401':
description: Missing/invalid auth
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Record not found (404 also for cross-account access)
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'422':
description: Input error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
parameters:
- name: id
in: path
required: true
schema:
type: integer
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
tags:
- Apps
operationId: postApiV1AppsGelirGiderDefteriCategoriesById
x-operation-id-source: derived
/api/v1/apps/gelir-gider-defteri/categories/{id}/archive:
post:
summary: Archives a category; calling it again does not change the status
responses:
'200':
description: Success
'401':
description: Missing/invalid auth
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Record not found (404 also for cross-account access)
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'422':
description: Input error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
parameters:
- name: id
in: path
required: true
schema:
type: integer
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
tags:
- Apps
operationId: postApiV1AppsGelirGiderDefteriCategoriesByIdArchive
x-operation-id-source: derived
/api/v1/apps/gelir-gider-defteri/entries:
get:
summary: Lists entries; filters by date, type, category and note
responses:
'200':
description: Success
'401':
description: Missing/invalid auth
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Record not found (404 also for cross-account access)
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'422':
description: Input error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
tags:
- Apps
operationId: getApiV1AppsGelirGiderDefteriEntries
x-operation-id-source: derived
post:
summary: Adds a new entry
responses:
'200':
description: Success
'401':
description: Missing/invalid auth
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Record not found (404 also for cross-account access)
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'422':
description: Input error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
tags:
- Apps
operationId: postApiV1AppsGelirGiderDefteriEntries
x-operation-id-source: derived
/api/v1/apps/gelir-gider-defteri/entries/{id}:
post:
summary: Updates an entry
responses:
'200':
description: Success
'401':
description: Missing/invalid auth
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Record not found (404 also for cross-account access)
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'422':
description: Input error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
parameters:
- name: id
in: path
required: true
schema:
type: integer
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
tags:
- Apps
operationId: postApiV1AppsGelirGiderDefteriEntriesById
x-operation-id-source: derived
/api/v1/apps/gelir-gider-defteri/entries/{id}/delete:
post:
summary: Deletes an entry
responses:
'200':
description: Success
'401':
description: Missing/invalid auth
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Record not found (404 also for cross-account access)
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'422':
description: Input error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
parameters:
- name: id
in: path
required: true
schema:
type: integer
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
tags:
- Apps
operationId: postApiV1AppsGelirGiderDefteriEntriesByIdDelete
x-operation-id-source: derived
/api/v1/apps/gelir-gider-defteri/summary:
get:
summary: 'Summary breakdown: by month, category or type'
responses:
'200':
description: Success
'401':
description: Missing/invalid auth
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Record not found (404 also for cross-account access)
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'422':
description: Input error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
tags:
- Apps
operationId: getApiV1AppsGelirGiderDefteriSummary
x-operation-id-source: derived
/api/v1/apps/gelir-gider-defteri/export.csv:
get:
summary: Exports entries as CSV
responses:
'200':
description: Success
'401':
description: Missing/invalid auth
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Record not found (404 also for cross-account access)
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'422':
description: Input error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
tags:
- Apps
operationId: getApiV1AppsGelirGiderDefteriExportCsv
x-operation-id-source: derived
components:
schemas:
Error:
type: object
properties:
ok:
type: boolean
const: false
error:
type: string
code:
type: string
request_id:
type: string
required:
- ok
- error
- code
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: An API key created from your Pixepi account.
x-apps:
- slug: gorsel-kucult
name: ImageShrink
runnable: true
run_url: https://api.pixepi.com/api/v1/apps/gorsel-kucult/run
endpoints: []
docs_url: https://image.pixepi.com/shrink/api-docs
input:
type: file
name: file
accept:
- .jpg
- .jpeg
- .png
- .webp
mime:
- image/jpeg
- image/png
- image/webp
multiple: true
label: Drop your images here
hint: JPG, PNG or WebP · up to 100 MB each
required: true
placeholder: ''
options:
- key: quality
type: range
label: Quality
default: 82
choices: []
min: 40
max: 95
- key: max_side
type: number
label: Long-edge limit (optional)
default: ''
choices: []
min: 0
max: 6000
- key: format
type: radio
label: Output format
default: same
choices:
- value: same
label: Same format
hint: The file type you uploaded is kept
- value: jpeg
label: JPG
hint: Smallest size, for photos
- value: webp
label: WebP
hint: Smaller file at the same quality
- value: png
label: PNG
hint: Transparency is kept, size grows
min: null
max: null
- key: auto_rotate
type: switch
label: Auto-correct phone orientation
default: true
choices: []
min: null
max: null
batch:
mode: files
columns: []
output:
type: zip
mime: application/zip
ext: zip
label: Download your images
max_upload_mb: 100
- slug: gelir-gider-defteri
name: Income-Expense Ledger
runnable: false
run_url: null
endpoints:
- method: GET
path: /categories
summary: Lists categories (shared system categories plus your own).
write: false
- method: POST
path: /categories
summary: Adds a new category.
write: true
- method: POST
path: /categories/{id}
summary: Updates a category.
write: true
- method: POST
path: /categories/{id}/archive
summary: Archives a category; calling it again does not change the status.
write: true
- method: GET
path: /entries
summary: Lists entries; filters by date, type, category and note.
write: false
- method: POST
path: /entries
summary: Adds a new entry.
write: true
- method: POST
path: /entries/{id}
summary: Updates an entry.
write: true
- method: POST
path: /entries/{id}/delete
summary: Deletes an entry.
write: true
- method: GET
path: /summary
summary: 'Summary breakdown: by month, category or type.'
write: false
- method: GET
path: /export.csv
summary: Exports entries as CSV.
write: false
docs_url: https://cashbook.pixepi.com/api-docs
input:
type: file
name: file
accept: []
mime: []
multiple: false
label: ''
hint: ''
required: true
placeholder: ''
options: []
batch:
mode: files
columns: []
output:
type: file
mime: application/octet-stream
ext: bin
label: Sonucu indir
max_upload_mb: 100
- slug: gorsel-donustur
name: ImageConvert
runnable: true
run_url: https://api.pixepi.com/api/v1/apps/gorsel-donustur/run
endpoints: []
docs_url: https://image.pixepi.com/convert/api-docs
input:
type: file
name: file
accept:
- .jpg
- .jpeg
- .png
- .webp
- .gif
- .heic
- .heif
- .avif
mime:
- image/jpeg
- image/png
- image/webp
- image/gif
- image/heic
- image/heif
- image/avif
multiple: true
label: Drop your images here
hint: JPG, PNG, WebP, GIF, HEIC or AVIF · up to 100 MB each
required: true
placeholder: ''
options:
- key: format
type: radio
label: Output format
default: jpeg
choices:
- value: jpeg
label: JPG
hint: The universal photo format; transparency is filled
- value: png
label: PNG
hint: Lossless; transparency is kept
- value: webp
label: WebP
hint: Small file, keeps transparency
- value: avif
label: AVIF
hint: Newest format; smallest file on modern devices
min: null
max: null
- key: quality
type: range
label: Quality
default: 85
choices: []
min: 40
max: 95
- key: background
type: text
label: Background color (for JPG)
default: '#ffffff'
choices: []
min: null
max: null
batch:
mode: files
columns: []
output:
type: zip
mime: application/zip
ext: zip
label: Download your images
max_upload_mb: 100
- slug: pdfsplit
name: PdfSplit
runnable: true
run_url: https://api.pixepi.com/api/v1/apps/pdfsplit/run
endpoints: []
docs_url: https://pdf.pixepi.com/split/api-docs
input:
type: file
name: file
accept:
- .pdf
mime:
- application/pdf
multiple: false
label: Drop your PDF here
hint: One PDF file · up to 100 MB
required: true
placeholder: ''
options:
- key: mode
type: radio
label: Split mode
default: pages
choices:
- value: pages
label: Split every page separately
hint: Every page becomes its own single-page PDF
- value: range
label: Page range / selected pages
hint: E.g. 1-3, 5, 7-9
- value: chunks
label: Split every N pages
hint: The document is split into chunks with an equal number of pages
min: null
max: null
- key: page_range
type: text
label: Page ranges
default: 1-3
choices: []
min: null
max: null
- key: chunk_size
type: number
label: Chunk size
default: 5
choices: []
min: 1
max: 500
- key: merge_output
type: switch
label: Merge ranges into one PDF
default: false
choices: []
min: null
max: null
batch:
mode: files
columns: []
output:
type: file
mime: application/pdf
ext: pdf
label: Download the result
max_upload_mb: 100
- slug: pdfmerge
name: PdfMerge
runnable: true
run_url: https://api.pixepi.com/api/v1/apps/pdfmerge/run
endpoints: []
docs_url: https://pdf.pixepi.com/merge/api-docs
input:
type: file
name: file
accept:
- .pdf
mime:
- application/pdf
multiple: true
label: Drop your PDFs here
hint: 2 to 20 PDF files · up to 100 MB each
required: true
placeholder: ''
options: []
batch:
mode: files
columns: []
output:
type: file
mime: application/pdf
ext: pdf
label: Download merged PDF
max_upload_mb: 100