v2.4.0

Authentication

All API requests require authentication via Bearer token. Obtain your API key from the Paws Source Developer Dashboard.

Authorization: Bearer <YOUR_API_KEY>
Content-Type: application/json
HeaderDescription
AuthorizationBearer token for authentication
X-Client-IDOptional: Your registered client identifier

Pet Management

GET /pets List all pets

Returns a paginated list of pets belonging to the authenticated account. Supports filtering by species, breed, and health status.

ParameterTypeRequiredDescription
limitintegerNoNumber of records (max 100)
offsetintegerNoPagination offset
speciesstringNoFilter by 'dog', 'cat', 'bird', etc.

Response: 200 OK

{
  "data": [
    {
      "id": "pet_8xK2m9Pq4L",
      "name": "Buster",
      "species": "dog",
      "breed": "Golden Retriever",
      "age_months": 36,
      "health_status": "active"
    }
  ],
  "pagination": {
    "total": 12,
    "limit": 20,
    "offset": 0
  }
}

Status Codes

200Success
401Unauthorized
429Rate limited
POST /pets Register a new pet

Creates a new pet profile and associates it with your account. Triggers automatic health baseline setup.

Request Body

{
  "name": "Luna",
  "species": "cat",
  "breed": "Siamese",
  "birth_date": "2021-08-15",
  "gender": "female",
  "weight_kg": 3.8
}

Response: 201 Created

{
  "success": true,
  "pet": {
    "id": "pet_9mN3v7Rq2W",
    "name": "Luna",
    "created_at": "2025-03-14T10:22:00Z"
  }
}

Veterinary Services

POST /vet/consultations Book a consultation

Schedules a video or in-person veterinary consultation. Requires an active pet profile ID.

Body ParameterTypeRequiredDescription
pet_idstringYesRegistered pet ID
typestringYes'video', 'phone', or 'in-person'
preferred_datestringYesISO 8601 date
symptomsstringNoBrief description of concerns

Response: 201 Created

{
  "consultation_id": "vet_5hT8k2Lp9X",
  "status": "confirmed",
  "scheduled_for": "2025-03-18T14:00:00Z",
  "vet_name": "Dr. Sarah Mitchell",
  "join_link": "https://meet.pawssource.com/vet_5hT8k2Lp9X"
}

Orders & Products

GET /orders Retrieve order history

Fetches all placed orders for the authenticated account. Supports filtering by status and date range.

Response: 200 OK

{
  "orders": [
    {
      "order_id": "ord_7jM4p9Qw1Z",
      "status": "delivered",
      "total_cents": 4599,
      "placed_at": "2025-02-10T09:15:00Z",
      "items": [
        { "product": "Premium Grain-Free Dog Food", "qty": 2 }
      ]
    }
  ]
}