Rork App Previews API
The App Previews API from Rork — 2 operation(s) for app previews.
The App Previews API from Rork — 2 operation(s) for app previews.
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/rork:rork-app-previews-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: App Store Connect App Previews API
version: 4.5.1
x-platforms:
app_store_connect_api: App Store Connect API
servers:
- url: https://api.appstoreconnect.apple.com/
security:
- itc-bearer-token: []
tags:
- name: App Previews
paths:
/v1/appPreviews:
post:
tags:
- App Previews
operationId: appPreviews_createInstance
requestBody:
description: AppPreview representation
content:
application/json:
schema:
$ref: '#/components/schemas/AppPreviewCreateRequest'
required: true
responses:
'400':
description: Parameter error(s)
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Unauthorized error(s)
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'403':
description: Forbidden error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'422':
description: Unprocessable request entity error(s)
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'201':
description: Single AppPreview
content:
application/json:
schema:
$ref: '#/components/schemas/AppPreviewResponse'
'409':
description: Request entity error(s)
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'429':
description: Rate limit exceeded error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
summary: App previews create instance
x-summary-source: derived
/v1/appPreviews/{id}:
parameters:
- name: id
in: path
description: the id of the requested resource
schema:
type: string
style: simple
required: true
get:
tags:
- App Previews
operationId: appPreviews_getInstance
parameters:
- name: fields[appPreviews]
in: query
description: the fields to include for returned resources of type appPreviews
schema:
type: array
items:
type: string
enum:
- fileSize
- fileName
- sourceFileChecksum
- previewFrameTimeCode
- mimeType
- videoUrl
- previewFrameImage
- previewImage
- uploadOperations
- assetDeliveryState
- videoDeliveryState
- appPreviewSet
style: form
explode: false
required: false
- name: fields[appPreviewSets]
in: query
description: the fields to include for returned resources of type appPreviewSets
schema:
type: array
items:
type: string
enum:
- previewType
- appStoreVersionLocalization
- appCustomProductPageLocalization
- appStoreVersionExperimentTreatmentLocalization
- appPreviews
style: form
explode: false
required: false
- name: include
in: query
description: comma-separated list of relationships to include
schema:
type: array
items:
type: string
enum:
- appPreviewSet
style: form
explode: false
required: false
responses:
'400':
description: Parameter error(s)
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Unauthorized error(s)
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'403':
description: Forbidden error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Not found error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'200':
description: Single AppPreview
content:
application/json:
schema:
$ref: '#/components/schemas/AppPreviewResponse'
'429':
description: Rate limit exceeded error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
summary: App previews get instance
x-summary-source: derived
patch:
tags:
- App Previews
operationId: appPreviews_updateInstance
requestBody:
description: AppPreview representation
content:
application/json:
schema:
$ref: '#/components/schemas/AppPreviewUpdateRequest'
required: true
responses:
'400':
description: Parameter error(s)
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Unauthorized error(s)
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'403':
description: Forbidden error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Not found error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'422':
description: Unprocessable request entity error(s)
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'200':
description: Single AppPreview
content:
application/json:
schema:
$ref: '#/components/schemas/AppPreviewResponse'
'409':
description: Request entity error(s)
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'429':
description: Rate limit exceeded error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
summary: App previews update instance
x-summary-source: derived
delete:
tags:
- App Previews
operationId: appPreviews_deleteInstance
responses:
'400':
description: Parameter error(s)
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Unauthorized error(s)
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'403':
description: Forbidden error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Not found error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'204':
description: Success (no content)
'429':
description: Rate limit exceeded error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
summary: App previews delete instance
x-summary-source: derived
components:
schemas:
AppMediaStateError:
type: object
properties:
code:
type: string
description:
type: string
UploadOperation:
type: object
properties:
method:
type: string
url:
type: string
length:
type: integer
offset:
type: integer
requestHeaders:
type: array
items:
$ref: '#/components/schemas/HttpHeader'
ErrorSourceParameter:
type: object
title: Parameter
properties:
parameter:
type: string
required:
- parameter
AppPreviewSet:
type: object
title: AppPreviewSet
properties:
type:
type: string
enum:
- appPreviewSets
id:
type: string
attributes:
type: object
properties:
previewType:
$ref: '#/components/schemas/PreviewType'
relationships:
type: object
properties:
appStoreVersionLocalization:
type: object
properties:
data:
type: object
properties:
type:
type: string
enum:
- appStoreVersionLocalizations
id:
type: string
required:
- id
- type
appCustomProductPageLocalization:
type: object
properties:
data:
type: object
properties:
type:
type: string
enum:
- appCustomProductPageLocalizations
id:
type: string
required:
- id
- type
appStoreVersionExperimentTreatmentLocalization:
type: object
properties:
data:
type: object
properties:
type:
type: string
enum:
- appStoreVersionExperimentTreatmentLocalizations
id:
type: string
required:
- id
- type
appPreviews:
type: object
properties:
links:
$ref: '#/components/schemas/RelationshipLinks'
meta:
$ref: '#/components/schemas/PagingInformation'
data:
type: array
items:
type: object
properties:
type:
type: string
enum:
- appPreviews
id:
type: string
required:
- id
- type
links:
$ref: '#/components/schemas/ResourceLinks'
required:
- id
- type
AppMediaPreviewFrameImageState:
type: object
properties:
errors:
type: array
items:
$ref: '#/components/schemas/AppMediaStateError'
warnings:
type: array
items:
$ref: '#/components/schemas/AppMediaStateError'
state:
type: string
enum:
- PROCESSING
- COMPLETE
- FAILED
AppPreviewCreateRequest:
type: object
title: AppPreviewCreateRequest
properties:
data:
type: object
properties:
type:
type: string
enum:
- appPreviews
attributes:
type: object
properties:
fileSize:
type: integer
fileName:
type: string
previewFrameTimeCode:
type:
- string
- 'null'
mimeType:
type:
- string
- 'null'
required:
- fileName
- fileSize
relationships:
type: object
properties:
appPreviewSet:
type: object
properties:
data:
type: object
properties:
type:
type: string
enum:
- appPreviewSets
id:
type: string
required:
- id
- type
required:
- data
required:
- appPreviewSet
required:
- relationships
- attributes
- type
required:
- data
ErrorLinks:
type: object
properties:
about:
type: string
format: uri-reference
associated:
oneOf:
- type: string
format: uri-reference
- type: object
properties:
href:
type: string
format: uri-reference
meta:
type: object
properties:
source:
type: string
AppMediaVideoState:
type: object
properties:
errors:
type: array
items:
$ref: '#/components/schemas/AppMediaStateError'
warnings:
type: array
items:
$ref: '#/components/schemas/AppMediaStateError'
state:
type: string
enum:
- AWAITING_UPLOAD
- UPLOAD_COMPLETE
- PROCESSING
- COMPLETE
- FAILED
AppPreviewUpdateRequest:
type: object
title: AppPreviewUpdateRequest
properties:
data:
type: object
properties:
type:
type: string
enum:
- appPreviews
id:
type: string
attributes:
type: object
properties:
sourceFileChecksum:
type:
- string
- 'null'
previewFrameTimeCode:
type:
- string
- 'null'
uploaded:
type:
- boolean
- 'null'
required:
- id
- type
required:
- data
DocumentLinks:
type: object
properties:
self:
type: string
format: uri-reference
required:
- self
AppPreview:
type: object
title: AppPreview
properties:
type:
type: string
enum:
- appPreviews
id:
type: string
attributes:
type: object
properties:
fileSize:
type: integer
fileName:
type: string
sourceFileChecksum:
type: string
previewFrameTimeCode:
type: string
mimeType:
type: string
videoUrl:
type: string
previewFrameImage:
$ref: '#/components/schemas/PreviewFrameImage'
previewImage:
deprecated: true
$ref: '#/components/schemas/ImageAsset'
uploadOperations:
type: array
items:
$ref: '#/components/schemas/UploadOperation'
assetDeliveryState:
deprecated: true
$ref: '#/components/schemas/AppMediaAssetState'
videoDeliveryState:
$ref: '#/components/schemas/AppMediaVideoState'
relationships:
type: object
properties:
appPreviewSet:
type: object
properties:
data:
type: object
properties:
type:
type: string
enum:
- appPreviewSets
id:
type: string
required:
- id
- type
links:
$ref: '#/components/schemas/ResourceLinks'
required:
- id
- type
AppMediaAssetState:
type: object
properties:
errors:
type: array
items:
$ref: '#/components/schemas/AppMediaStateError'
warnings:
type: array
items:
$ref: '#/components/schemas/AppMediaStateError'
state:
type: string
enum:
- AWAITING_UPLOAD
- UPLOAD_COMPLETE
- COMPLETE
- FAILED
ErrorSourcePointer:
type: object
title: JsonPointer
properties:
pointer:
type: string
required:
- pointer
PagingInformation:
type: object
properties:
paging:
type: object
properties:
total:
type: integer
limit:
type: integer
nextCursor:
type: string
required:
- limit
required:
- paging
PreviewFrameImage:
type: object
properties:
image:
$ref: '#/components/schemas/ImageAsset'
state:
$ref: '#/components/schemas/AppMediaPreviewFrameImageState'
ErrorResponse:
type: object
properties:
errors:
type: array
items:
type: object
properties:
id:
type: string
status:
type: string
code:
type: string
title:
type: string
detail:
type: string
source:
oneOf:
- $ref: '#/components/schemas/ErrorSourcePointer'
- $ref: '#/components/schemas/ErrorSourceParameter'
links:
$ref: '#/components/schemas/ErrorLinks'
meta:
type: object
additionalProperties: {}
required:
- code
- detail
- status
- title
RelationshipLinks:
type: object
properties:
self:
type: string
format: uri-reference
related:
type: string
format: uri-reference
HttpHeader:
type: object
properties:
name:
type: string
value:
type: string
PreviewType:
type: string
enum:
- IPHONE_67
- IPHONE_61
- IPHONE_65
- IPHONE_58
- IPHONE_55
- IPHONE_47
- IPHONE_40
- IPHONE_35
- IPAD_PRO_3GEN_129
- IPAD_PRO_3GEN_11
- IPAD_PRO_129
- IPAD_105
- IPAD_97
- DESKTOP
- APPLE_TV
- APPLE_VISION_PRO
AppPreviewResponse:
type: object
title: AppPreviewResponse
properties:
data:
$ref: '#/components/schemas/AppPreview'
included:
type: array
items:
$ref: '#/components/schemas/AppPreviewSet'
links:
$ref: '#/components/schemas/DocumentLinks'
required:
- data
- links
ImageAsset:
type: object
properties:
templateUrl:
type: string
width:
type: integer
height:
type: integer
ResourceLinks:
type: object
properties:
self:
type: string
format: uri-reference
securitySchemes:
itc-bearer-token:
type: http
scheme: bearer
bearerFormat: JWT