---
updatedAt: 2026-07-27T05:02:23.000Z
agentTools:
  projectIndex: https://developers.vygo.app/llms.txt
---

# Chats

This request allows you to retrieve chat data from the Vygo platform.

# OpenAPI definition

```json
{
  "openapi": "3.0.0",
  "info": {
    "title": "Vygo API",
    "description": "\nFor authentication, pass your API key via the \"x-api-key\" header with each request.\n \nYou can create your API keys in the **admin > developer** section of the Vygo platform. All new keys will be created in '***Test Mode***' by default. This will allow you to test your configuration and receive *'prod-like'* responses without triggering the operation. You will need '**Organisation Admin**' level permission to access the developer section of the platform.\n\nThe Vygo API has a rate limit of 100 requests per minute. Duplicate requests will return a 200 or 202 status unless an error occurs. \n\n*Each API endpoint has its own limits on the amount of data that can be posted or retrieved in a single request. Refer to individual endpoint docs for that limit.*\n\nEvery error response uses the shape `{ \"error\": <message>, \"code\": <machine-readable code> }`.\nRate-limit status is returned on each response via the `X-RateLimit-Limit`, `X-RateLimit-Remaining`, and `X-RateLimit-Reset` headers; a 429 also includes `Retry-After`.\n",
    "version": "6.1",
    "contact": {}
  },
  "servers": [
    {
      "url": "https://api.vygoapp.com"
    }
  ],
  "tags": [
    {
      "name": "Chats",
      "description": "Chat related API endpoints"
    }
  ],
  "paths": {
    "/chats": {
      "get": {
        "operationId": "get-chats",
        "tags": [
          "Chats"
        ],
        "summary": "Chats",
        "description": "This request allows you to retrieve chat data from the Vygo platform.",
        "parameters": [
          {
            "name": "x-api-key",
            "in": "header",
            "description": "You must provide your API key in the header of each request.",
            "required": true,
            "example": "Enter your API key",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "chatId",
            "in": "query",
            "description": "Filter by specific chat ID",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "createdDateStart",
            "in": "query",
            "description": "Filter results by the time the chat was created in ISO 8601 format (inclusive)",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "createdDateEnd",
            "in": "query",
            "description": "Filter results by the time the chat was created in ISO 8601 format (exclusive)",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "updatedDateStart",
            "in": "query",
            "description": "Filter results by the time the chat was last updated in ISO 8601 format (inclusive)",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "updatedDateEnd",
            "in": "query",
            "description": "Filter results by the time the chat was last updated in ISO 8601 format (exclusive)",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Page number for paginated results",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Number of results per page (max 1000)",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 20,
              "maximum": 1000
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "results": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "chat_id": {
                            "type": "string",
                            "description": "Chat identifier"
                          },
                          "last_message_time": {
                            "type": "string",
                            "format": "date-time",
                            "description": "Timestamp of most recent message in ISO 8601 format"
                          },
                          "chat_type": {
                            "type": "string",
                            "description": "Type of chat",
                            "enum": [
                              "user",
                              "event",
                              "program",
                              "program-supporters",
                              "program-group",
                              "community"
                            ]
                          },
                          "created_by": {
                            "type": "string",
                            "description": "User ID of creator"
                          },
                          "created": {
                            "type": "string",
                            "format": "date-time",
                            "description": "Creation timestamp in ISO 8601 format"
                          },
                          "status": {
                            "type": "string",
                            "description": "Chat status",
                            "enum": [
                              "active",
                              "archived"
                            ]
                          },
                          "updated_at": {
                            "type": "string",
                            "format": "date-time",
                            "description": "Last updated timestamp in ISO 8601 format"
                          },
                          "relation_id": {
                            "type": "string",
                            "description": "ID of related program or event (for group chats)"
                          },
                          "name": {
                            "type": "string",
                            "description": "The name of the chat (for group chats)"
                          },
                          "archived_by": {
                            "type": "string",
                            "description": "User ID who archived the chat (for group chats)"
                          }
                        }
                      }
                    },
                    "page": {
                      "type": "integer",
                      "format": "int32",
                      "description": "The current page of the results for this request"
                    },
                    "numResults": {
                      "type": "integer",
                      "format": "int32",
                      "description": "The total number of results across all pages for this request"
                    },
                    "numPages": {
                      "type": "integer",
                      "format": "int32",
                      "description": "The total number of pages of results for this request"
                    },
                    "next": {
                      "type": "string",
                      "description": "The URL path for the next page of results for this request"
                    },
                    "prev": {
                      "type": "string",
                      "description": "The URL path for the previous page of results for this request"
                    }
                  }
                }
              }
            },
            "headers": {
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "description": "Invalid request. A query or body parameter failed validation.",
            "headers": {
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/inline_response_400"
                }
              }
            }
          },
          "401": {
            "description": "API key is missing, invalid, or has been revoked.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/inline_response_401"
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded.",
            "headers": {
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/inline_response_429"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "headers": {
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/inline_response_500"
                }
              }
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "inline_response_401": {
        "type": "object",
        "properties": {
          "error": {
            "type": "string",
            "description": "Human-readable error message.",
            "example": "API key is missing or invalid"
          },
          "code": {
            "type": "string",
            "description": "Machine-readable error code.",
            "enum": [
              "AUTHENTICATION_ERROR"
            ],
            "example": "AUTHENTICATION_ERROR"
          }
        }
      },
      "inline_response_429": {
        "type": "object",
        "properties": {
          "error": {
            "type": "string",
            "description": "Human-readable error message.",
            "example": "Rate limit exceeded"
          },
          "code": {
            "type": "string",
            "description": "Machine-readable error code.",
            "enum": [
              "RATE_LIMIT_EXCEEDED"
            ],
            "example": "RATE_LIMIT_EXCEEDED"
          }
        }
      },
      "inline_response_400": {
        "type": "object",
        "properties": {
          "error": {
            "type": "string",
            "description": "Human-readable error message.",
            "example": "Invalid page parameter"
          },
          "code": {
            "type": "string",
            "description": "Machine-readable error code.",
            "enum": [
              "VALIDATION_ERROR"
            ],
            "example": "VALIDATION_ERROR"
          }
        }
      },
      "inline_response_500": {
        "type": "object",
        "properties": {
          "error": {
            "type": "string",
            "description": "Human-readable error message.",
            "example": "Internal server error"
          },
          "code": {
            "type": "string",
            "description": "Machine-readable error code.",
            "enum": [
              "INTERNAL_ERROR"
            ],
            "example": "INTERNAL_ERROR"
          }
        }
      }
    },
    "headers": {
      "XRateLimitLimit": {
        "description": "Maximum number of requests allowed in the current window.",
        "schema": {
          "type": "integer",
          "format": "int32"
        }
      },
      "XRateLimitRemaining": {
        "description": "Requests remaining in the current window.",
        "schema": {
          "type": "integer",
          "format": "int32"
        }
      },
      "XRateLimitReset": {
        "description": "Unix epoch (seconds) at which the current rate-limit window resets.",
        "schema": {
          "type": "integer",
          "format": "int32"
        }
      },
      "RetryAfter": {
        "description": "Seconds to wait before retrying after a 429.",
        "schema": {
          "type": "integer",
          "format": "int32"
        }
      }
    }
  }
}
```