Build clean sharing & grounded context into your product.
The Parrot API creates team-owned Parrots and private AI contexts.
Stable v1 API host for team-owned platform resources.
API keys and created resources belong to the team. User IDs are kept for audit trails.
auth and scopes
API keys stay on the server.
Authenticate server requests with `Authorization: Bearer pk_live...`. Do not ship team API keys to browsers.
rest api
Endpoints built around team ownership.
Every platform resource is scoped to the API key team. User IDs are audit fields for who created, changed, or deleted a resource.
/parrots
Create a clean public Parrot link.
parrots:create
/parrots/:id
Fetch Parrot metadata and share URL by ID.
parrots:read
/parrots/:id
Soft-delete a Parrot.
parrots:delete
/contexts
Create a private AI context.
contexts:create
/contexts/:id
Fetch context metadata.
contexts:read
/contexts/:id/sources
Attach source material to a context.
contexts:sources:write
contexts
Create knowledge, then attach sources.
Contexts are private by default. Add sources as text, note, or code.
create context
curl https://api.parrot.wiki/v1/contexts \
-H "Authorization: Bearer $PARROT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "Revive.Photos Support",
"description": "Product docs and support answers for the Revive.Photos team.",
"visibility": "private"
}'add context source
curl https://api.parrot.wiki/v1/contexts/ctx_7nYB4a9A/sources \
-H "Authorization: Bearer $PARROT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"type": "note",
"title": "Product summary",
"content": "Revive.Photos repairs damaged photos, restores color, and improves old family images."
}'rest create parrot
curl https://api.parrot.wiki/v1/parrots \
-H "Authorization: Bearer $PARROT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"type": "code",
"language": "typescript",
"title": "Stripe webhook replay",
"description": "A clean replay helper for test events.",
"content": "export async function replayWebhook(eventId: string) { return eventId; }",
"visibility": "public"
}'errors and limits
Predictable failures.
Error responses use a stable `error` object with a machine-readable code and a public message.
400
bad_request
The request body failed validation.
401
invalid_api_key
The API key is missing, invalid, or expired.
403
insufficient_scope
The API key does not include the required scope.
404
not_found
The resource does not exist in the API key team.
429
rate_limited
The route limit was exceeded. Respect the Retry-After header.
Create a team API key and ship your first Parrot.
Use server-side API keys for Parrots and context resources.