Projects
List owned projects
/api/v1/projectsList active projects owned by the API-key account in reverse creation order. Use the returned opaque cursor to read the next page.
Parameters
| Name | Location | Required | Description |
|---|---|---|---|
limit | query | No | Maximum projects to return, from 1 to 100 |
cursor | query | No | Opaque cursor returned by the previous page |
Responses and errors
200Owned projects and a cursor when another page is available.
{
"type": "object",
"properties": {
"projects": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"filename": {
"type": "string"
},
"mimeType": {
"type": "string"
},
"byteLength": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"durationMs": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"width": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"height": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"status": {
"type": "string"
},
"claim": {
"type": "string"
},
"targetSeconds": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"activeMomentSetId": {
"anyOf": [
{
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
{
"type": "null"
}
]
},
"activeRenderVariantId": {
"anyOf": [
{
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
{
"type": "null"
}
]
},
"error": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"createdAt": {
"type": "string",
"description": "ISO 8601 timestamp"
},
"updatedAt": {
"type": "string",
"description": "ISO 8601 timestamp"
}
},
"required": [
"id",
"filename",
"mimeType",
"byteLength",
"durationMs",
"width",
"height",
"status",
"claim",
"targetSeconds",
"activeMomentSetId",
"activeRenderVariantId",
"error",
"createdAt",
"updatedAt"
],
"additionalProperties": false
}
},
"nextCursor": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"projects",
"nextCursor"
],
"additionalProperties": false
}400The limit or cursor is invalid.
{
"type": "object",
"properties": {
"error": {
"type": "string"
},
"requestId": {
"type": "string"
}
},
"required": [
"error"
],
"additionalProperties": false
}401The API key is missing or invalid.
{
"type": "object",
"properties": {
"error": {
"type": "string"
},
"requestId": {
"type": "string"
}
},
"required": [
"error"
],
"additionalProperties": false
}403The API key lacks projects:read.
{
"type": "object",
"properties": {
"error": {
"type": "string"
},
"requestId": {
"type": "string"
}
},
"required": [
"error"
],
"additionalProperties": false
}429The API-key rate limit was exceeded.
{
"type": "object",
"properties": {
"error": {
"type": "string"
},
"requestId": {
"type": "string"
}
},
"required": [
"error"
],
"additionalProperties": false
}503Project storage is unavailable.
{
"type": "object",
"properties": {
"error": {
"type": "string"
},
"requestId": {
"type": "string"
}
},
"required": [
"error"
],
"additionalProperties": false
}Examples
curl "https://prismclip.com/api/v1/projects?limit=20" \
-H "Authorization: Bearer $PRISMCLIP_API_KEY"const response = await fetch(
"https://prismclip.com/api/v1/projects?limit=20",
{ headers: { Authorization: `Bearer ${process.env.PRISMCLIP_API_KEY}` } }
);
const { projects, nextCursor } = await response.json();import os, requests
response = requests.get(
"https://prismclip.com/api/v1/projects",
headers={"Authorization": f"Bearer {os.environ['PRISMCLIP_API_KEY']}"},
params={"limit": 20},
)
projects = response.json()["projects"]