Delulu documentation

Media

6 endpoints in the Media API group.

Generated from the typed server contract. Download the complete OpenAPI 3.1 specification.

media.list

GET/v1/workspaces/{workspaceId}/media

Parameters

NameInRequiredType
workspaceIdpathyesstring
limitquerynovalue
offsetquerynovalue

Request body

No request body.

Responses

StatusMeaning
200Success
401UnauthorizedError
402QuotaExceededError
403ForbiddenError
404NotFoundError
409ConflictError
422ValidationError
429RateLimitedError

Response bodies

200 — application/json

{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "bucketKey": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "mediaType": {
            "type": "string",
            "enum": [
              "image",
              "video",
              "document"
            ]
          },
          "mimeType": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "sizeBytes": {
            "type": "string"
          },
          "width": {
            "anyOf": [
              {
                "anyOf": [
                  {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "enum": [
                          "NaN"
                        ]
                      },
                      {
                        "type": "string",
                        "enum": [
                          "Infinity"
                        ]
                      },
                      {
                        "type": "string",
                        "enum": [
                          "-Infinity"
                        ]
                      }
                    ]
                  },
                  {
                    "type": "string",
                    "enum": [
                      "Infinity",
                      "-Infinity",
                      "NaN"
                    ]
                  }
                ]
              },
              {
                "type": "null"
              }
            ]
          },
          "height": {
            "anyOf": [
              {
                "anyOf": [
                  {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "enum": [
                          "NaN"
                        ]
                      },
                      {
                        "type": "string",
                        "enum": [
                          "Infinity"
                        ]
                      },
                      {
                        "type": "string",
                        "enum": [
                          "-Infinity"
                        ]
                      }
                    ]
                  },
                  {
                    "type": "string",
                    "enum": [
                      "Infinity",
                      "-Infinity",
                      "NaN"
                    ]
                  }
                ]
              },
              {
                "type": "null"
              }
            ]
          },
          "durationSeconds": {
            "anyOf": [
              {
                "anyOf": [
                  {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "enum": [
                          "NaN"
                        ]
                      },
                      {
                        "type": "string",
                        "enum": [
                          "Infinity"
                        ]
                      },
                      {
                        "type": "string",
                        "enum": [
                          "-Infinity"
                        ]
                      }
                    ]
                  },
                  {
                    "type": "string",
                    "enum": [
                      "Infinity",
                      "-Infinity",
                      "NaN"
                    ]
                  }
                ]
              },
              {
                "type": "null"
              }
            ]
          },
          "thumbnails": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "altText": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "pending",
              "ready",
              "failed"
            ]
          },
          "createdAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "bucketKey",
          "url",
          "mediaType",
          "mimeType",
          "sizeBytes",
          "width",
          "height",
          "durationSeconds",
          "thumbnails",
          "altText",
          "status",
          "createdAt"
        ],
        "additionalProperties": false
      }
    },
    "total": {
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "string",
              "enum": [
                "NaN"
              ]
            },
            {
              "type": "string",
              "enum": [
                "Infinity"
              ]
            },
            {
              "type": "string",
              "enum": [
                "-Infinity"
              ]
            }
          ]
        },
        {
          "type": "string",
          "enum": [
            "Infinity",
            "-Infinity",
            "NaN"
          ]
        }
      ]
    },
    "limit": {
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "string",
              "enum": [
                "NaN"
              ]
            },
            {
              "type": "string",
              "enum": [
                "Infinity"
              ]
            },
            {
              "type": "string",
              "enum": [
                "-Infinity"
              ]
            }
          ]
        },
        {
          "type": "string",
          "enum": [
            "Infinity",
            "-Infinity",
            "NaN"
          ]
        }
      ]
    },
    "offset": {
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "string",
              "enum": [
                "NaN"
              ]
            },
            {
              "type": "string",
              "enum": [
                "Infinity"
              ]
            },
            {
              "type": "string",
              "enum": [
                "-Infinity"
              ]
            }
          ]
        },
        {
          "type": "string",
          "enum": [
            "Infinity",
            "-Infinity",
            "NaN"
          ]
        }
      ]
    }
  },
  "required": [
    "data",
    "total",
    "limit",
    "offset"
  ],
  "additionalProperties": false
}

401 — application/json

{
  "$ref": "#/components/schemas/UnauthorizedError"
}

402 — application/json

{
  "$ref": "#/components/schemas/QuotaExceededError"
}

403 — application/json

{
  "$ref": "#/components/schemas/ForbiddenError"
}

404 — application/json

{
  "$ref": "#/components/schemas/NotFoundError"
}

409 — application/json

{
  "$ref": "#/components/schemas/ConflictError"
}

422 — application/json

{
  "$ref": "#/components/schemas/ValidationError"
}

429 — application/json

{
  "$ref": "#/components/schemas/RateLimitedError"
}

media.get

GET/v1/workspaces/{workspaceId}/media/{id}

Parameters

NameInRequiredType
workspaceIdpathyesstring
idpathyesstring

Request body

No request body.

Responses

StatusMeaning
200Success
401UnauthorizedError
402QuotaExceededError
403ForbiddenError
404NotFoundError
409ConflictError
422ValidationError
429RateLimitedError

Response bodies

200 — application/json

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "bucketKey": {
      "type": "string"
    },
    "url": {
      "type": "string"
    },
    "mediaType": {
      "type": "string",
      "enum": [
        "image",
        "video",
        "document"
      ]
    },
    "mimeType": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "sizeBytes": {
      "type": "string"
    },
    "width": {
      "anyOf": [
        {
          "anyOf": [
            {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "type": "string",
                  "enum": [
                    "NaN"
                  ]
                },
                {
                  "type": "string",
                  "enum": [
                    "Infinity"
                  ]
                },
                {
                  "type": "string",
                  "enum": [
                    "-Infinity"
                  ]
                }
              ]
            },
            {
              "type": "string",
              "enum": [
                "Infinity",
                "-Infinity",
                "NaN"
              ]
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "height": {
      "anyOf": [
        {
          "anyOf": [
            {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "type": "string",
                  "enum": [
                    "NaN"
                  ]
                },
                {
                  "type": "string",
                  "enum": [
                    "Infinity"
                  ]
                },
                {
                  "type": "string",
                  "enum": [
                    "-Infinity"
                  ]
                }
              ]
            },
            {
              "type": "string",
              "enum": [
                "Infinity",
                "-Infinity",
                "NaN"
              ]
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "durationSeconds": {
      "anyOf": [
        {
          "anyOf": [
            {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "type": "string",
                  "enum": [
                    "NaN"
                  ]
                },
                {
                  "type": "string",
                  "enum": [
                    "Infinity"
                  ]
                },
                {
                  "type": "string",
                  "enum": [
                    "-Infinity"
                  ]
                }
              ]
            },
            {
              "type": "string",
              "enum": [
                "Infinity",
                "-Infinity",
                "NaN"
              ]
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "thumbnails": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "altText": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "status": {
      "type": "string",
      "enum": [
        "pending",
        "ready",
        "failed"
      ]
    },
    "createdAt": {
      "type": "string"
    }
  },
  "required": [
    "id",
    "bucketKey",
    "url",
    "mediaType",
    "mimeType",
    "sizeBytes",
    "width",
    "height",
    "durationSeconds",
    "thumbnails",
    "altText",
    "status",
    "createdAt"
  ],
  "additionalProperties": false
}

401 — application/json

{
  "$ref": "#/components/schemas/UnauthorizedError"
}

402 — application/json

{
  "$ref": "#/components/schemas/QuotaExceededError"
}

403 — application/json

{
  "$ref": "#/components/schemas/ForbiddenError"
}

404 — application/json

{
  "$ref": "#/components/schemas/NotFoundError"
}

409 — application/json

{
  "$ref": "#/components/schemas/ConflictError"
}

422 — application/json

{
  "$ref": "#/components/schemas/ValidationError"
}

429 — application/json

{
  "$ref": "#/components/schemas/RateLimitedError"
}

media.remove

DELETE/v1/workspaces/{workspaceId}/media/{id}

Parameters

NameInRequiredType
workspaceIdpathyesstring
idpathyesstring

Request body

No request body.

Responses

StatusMeaning
200Success
401UnauthorizedError
402QuotaExceededError
403ForbiddenError
404NotFoundError
409ConflictError
422ValidationError
429RateLimitedError

Response bodies

200 — application/json

{
  "type": "object",
  "properties": {
    "deleted": {
      "type": "boolean"
    }
  },
  "required": [
    "deleted"
  ],
  "additionalProperties": false
}

401 — application/json

{
  "$ref": "#/components/schemas/UnauthorizedError"
}

402 — application/json

{
  "$ref": "#/components/schemas/QuotaExceededError"
}

403 — application/json

{
  "$ref": "#/components/schemas/ForbiddenError"
}

404 — application/json

{
  "$ref": "#/components/schemas/NotFoundError"
}

409 — application/json

{
  "$ref": "#/components/schemas/ConflictError"
}

422 — application/json

{
  "$ref": "#/components/schemas/ValidationError"
}

429 — application/json

{
  "$ref": "#/components/schemas/RateLimitedError"
}

media.uploads

POST/v1/workspaces/{workspaceId}/media/uploads

Parameters

NameInRequiredType
workspaceIdpathyesstring

Request body

Required.

application/json

{
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "filename": {
        "type": "string"
      },
      "contentType": {
        "type": "string"
      },
      "width": {
        "anyOf": [
          {
            "anyOf": [
              {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "enum": [
                      "NaN"
                    ]
                  },
                  {
                    "type": "string",
                    "enum": [
                      "Infinity"
                    ]
                  },
                  {
                    "type": "string",
                    "enum": [
                      "-Infinity"
                    ]
                  }
                ]
              },
              {
                "type": "string",
                "enum": [
                  "Infinity",
                  "-Infinity",
                  "NaN"
                ]
              }
            ]
          },
          {
            "type": "null"
          }
        ]
      },
      "height": {
        "anyOf": [
          {
            "anyOf": [
              {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "enum": [
                      "NaN"
                    ]
                  },
                  {
                    "type": "string",
                    "enum": [
                      "Infinity"
                    ]
                  },
                  {
                    "type": "string",
                    "enum": [
                      "-Infinity"
                    ]
                  }
                ]
              },
              {
                "type": "string",
                "enum": [
                  "Infinity",
                  "-Infinity",
                  "NaN"
                ]
              }
            ]
          },
          {
            "type": "null"
          }
        ]
      },
      "durationSeconds": {
        "anyOf": [
          {
            "anyOf": [
              {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "enum": [
                      "NaN"
                    ]
                  },
                  {
                    "type": "string",
                    "enum": [
                      "Infinity"
                    ]
                  },
                  {
                    "type": "string",
                    "enum": [
                      "-Infinity"
                    ]
                  }
                ]
              },
              {
                "type": "string",
                "enum": [
                  "Infinity",
                  "-Infinity",
                  "NaN"
                ]
              }
            ]
          },
          {
            "type": "null"
          }
        ]
      },
      "thumbnails": {
        "anyOf": [
          {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          {
            "type": "null"
          }
        ]
      },
      "altText": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "null"
          }
        ]
      }
    },
    "required": [
      "filename",
      "contentType"
    ],
    "additionalProperties": false
  }
}

Responses

StatusMeaning
200Success
401UnauthorizedError
402QuotaExceededError
403ForbiddenError
404NotFoundError
409ConflictError
422ValidationError
429RateLimitedError

Response bodies

200 — application/json

{
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "mediaId": {
        "type": "string"
      },
      "bucketKey": {
        "type": "string"
      },
      "uploadUrl": {
        "type": "string"
      }
    },
    "required": [
      "mediaId",
      "bucketKey",
      "uploadUrl"
    ],
    "additionalProperties": false
  }
}

401 — application/json

{
  "$ref": "#/components/schemas/UnauthorizedError"
}

402 — application/json

{
  "$ref": "#/components/schemas/QuotaExceededError"
}

403 — application/json

{
  "$ref": "#/components/schemas/ForbiddenError"
}

404 — application/json

{
  "$ref": "#/components/schemas/NotFoundError"
}

409 — application/json

{
  "$ref": "#/components/schemas/ConflictError"
}

422 — application/json

{
  "$ref": "#/components/schemas/ValidationError"
}

429 — application/json

{
  "$ref": "#/components/schemas/RateLimitedError"
}

media.import

POST/v1/workspaces/{workspaceId}/media/imports

Parameters

NameInRequiredType
workspaceIdpathyesstring

Request body

Required.

application/json

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string"
    },
    "filename": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "altText": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "idempotencyKey": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "url"
  ],
  "additionalProperties": false
}

Responses

StatusMeaning
200Success
401UnauthorizedError
402QuotaExceededError
403ForbiddenError
404NotFoundError
409ConflictError
422ValidationError
429RateLimitedError

Response bodies

200 — application/json

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "bucketKey": {
      "type": "string"
    },
    "url": {
      "type": "string"
    },
    "mediaType": {
      "type": "string",
      "enum": [
        "image",
        "video",
        "document"
      ]
    },
    "mimeType": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "sizeBytes": {
      "type": "string"
    },
    "width": {
      "anyOf": [
        {
          "anyOf": [
            {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "type": "string",
                  "enum": [
                    "NaN"
                  ]
                },
                {
                  "type": "string",
                  "enum": [
                    "Infinity"
                  ]
                },
                {
                  "type": "string",
                  "enum": [
                    "-Infinity"
                  ]
                }
              ]
            },
            {
              "type": "string",
              "enum": [
                "Infinity",
                "-Infinity",
                "NaN"
              ]
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "height": {
      "anyOf": [
        {
          "anyOf": [
            {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "type": "string",
                  "enum": [
                    "NaN"
                  ]
                },
                {
                  "type": "string",
                  "enum": [
                    "Infinity"
                  ]
                },
                {
                  "type": "string",
                  "enum": [
                    "-Infinity"
                  ]
                }
              ]
            },
            {
              "type": "string",
              "enum": [
                "Infinity",
                "-Infinity",
                "NaN"
              ]
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "durationSeconds": {
      "anyOf": [
        {
          "anyOf": [
            {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "type": "string",
                  "enum": [
                    "NaN"
                  ]
                },
                {
                  "type": "string",
                  "enum": [
                    "Infinity"
                  ]
                },
                {
                  "type": "string",
                  "enum": [
                    "-Infinity"
                  ]
                }
              ]
            },
            {
              "type": "string",
              "enum": [
                "Infinity",
                "-Infinity",
                "NaN"
              ]
            }
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "thumbnails": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "altText": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "status": {
      "type": "string",
      "enum": [
        "pending",
        "ready",
        "failed"
      ]
    },
    "createdAt": {
      "type": "string"
    }
  },
  "required": [
    "id",
    "bucketKey",
    "url",
    "mediaType",
    "mimeType",
    "sizeBytes",
    "width",
    "height",
    "durationSeconds",
    "thumbnails",
    "altText",
    "status",
    "createdAt"
  ],
  "additionalProperties": false
}

401 — application/json

{
  "$ref": "#/components/schemas/UnauthorizedError"
}

402 — application/json

{
  "$ref": "#/components/schemas/QuotaExceededError"
}

403 — application/json

{
  "$ref": "#/components/schemas/ForbiddenError"
}

404 — application/json

{
  "$ref": "#/components/schemas/NotFoundError"
}

409 — application/json

{
  "$ref": "#/components/schemas/ConflictError"
}

422 — application/json

{
  "$ref": "#/components/schemas/ValidationError"
}

429 — application/json

{
  "$ref": "#/components/schemas/RateLimitedError"
}

media.complete

POST/v1/workspaces/{workspaceId}/media/complete

Parameters

NameInRequiredType
workspaceIdpathyesstring

Request body

Required.

application/json

{
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "mediaId": {
        "type": "string"
      }
    },
    "required": [
      "mediaId"
    ],
    "additionalProperties": false
  }
}

Responses

StatusMeaning
200Success
401UnauthorizedError
402QuotaExceededError
403ForbiddenError
404NotFoundError
409ConflictError
422ValidationError
429RateLimitedError

Response bodies

200 — application/json

{
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "id": {
        "type": "string"
      },
      "bucketKey": {
        "type": "string"
      },
      "url": {
        "type": "string"
      },
      "mediaType": {
        "type": "string",
        "enum": [
          "image",
          "video",
          "document"
        ]
      },
      "mimeType": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "null"
          }
        ]
      },
      "sizeBytes": {
        "type": "string"
      },
      "width": {
        "anyOf": [
          {
            "anyOf": [
              {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "enum": [
                      "NaN"
                    ]
                  },
                  {
                    "type": "string",
                    "enum": [
                      "Infinity"
                    ]
                  },
                  {
                    "type": "string",
                    "enum": [
                      "-Infinity"
                    ]
                  }
                ]
              },
              {
                "type": "string",
                "enum": [
                  "Infinity",
                  "-Infinity",
                  "NaN"
                ]
              }
            ]
          },
          {
            "type": "null"
          }
        ]
      },
      "height": {
        "anyOf": [
          {
            "anyOf": [
              {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "enum": [
                      "NaN"
                    ]
                  },
                  {
                    "type": "string",
                    "enum": [
                      "Infinity"
                    ]
                  },
                  {
                    "type": "string",
                    "enum": [
                      "-Infinity"
                    ]
                  }
                ]
              },
              {
                "type": "string",
                "enum": [
                  "Infinity",
                  "-Infinity",
                  "NaN"
                ]
              }
            ]
          },
          {
            "type": "null"
          }
        ]
      },
      "durationSeconds": {
        "anyOf": [
          {
            "anyOf": [
              {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "enum": [
                      "NaN"
                    ]
                  },
                  {
                    "type": "string",
                    "enum": [
                      "Infinity"
                    ]
                  },
                  {
                    "type": "string",
                    "enum": [
                      "-Infinity"
                    ]
                  }
                ]
              },
              {
                "type": "string",
                "enum": [
                  "Infinity",
                  "-Infinity",
                  "NaN"
                ]
              }
            ]
          },
          {
            "type": "null"
          }
        ]
      },
      "thumbnails": {
        "type": "array",
        "items": {
          "type": "string"
        }
      },
      "altText": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "null"
          }
        ]
      },
      "status": {
        "type": "string",
        "enum": [
          "pending",
          "ready",
          "failed"
        ]
      },
      "createdAt": {
        "type": "string"
      }
    },
    "required": [
      "id",
      "bucketKey",
      "url",
      "mediaType",
      "mimeType",
      "sizeBytes",
      "width",
      "height",
      "durationSeconds",
      "thumbnails",
      "altText",
      "status",
      "createdAt"
    ],
    "additionalProperties": false
  }
}

401 — application/json

{
  "$ref": "#/components/schemas/UnauthorizedError"
}

402 — application/json

{
  "$ref": "#/components/schemas/QuotaExceededError"
}

403 — application/json

{
  "$ref": "#/components/schemas/ForbiddenError"
}

404 — application/json

{
  "$ref": "#/components/schemas/NotFoundError"
}

409 — application/json

{
  "$ref": "#/components/schemas/ConflictError"
}

422 — application/json

{
  "$ref": "#/components/schemas/ValidationError"
}

429 — application/json

{
  "$ref": "#/components/schemas/RateLimitedError"
}

On this page

media.listParametersRequest bodyResponsesResponse bodies200 — application/json401 — application/json402 — application/json403 — application/json404 — application/json409 — application/json422 — application/json429 — application/jsonmedia.getParametersRequest bodyResponsesResponse bodies200 — application/json401 — application/json402 — application/json403 — application/json404 — application/json409 — application/json422 — application/json429 — application/jsonmedia.removeParametersRequest bodyResponsesResponse bodies200 — application/json401 — application/json402 — application/json403 — application/json404 — application/json409 — application/json422 — application/json429 — application/jsonmedia.uploadsParametersRequest bodyapplication/jsonResponsesResponse bodies200 — application/json401 — application/json402 — application/json403 — application/json404 — application/json409 — application/json422 — application/json429 — application/jsonmedia.importParametersRequest bodyapplication/jsonResponsesResponse bodies200 — application/json401 — application/json402 — application/json403 — application/json404 — application/json409 — application/json422 — application/json429 — application/jsonmedia.completeParametersRequest bodyapplication/jsonResponsesResponse bodies200 — application/json401 — application/json402 — application/json403 — application/json404 — application/json409 — application/json422 — application/json429 — application/json