openapi: 3.1.0
info:
title: Guava Voice Agent REST Conversations Messages API
description: The Guava (formerly Gridspace) REST API lets you manage calls, conversations, SMS messages, and account resources directly over HTTP — no SDK required. Guava is a voice AI platform for regulated industries (healthcare, banking, insurance, BPOs, government). This specification was reconstructed faithfully from Guava's published REST API reference at https://goguava.ai/docs/api-overview; every path, parameter, and response field is documented by the provider.
version: v1
contact:
name: Guava Support
email: hi@goguava.ai
url: https://goguava.ai/docs/api-overview
x-logo:
url: https://goguava.ai
servers:
- url: https://api.goguava.ai/v1
description: Production
security:
- bearerAuth: []
tags:
- name: Messages
description: Send SMS messages and read inbound messages received on your Guava numbers.
paths:
/send-sms:
post:
operationId: sendSms
summary: Send an SMS
description: Send a single SMS from one of your Guava numbers.
tags:
- Messages
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- from_number
- to_number
- message
properties:
from_number:
type: string
description: One of your Guava numbers (E.164). Must have SMS enabled.
to_number:
type: string
description: The recipient's number (E.164).
message:
type: string
description: The message body to send.
responses:
'201':
description: Message accepted for delivery.
content:
application/json:
schema:
type: object
properties:
status:
type: string
example: sent
'400':
description: The from_number isn't owned by your organization, or doesn't have SMS configured.
'401':
description: Invalid authentication.
'500':
description: The upstream carrier failed to accept the message.
/messages:
get:
operationId: listMessages
summary: List inbound messages
description: List the inbound messages received on one of your Guava numbers, oldest first.
tags:
- Messages
parameters:
- name: to_number
in: query
required: true
schema:
type: string
description: The Guava number whose inbox you want to read (E.164). Must be owned by your organization.
- name: start
in: query
required: false
schema:
type: string
format: date-time
description: Only return messages received at or after this time (ISO 8601, inclusive).
- name: from_number
in: query
required: false
schema:
type: string
description: Only return messages sent from this number (E.164).
- name: modality
in: query
required: false
schema:
type: string
enum:
- sms
description: Only return messages on this channel.
- name: limit
in: query
required: false
schema:
type: integer
minimum: 1
maximum: 100
default: 50
description: Maximum number of messages to return.
responses:
'200':
description: A page of inbound messages.
content:
application/json:
schema:
type: object
properties:
messages:
type: array
items:
$ref: '#/components/schemas/Message'
has_more:
type: boolean
'400':
description: Invalid start timestamp or limit value.
'401':
description: Invalid authentication.
'404':
description: The to_number isn't owned by your organization.
components:
schemas:
Message:
type: object
properties:
id:
type: string
from_number:
type: string
to_number:
type: string
content:
type: string
received_at:
type: string
format: date-time
modality:
type: string
enum:
- sms
direction:
type: string
enum:
- inbound
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: 'Include your API key as a bearer token: Authorization: Bearer YOUR_GUAVA_API_KEY. API keys are created on the app.goguava.ai dashboard and are prefixed "gva-".'