Every API here is available over the APIs.io API and to AI agents over MCP.
{
"openapi": "3.0.1",
"info": {
"title": "Zobjects",
"version": "1.0.0",
"description": ""
},
"servers": [
{
"url": "https://api.zype.com/"
}
],
"security": [
{
"api_key": []
}
],
"components": {
"securitySchemes": {
"api_key": {
"type": "apiKey",
"name": "api_key",
"in": "query"
},
"bearerAuth": {
"type": "http",
"scheme": "bearer",
"bearerFormat": "OAuth access token",
"description": "OAuth access token of the consumer"
}
}
},
"paths": {
"/zobject_types": {
"get": {
"summary": "List Zobject Types",
"description": "",
"tags": [
"Zobject Types"
],
"operationId": "listZobjectTypes",
"parameters": [
{
"name": "id",
"$ref": "#/paths/~1zobjects/get/parameters/1"
},
{
"name": "q",
"$ref": "#/paths/~1zobjects/get/parameters/3"
},
{
"name": "response_fields",
"$ref": "#/paths/~1zobjects/get/parameters/4"
},
{
"name": "order",
"$ref": "#/paths/~1zobjects/get/parameters/5"
},
{
"name": "sort",
"$ref": "#/paths/~1zobjects/get/parameters/6"
},
{
"name": "page",
"$ref": "#/paths/~1zobjects/get/parameters/7"
},
{
"name": "per_page",
"$ref": "#/paths/~1zobjects/get/parameters/8"
}
],
"responses": {
"200": {
"description": "Response will contain an array of Zobject Types",
"content": {
"application/json": {
"schema": {
"title": "ZobjectTypesResponse",
"type": "object",
"properties": {
"response": {
"type": "array",
"items": {
"$ref": "#/paths/~1zobject_types/post/responses/201/content/application~1json/schema/properties/response"
},
"description": ""
},
"pagination": {
"$ref": "#/paths/~1zobjects/get/responses/200/content/application~1json/schema/properties/pagination"
}
}
}
}
}
},
"422": {
"description": "Unprocessable entity",
"content": {
"application/json": {
"schema": {
"$ref": "#/paths/~1zobjects/post/responses/422/content/application~1json/schema"
}
}
}
}
}
},
"post": {
"summary": "Create Zobject Type",
"description": "",
"tags": [
"Zobject Types"
],
"operationId": "createZobjectType",
"requestBody": {
"description": "",
"required": true,
"content": {
"application/json": {
"schema": {
"title": "ZobjectTypeRequest",
"type": "object",
"properties": {
"zobject_type": {
"title": "ZobjectTypeProperties",
"type": "object",
"properties": {
"zobject_count": {
"description": "Number of Zobjects created with this Zobject Type",
"type": "string"
},
"description": {
"description": "Description of the Zobject Type",
"type": "string"
},
"title": {
"description": "Title of the Zobject Type (must be unique)",
"example": "Type Title",
"type": "string"
},
"videos_enabled": {
"description": "Indicates whether videos can be associated with instances of the Zobject Type",
"type": "boolean"
},
"playlists_enabled": {
"description": "Indicates whether playlists can be associated with instances of the Zobject Type",
"type": "boolean"
},
"zobject_attributes_attributes": {
"type": "array",
"description": "An indexed collection specifying the custom attributes for the zobject type",
"items": {
"type": "object",
"properties": {
"field_name": {
"type": "string",
"description": "Name of the zobject type custom attribute"
},
"field_type": {
"type": "string",
"description": "Type of the zobject type custom attribute. Example: integer"
},
"description": {
"type": "string"
}
}
}
}
}
}
}
}
}
}
},
"responses": {
"201": {
"description": "",
"content": {
"application/json": {
"schema": {
"title": "ZobjectTypeResponse",
"type": "object",
"properties": {
"response": {
"title": "ZobjectType",
"type": "object",
"properties": {
"_id": {
"type": "string"
},
"created_at": {
"type": "string"
},
"site_id": {
"type": "string"
},
"updated_at": {
"type": "string"
},
"zobject_count": {
"description": "Number of Zobjects created with this Zobject Type",
"type": "string"
},
"description": {
"description": "Description of the Zobject Type",
"type": "string"
},
"title": {
"description": "Title of the Zobject Type (must be unique)",
"example": "Type Title",
"type": "string"
},
"videos_enabled": {
"description": "Indicates whether videos can be associated with instances of the Zobject Type",
"type": "boolean"
},
"playlists_enabled": {
"description": "Indicates whether playlists can be associated with instances of the Zobject Type",
"type": "boolean"
},
"zobject_attributes_attributes": {
"type": "array"
}
}
}
}
}
}
}
},
"422": {
"description": "Unprocessable entity",
"content": {
"application/json": {
"schema": {
"$ref": "#/paths/~1zobjects/post/responses/422/content/application~1json/schema"
}
}
}
}
}
}
},
"/zobject_types/{id}": {
"get": {
"summary": "Retrieve Zobject Type",
"description": "",
"tags": [
"Zobject Types"
],
"operationId": "getZobjectType",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "string"
},
"description": "ID of the record"
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/paths/~1zobject_types/post/responses/201/content/application~1json/schema"
}
}
}
},
"404": {
"description": "Zobject Type not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/paths/~1zobjects~1%7Bid%7D/get/responses/404/content/application~1json/schema"
}
}
}
}
}
},
"put": {
"summary": "Update Zobject Type",
"description": "",
"tags": [
"Zobject Types"
],
"operationId": "updateZobjectType",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "string"
},
"description": "ID of the record"
}
],
"requestBody": {
"description": "",
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/paths/~1zobject_types/post/requestBody/content/application~1json/schema"
}
}
}
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/paths/~1zobject_types/post/responses/201/content/application~1json/schema"
}
}
}
},
"404": {
"description": "Zobject Type not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/paths/~1zobjects~1%7Bid%7D/get/responses/404/content/application~1json/schema"
}
}
}
},
"422": {
"description": "Unprocessable entity",
"content": {
"application/json": {
"schema": {
"$ref": "#/paths/~1zobjects/post/responses/422/content/application~1json/schema"
}
}
}
}
}
},
"delete": {
"summary": "Delete Zobject Type",
"description": "",
"tags": [
"Zobject Types"
],
"operationId": "deleteZobjectType",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "string"
},
"description": "ID of the record"
}
],
"responses": {
"204": {
"description": "ZobjectType was successfully deleted",
"content": {
"application/json": {
"schema": {
"$ref": "#/paths/~1zobject_types/post/responses/201/content/application~1json/schema"
}
}
}
},
"404": {
"description": "Zobject Type not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/paths/~1zobjects~1%7Bid%7D/get/responses/404/content/application~1json/schema"
}
}
}
}
}
}
},
"/zobjects": {
"get": {
"summary": "List Zobjects",
"description": "Retrieve the site Zobjects.\n\nAppart from the fields listed below, you can also filter by custom attributes.\nFormat: `key=value`.\nExample: if you have a custom attribute `psl_id` you can filter by `psl_id=1234`",
"tags": [
"Zobjects"
],
"operationId": "listZobjects",
"parameters": [
{
"name": "zobject_type",
"in": "query",
"required": true,
"schema": {
"type": "string"
},
"description": ""
},
{
"name": "id",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "Filter by ID\nExample: `id=5992f328ce593000ef000008`"
},
{
"name": "friendly_title",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "Filter by friendly title"
},
{
"name": "q",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "Filter by keyword"
},
{
"name": "response_fields",
"in": "query",
"description": "Filter returned fields. Example: response_fields=id,title,description",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "order",
"in": "query",
"required": false,
"schema": {
"type": "string",
"enum": [
"asc",
"desc"
]
},
"description": "Filter by ascending or descending order"
},
{
"name": "sort",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "Sort on the specified field"
},
{
"name": "page",
"in": "query",
"required": false,
"schema": {
"type": "integer"
},
"description": "Page number to return, with per_page dictating page size"
},
{
"name": "per_page",
"in": "query",
"required": false,
"schema": {
"type": "integer"
},
"description": "Number of records to return per page"
}
],
"responses": {
"200": {
"description": "Response will contain an array of Zobjects",
"content": {
"application/json": {
"schema": {
"title": "ZobjectsResponse",
"type": "object",
"properties": {
"response": {
"type": "array",
"items": {
"$ref": "#/paths/~1zobjects/post/responses/201/content/application~1json/schema/properties/response"
},
"description": ""
},
"pagination": {
"title": "Pagination",
"type": "object",
"properties": {
"current": {
"type": "number",
"format": "int32",
"description": "The current page of results"
},
"previous": {
"type": "number",
"format": "int32",
"description": "the previous page of results",
"nullable": true
},
"next": {
"type": "number",
"format": "int32",
"description": "the next page of results",
"nullable": true
},
"per_page": {
"type": "number",
"format": "int32",
"description": "the number of results returned per page"
},
"pages": {
"type": "number",
"format": "int32",
"description": "the total number of pages available, using per_page"
}
},
"example": {
"current": 1,
"previous": null,
"next": 2,
"per_page": 10,
"pages": 20
}
}
}
}
}
}
}
}
},
"post": {
"summary": "Create Zobject",
"description": "",
"tags": [
"Zobjects"
],
"operationId": "createZobject",
"parameters": [
{
"name": "Content-Type",
"in": "header",
"schema": {
"type": "string",
"enum": [
"application/json",
"multipart/form-data"
]
},
"description": "Specify the request content type (Default: application/json)"
}
],
"requestBody": {
"description": "",
"required": true,
"content": {
"application/json": {
"schema": {
"title": "ZobjectRequest",
"type": "object",
"required": [
"zobject_type",
"zobject"
],
"properties": {
"zobject_type": {
"type": "string",
"description": "The type of Zobject"
},
"zobject": {
"type": "object",
"title": "Zobject Properties",
"properties": {
"active": {
"type": "boolean",
"description": "Indicates if the Zobject is active"
},
"custom": {
"type": "string",
"description": "Custom attributes for the zobject (Example: `zobject[custom][color]=blue`)"
},
"description": {
"type": "string"
},
"friendly_title": {
"type": "string",
"description": "The friendly title of the zobject"
},
"keywords": {
"type": "array",
"description": "Keywords for the zobject"
},
"title": {
"type": "string"
},
"pictures_attributes": {
"type": "array",
"description": "An indexed collection specifying the pictures attributes for the zobject",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "ID of the zobject picture. Needed in case of update"
},
"title": {
"type": "string",
"description": "Title of the zobject picture"
},
"caption": {
"type": "string",
"description": "caption of the zobject picture"
},
"attachment": {
"type": "string",
"format": "binary",
"description": "File Attachment of the zobject picture (Only supported in requests with content-type multipart/form-data)"
},
"_destroy": {
"type": "boolean",
"description": "True if you want to remove the picture from the zobject"
}
}
}
}
}
}
}
}
}
}
},
"responses": {
"201": {
"description": "Created",
"content": {
"application/json": {
"schema": {
"title": "ZobjectResponse",
"type": "object",
"properties": {
"response": {
"title": "Zobject",
"type": "object",
"properties": {
"_id": {
"type": "string"
},
"created_at": {
"type": "string"
},
"site_id": {
"type": "string"
},
"updated_at": {
"type": "string"
},
"video_ids": {
"type": "array"
},
"playlist_ids": {
"type": "array"
},
"zobject_type_id": {
"type": "string"
},
"title": {
"type": "string"
},
"description": {
"type": "string"
},
"friendly_title": {
"type": "string"
},
"keywords": {
"type": "array"
},
"active": {
"type": "string"
},
"zobject_type_title": {
"type": "string"
},
"pictures": {
"type": "array",
"description": "An indexed collection specifying the pictures attributes for the zobject",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "ID of the zobject picture. Needed in case of update"
},
"title": {
"type": "string",
"description": "Title of the zobject picture"
},
"caption": {
"type": "string",
"description": "caption of the zobject picture"
},
"url": {
"type": "string",
"description": "URL of the Picture attachment"
},
"content_type": {
"type": "string",
"description": "Picture content type"
},
"updated_at": {
"type": "string",
"description": "Timestamp the image was updated",
"example": "2025-02-04T12:20:30.236-05:00"
}
}
}
}
}
}
}
}
}
}
},
"422": {
"description": "Unprocessable entity",
"content": {
"application/json": {
"schema": {
"title": "Unprocessable Entity",
"type": "object",
"properties": {
"message": {
"type": "string"
}
}
}
}
}
}
}
}
},
"/zobjects/{id}": {
"get": {
"summary": "Retrieve Zobject",
"description": "",
"tags": [
"Zobjects"
],
"operationId": "getZobject",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "string"
},
"description": "ID of the record"
},
{
"name": "zobject_type",
"in": "query",
"required": true,
"schema": {
"type": "string"
},
"description": "The type of zobject (Example: guest)"
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/paths/~1zobjects/post/responses/201/content/application~1json/schema"
}
}
}
},
"404": {
"description": "Zobject not found",
"content": {
"application/json": {
"schema": {
"title": "NotFound",
"type": "object",
"required": [
"message"
],
"properties": {
"message": {
"type": "string"
}
}
}
}
}
}
}
},
"put": {
"summary": "Update Zobject",
"description": "",
"tags": [
"Zobjects"
],
"operationId": "updateZobject",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "string"
},
"description": "ID of the record"
},
{
"name": "Content-Type",
"in": "header",
"schema": {
"type": "string",
"enum": [
"application/json",
"multipart/form-data"
]
},
"description": "Specify the request content type (Default: application/json)"
}
],
"requestBody": {
"description": "",
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/paths/~1zobjects/post/requestBody/content/application~1json/schema"
}
}
}
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/paths/~1zobjects/post/responses/201/content/application~1json/schema"
}
}
}
},
"404": {
"description": "Zobject not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/paths/~1zobjects~1%7Bid%7D/get/responses/404/content/application~1json/schema"
}
}
}
},
"422": {
"description": "Unprocessable entity",
"content": {
"application/json": {
"schema": {
"$ref": "#/paths/~1zobjects/post/responses/422/content/application~1json/schema"
}
}
}
}
}
},
"delete": {
"summary": "Delete Zobject",
"description": "",
"tags": [
"Zobjects"
],
"operationId": "deleteZobject",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "string"
},
"description": "ID of the record"
},
{
"name": "zobject_type",
"in": "query",
"required": true,
"schema": {
"type": "string"
},
"description": "The type of zobject"
}
],
"responses": {
"204": {
"description": "Zobject successfully deleted",
"content": {
"application/json": {
"schema": {
"$ref": "#/paths/~1zobjects/post/responses/201/content/application~1json/schema"
}
}
}
},
"404": {
"description": "Zobject not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/paths/~1zobjects~1%7Bid%7D/get/responses/404/content/application~1json/schema"
}
}
}
}
}
}
},
"/zobjects/{id}/add_videos": {
"put": {
"summary": "Add Video(s)",
"description": "Add videos to a Zobject",
"tags": [
"Zobjects"
],
"operationId": "addVideoZobject",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "string"
},
"description": "ID of the zobject record"
}
],
"requestBody": {
"description": "",
"required": true,
"content": {
"application/json": {
"schema": {
"title": "ZobjectAddVideoRequest",
"type": "object",
"required": [
"zobject_type",
"video_id"
],
"properties": {
"zobject_type": {
"type": "string",
"description": "The type of Zobject"
},
"video_id": {
"type": "array",
"title": "Array of video IDs to add",
"items": {
"type": "string",
"description": "Id for the video"
}
}
}
}
}
}
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/paths/~1zobjects/post/responses/201/content/application~1json/schema"
}
}
}
},
"404": {
"description": "Zobject not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/paths/~1zobjects~1%7Bid%7D/get/responses/404/content/application~1json/schema"
}
}
}
}
}
}
},
"/zobjects/{id}/remove_videos": {
"put": {
"summary": "Remove Video(s)
# --- truncated at 32 KB (55 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/zype/refs/heads/main/openapi/zype-zobjects.json