Skip to main content

Choose what's switched on

Two separate lists matter here. Your plan decides which datasets and features you have access to. Your capabilities decide which analysis endpoints you've chosen to use. We set the first. You control the second.

What your plan includes​

curl -H "x-api-key: YOUR-API-KEY" https://api.thedogapi.com/v1/accounts/features
["full_breed_schema", "enable_health_tips", "exercise_by_lifestage", "clinical_history"]

These are the features enabled on your account. To add one, contact us.

Capabilities​

Body condition, muscle condition, estimated age and estimated weight have to be included in your plan first. We switch those on for you; contact us to add one. Every other capability is included for everyone.

Once a capability is included, it's on unless you switch it off. Switching one off makes its endpoints return 403 for your account, which is useful when a tool is included in your plan but doesn't fit your product, or when several teams share a key.

curl -H "x-api-key: YOUR-API-KEY" https://api.thedogapi.com/v1/accounts/capabilities
[
{
"id": "body_condition",
"name": "Body condition score",
"description": "WSAVA 1-9 body condition from photos, with vet review when the model is not confident.",
"endpoints": [
"POST /pets/{petId}/body-condition-score",
"GET /pets/{petId}/body-condition-score/reviews"
],
"included": true,
"enabled": true,
"updated_at": null
},
{
"id": "portraits",
"name": "Pet portraits",
"description": "Stylised artwork generated from the pet's photos.",
"endpoints": ["POST /pets/{petId}/portrait", "GET /pets/{petId}/portraits"],
"included": true,
"enabled": false,
"updated_at": "2026-09-30T02:00:00.000Z"
}
]

included says whether your account has the capability, and only we can change it. enabled is your own switch. An endpoint works when both are true.

idEndpoints it coversIncluded
body_conditionBody condition score and its vet reviewsWhen we switch it on
muscle_conditionMuscle condition score (beta)When we switch it on
breed_identificationBreed identificationAlways
estimated_ageEstimated ageWhen we switch it on
estimated_weightEstimated weightWhen we switch it on
portraitsPortrait generation and listingAlways
pet_health_tipsHealth tips for a specific petAlways

Switch one off​

curl -X PATCH -H "x-api-key: YOUR-API-KEY" -H "Content-Type: application/json" \
-d '{"enabled": false}' \
https://api.thedogapi.com/v1/accounts/capabilities/portraits

Calls to a switched-off capability get:

{
"statusCode": 403,
"timestamp": "2026-09-30T02:05:11.000Z",
"path": "/v1/pets/Mhq3zCuduT/portrait",
"error": "Forbidden",
"message": "The portraits capability is switched off for this account. Switch it on with PATCH /accounts/capabilities/portraits."
}

A capability that isn't included gets a different 403, naming the feature to ask us for. Switching it on yourself won't help:

{
"statusCode": 403,
"message": "Body condition score is not enabled for this account. Contact us to have the body_condition feature switched on.",
"error": "Forbidden"
}

The response is the updated capability. Send {"enabled": true} to switch it back on. Changes take effect on the next request.

Switching a capability off only ever removes access. It can't give your account anything your plan doesn't include, and results already generated stay on your pets.

Staging and production accounts have separate settings, so switch things off in both.