OpenAPI Specification

Pets

Gets a paginated list of pets

get
Authorizations
Query parameters
namestringOptional

The name of the pet

Example: Scooby-Doo
petTypestring · enumOptional

The type of the pet

Example: DogPossible values:
pageIndexinteger · int32Optional

Page index, starts from 1

Example: 1
pageSizeinteger · int32Optional

Amount of records per page

Example: 20
sortstringOptional

Field used for sorting

Example: id
orderstringOptional

Order used for sorting (asc or desc)

Example: asc
searchstringOptional

Full-text search clause that can match multiple fields

Example: %foo%
idsstring · uuid[]Optional

Optional list of IDs to filter the records

Responses
200
Success
get
GET /v1/pets HTTP/1.1
Host: 
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "items": [
    {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "createdAt": "2025-07-04T11:16:09.305Z",
      "createdBy": "[email protected]",
      "modifiedAt": "2025-07-04T11:16:09.305Z",
      "modifiedBy": "[email protected]",
      "ownerId": "[email protected]",
      "name": "Scooby-Doo",
      "petType": "Dog"
    }
  ],
  "pageIndex": 1,
  "pageSize": 20,
  "totalPages": 7,
  "totalCount": 123,
  "hasPreviousPage": false,
  "hasNextPage": true
}

Gets a single pet by ID

get
Authorizations
Path parameters
idstring · uuidRequired

Pet ID

Responses
200
Success
get
GET /v1/pets/{id} HTTP/1.1
Host: 
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "createdAt": "2025-07-04T11:16:09.305Z",
  "createdBy": "[email protected]",
  "modifiedAt": "2025-07-04T11:16:09.305Z",
  "modifiedBy": "[email protected]",
  "ownerId": "[email protected]",
  "name": "Scooby-Doo",
  "petType": "Dog"
}

Creates a new pet

post
Authorizations
Body
idstring · uuidOptional

The object's unique identifier

createdAtstring · date-timeRead-onlyOptional

When the object was created

createdBystring | nullableRead-onlyOptional

Who created the object

Example: [email protected]
modifiedAtstring · date-timeRead-onlyOptional

When the object was last modified

modifiedBystring | nullableRead-onlyOptional

Who modified the object last time

Example: [email protected]
ownerIdstring | nullableRead-onlyOptional

The object's owner

Example: [email protected]
namestring · min: 1Required

The name of the pet

Example: Scooby-Doo
petTypestring · min: 1Required

The type of the pet

Example: Dog
Responses
201
Created
post
POST /v1/pets HTTP/1.1
Host: 
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 81

{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "name": "Scooby-Doo",
  "petType": "Dog"
}
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "createdAt": "2025-07-04T11:16:09.305Z",
  "createdBy": "[email protected]",
  "modifiedAt": "2025-07-04T11:16:09.305Z",
  "modifiedBy": "[email protected]",
  "ownerId": "[email protected]",
  "name": "Scooby-Doo",
  "petType": "Dog"
}

Updates an existing pet

put
Authorizations
Path parameters
idstring · uuidRequired

Pet ID

Body
idstring · uuidOptional

The object's unique identifier

createdAtstring · date-timeRead-onlyOptional

When the object was created

createdBystring | nullableRead-onlyOptional

Who created the object

Example: [email protected]
modifiedAtstring · date-timeRead-onlyOptional

When the object was last modified

modifiedBystring | nullableRead-onlyOptional

Who modified the object last time

Example: [email protected]
ownerIdstring | nullableRead-onlyOptional

The object's owner

Example: [email protected]
namestring · min: 1Required

The name of the pet

Example: Scooby-Doo
petTypestring · min: 1Required

The type of the pet

Example: Dog
Responses
200
Success
put
PUT /v1/pets/{id} HTTP/1.1
Host: 
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 81

{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "name": "Scooby-Doo",
  "petType": "Dog"
}
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "createdAt": "2025-07-04T11:16:09.305Z",
  "createdBy": "[email protected]",
  "modifiedAt": "2025-07-04T11:16:09.305Z",
  "modifiedBy": "[email protected]",
  "ownerId": "[email protected]",
  "name": "Scooby-Doo",
  "petType": "Dog"
}

Deletes an existing pet

delete
Authorizations
Path parameters
idstring · uuidRequired

Pet ID

Responses
200
Success
delete
DELETE /v1/pets/{id} HTTP/1.1
Host: 
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "createdAt": "2025-07-04T11:16:09.305Z",
  "createdBy": "[email protected]",
  "modifiedAt": "2025-07-04T11:16:09.305Z",
  "modifiedBy": "[email protected]",
  "ownerId": "[email protected]",
  "name": "Scooby-Doo",
  "petType": "Dog"
}

Vaccines

Gets a paginated list of vaccines

get
Authorizations
Query parameters
namestringOptional

The name of the vaccine

Example: Acme
descriptionstringOptional

The description of the vaccine

Example: %prevents from madness%
petTypestring · enumOptional

The pet type which the vaccine applies to

Example: DogPossible values:
durationMininteger · int32Optional

The minimum duration of the vaccine in days

Example: 30
durationMaxinteger · int32Optional

The maximum duration of the vaccine in days

Example: 90
pageIndexinteger · int32Optional

Page index, starts from 1

Example: 1
pageSizeinteger · int32Optional

Amount of records per page

Example: 20
sortstringOptional

Field used for sorting

Example: id
orderstringOptional

Order used for sorting (asc or desc)

Example: asc
searchstringOptional

Full-text search clause that can match multiple fields

Example: %foo%
idsstring · uuid[]Optional

Optional list of IDs to filter the records

Responses
200
Success
get
GET /v1/vaccines HTTP/1.1
Host: 
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "items": [
    {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "createdAt": "2025-07-04T11:16:09.305Z",
      "createdBy": "[email protected]",
      "modifiedAt": "2025-07-04T11:16:09.305Z",
      "modifiedBy": "[email protected]",
      "name": "Acme",
      "description": "Acme is a vaccine that prevents dogs from walking over water",
      "petType": "Dog",
      "duration": 365
    }
  ],
  "pageIndex": 1,
  "pageSize": 20,
  "totalPages": 7,
  "totalCount": 123,
  "hasPreviousPage": false,
  "hasNextPage": true
}

Gets a single vaccine by ID

get
Authorizations
Path parameters
idstring · uuidRequired

Vaccine ID

Responses
200
Success
get
GET /v1/vaccines/{id} HTTP/1.1
Host: 
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "createdAt": "2025-07-04T11:16:09.305Z",
  "createdBy": "[email protected]",
  "modifiedAt": "2025-07-04T11:16:09.305Z",
  "modifiedBy": "[email protected]",
  "name": "Acme",
  "description": "Acme is a vaccine that prevents dogs from walking over water",
  "petType": "Dog",
  "duration": 365
}

Creates a new vaccine

post
Authorizations
Body
idstring · uuidOptional

The object's unique identifier

createdAtstring · date-timeRead-onlyOptional

When the object was created

createdBystring | nullableRead-onlyOptional

Who created the object

Example: [email protected]
modifiedAtstring · date-timeRead-onlyOptional

When the object was last modified

modifiedBystring | nullableRead-onlyOptional

Who modified the object last time

Example: [email protected]
namestring · min: 1Required

The name of the vaccine

Example: Acme
descriptionstring | nullableOptional

The description of the vaccine

Example: Acme is a vaccine that prevents dogs from walking over water
petTypestring · min: 1Required

The pet type which the vaccine applies to

Example: Dog
durationinteger · int32Required

The duration of the vaccine in days

Example: 365
Responses
201
Created
post
POST /v1/vaccines HTTP/1.1
Host: 
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 167

{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "name": "Acme",
  "description": "Acme is a vaccine that prevents dogs from walking over water",
  "petType": "Dog",
  "duration": 365
}
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "createdAt": "2025-07-04T11:16:09.305Z",
  "createdBy": "[email protected]",
  "modifiedAt": "2025-07-04T11:16:09.305Z",
  "modifiedBy": "[email protected]",
  "name": "Acme",
  "description": "Acme is a vaccine that prevents dogs from walking over water",
  "petType": "Dog",
  "duration": 365
}

Updates an existing vaccine

put
Authorizations
Path parameters
idstring · uuidRequired

Vaccine ID

Body
idstring · uuidOptional

The object's unique identifier

createdAtstring · date-timeRead-onlyOptional

When the object was created

createdBystring | nullableRead-onlyOptional

Who created the object

Example: [email protected]
modifiedAtstring · date-timeRead-onlyOptional

When the object was last modified

modifiedBystring | nullableRead-onlyOptional

Who modified the object last time

Example: [email protected]
namestring · min: 1Required

The name of the vaccine

Example: Acme
descriptionstring | nullableOptional

The description of the vaccine

Example: Acme is a vaccine that prevents dogs from walking over water
petTypestring · min: 1Required

The pet type which the vaccine applies to

Example: Dog
durationinteger · int32Required

The duration of the vaccine in days

Example: 365
Responses
200
Success
put
PUT /v1/vaccines/{id} HTTP/1.1
Host: 
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 167

{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "name": "Acme",
  "description": "Acme is a vaccine that prevents dogs from walking over water",
  "petType": "Dog",
  "duration": 365
}
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "createdAt": "2025-07-04T11:16:09.305Z",
  "createdBy": "[email protected]",
  "modifiedAt": "2025-07-04T11:16:09.305Z",
  "modifiedBy": "[email protected]",
  "name": "Acme",
  "description": "Acme is a vaccine that prevents dogs from walking over water",
  "petType": "Dog",
  "duration": 365
}

Deletes an existing vaccine

delete
Authorizations
Path parameters
idstring · uuidRequired

Vaccine ID

Responses
200
Success
delete
DELETE /v1/vaccines/{id} HTTP/1.1
Host: 
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "createdAt": "2025-07-04T11:16:09.305Z",
  "createdBy": "[email protected]",
  "modifiedAt": "2025-07-04T11:16:09.305Z",
  "modifiedBy": "[email protected]",
  "name": "Acme",
  "description": "Acme is a vaccine that prevents dogs from walking over water",
  "petType": "Dog",
  "duration": 365
}

Pet Vaccination

Gets a paginated list of pet vaccinations

get
Authorizations
Query parameters
petIdstring · uuidOptional

The ID of the pet

vaccineIdstring · uuidOptional

The ID of the vaccine

appliedAtstring · date-timeOptional

Exact match of when the vaccine was applied at

appliedAtMinstring · date-timeOptional

Minimum date of when the vaccine was applied at

appliedAtMaxstring · date-timeOptional

Maximum date of when the vaccine was applied at

pageIndexinteger · int32Optional

Page index, starts from 1

Example: 1
pageSizeinteger · int32Optional

Amount of records per page

Example: 20
sortstringOptional

Field used for sorting

Example: id
orderstringOptional

Order used for sorting (asc or desc)

Example: asc
searchstringOptional

Full-text search clause that can match multiple fields

Example: %foo%
idsstring · uuid[]Optional

Optional list of IDs to filter the records

Responses
200
Success
get
GET /v1/pet-vaccination HTTP/1.1
Host: 
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "items": [
    {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "createdAt": "2025-07-04T11:16:09.305Z",
      "createdBy": "[email protected]",
      "modifiedAt": "2025-07-04T11:16:09.305Z",
      "modifiedBy": "[email protected]",
      "petId": "123e4567-e89b-12d3-a456-426614174000",
      "vaccineId": "123e4567-e89b-12d3-a456-426614174000",
      "appliedAt": "2025-07-04T11:16:09.305Z",
      "pet": {
        "id": "123e4567-e89b-12d3-a456-426614174000",
        "createdAt": "2025-07-04T11:16:09.305Z",
        "createdBy": "[email protected]",
        "modifiedAt": "2025-07-04T11:16:09.305Z",
        "modifiedBy": "[email protected]",
        "ownerId": "[email protected]",
        "name": "Scooby-Doo",
        "petType": "Dog"
      },
      "vaccine": {
        "id": "123e4567-e89b-12d3-a456-426614174000",
        "createdAt": "2025-07-04T11:16:09.305Z",
        "createdBy": "[email protected]",
        "modifiedAt": "2025-07-04T11:16:09.305Z",
        "modifiedBy": "[email protected]",
        "name": "Acme",
        "description": "Acme is a vaccine that prevents dogs from walking over water",
        "petType": "Dog",
        "duration": 365
      }
    }
  ],
  "pageIndex": 1,
  "pageSize": 20,
  "totalPages": 7,
  "totalCount": 123,
  "hasPreviousPage": false,
  "hasNextPage": true
}

Gets a single pet vaccination by ID

get
Authorizations
Path parameters
idstring · uuidRequired

Pet vaccination ID

Responses
200
Success
get
GET /v1/pet-vaccination/{id} HTTP/1.1
Host: 
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "createdAt": "2025-07-04T11:16:09.305Z",
  "createdBy": "[email protected]",
  "modifiedAt": "2025-07-04T11:16:09.305Z",
  "modifiedBy": "[email protected]",
  "petId": "123e4567-e89b-12d3-a456-426614174000",
  "vaccineId": "123e4567-e89b-12d3-a456-426614174000",
  "appliedAt": "2025-07-04T11:16:09.305Z",
  "pet": {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "createdAt": "2025-07-04T11:16:09.305Z",
    "createdBy": "[email protected]",
    "modifiedAt": "2025-07-04T11:16:09.305Z",
    "modifiedBy": "[email protected]",
    "ownerId": "[email protected]",
    "name": "Scooby-Doo",
    "petType": "Dog"
  },
  "vaccine": {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "createdAt": "2025-07-04T11:16:09.305Z",
    "createdBy": "[email protected]",
    "modifiedAt": "2025-07-04T11:16:09.305Z",
    "modifiedBy": "[email protected]",
    "name": "Acme",
    "description": "Acme is a vaccine that prevents dogs from walking over water",
    "petType": "Dog",
    "duration": 365
  }
}

Creates a new pet vaccination

post
Authorizations
Body
idstring · uuidOptional

The object's unique identifier

createdAtstring · date-timeRead-onlyOptional

When the object was created

createdBystring | nullableRead-onlyOptional

Who created the object

Example: [email protected]
modifiedAtstring · date-timeRead-onlyOptional

When the object was last modified

modifiedBystring | nullableRead-onlyOptional

Who modified the object last time

Example: [email protected]
petIdstring · uuidRequired

The ID of the pet

vaccineIdstring · uuidRequired

The ID of the vaccine

appliedAtstring · date-timeRequired

When the vaccine was applied at

Responses
201
Created
post
POST /v1/pet-vaccination HTTP/1.1
Host: 
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 448

{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "petId": "123e4567-e89b-12d3-a456-426614174000",
  "vaccineId": "123e4567-e89b-12d3-a456-426614174000",
  "appliedAt": "2025-07-04T11:16:09.305Z",
  "pet": {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "name": "Scooby-Doo",
    "petType": "Dog"
  },
  "vaccine": {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "name": "Acme",
    "description": "Acme is a vaccine that prevents dogs from walking over water",
    "petType": "Dog",
    "duration": 365
  }
}
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "createdAt": "2025-07-04T11:16:09.305Z",
  "createdBy": "[email protected]",
  "modifiedAt": "2025-07-04T11:16:09.305Z",
  "modifiedBy": "[email protected]",
  "petId": "123e4567-e89b-12d3-a456-426614174000",
  "vaccineId": "123e4567-e89b-12d3-a456-426614174000",
  "appliedAt": "2025-07-04T11:16:09.305Z",
  "pet": {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "createdAt": "2025-07-04T11:16:09.305Z",
    "createdBy": "[email protected]",
    "modifiedAt": "2025-07-04T11:16:09.305Z",
    "modifiedBy": "[email protected]",
    "ownerId": "[email protected]",
    "name": "Scooby-Doo",
    "petType": "Dog"
  },
  "vaccine": {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "createdAt": "2025-07-04T11:16:09.305Z",
    "createdBy": "[email protected]",
    "modifiedAt": "2025-07-04T11:16:09.305Z",
    "modifiedBy": "[email protected]",
    "name": "Acme",
    "description": "Acme is a vaccine that prevents dogs from walking over water",
    "petType": "Dog",
    "duration": 365
  }
}

Updates an existing pet vaccination

put
Authorizations
Path parameters
idstring · uuidRequired

Pet vaccination ID

Body
idstring · uuidOptional

The object's unique identifier

createdAtstring · date-timeRead-onlyOptional

When the object was created

createdBystring | nullableRead-onlyOptional

Who created the object

Example: [email protected]
modifiedAtstring · date-timeRead-onlyOptional

When the object was last modified

modifiedBystring | nullableRead-onlyOptional

Who modified the object last time

Example: [email protected]
petIdstring · uuidRequired

The ID of the pet

vaccineIdstring · uuidRequired

The ID of the vaccine

appliedAtstring · date-timeRequired

When the vaccine was applied at

Responses
200
Success
put
PUT /v1/pet-vaccination/{id} HTTP/1.1
Host: 
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 448

{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "petId": "123e4567-e89b-12d3-a456-426614174000",
  "vaccineId": "123e4567-e89b-12d3-a456-426614174000",
  "appliedAt": "2025-07-04T11:16:09.305Z",
  "pet": {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "name": "Scooby-Doo",
    "petType": "Dog"
  },
  "vaccine": {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "name": "Acme",
    "description": "Acme is a vaccine that prevents dogs from walking over water",
    "petType": "Dog",
    "duration": 365
  }
}
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "createdAt": "2025-07-04T11:16:09.305Z",
  "createdBy": "[email protected]",
  "modifiedAt": "2025-07-04T11:16:09.305Z",
  "modifiedBy": "[email protected]",
  "petId": "123e4567-e89b-12d3-a456-426614174000",
  "vaccineId": "123e4567-e89b-12d3-a456-426614174000",
  "appliedAt": "2025-07-04T11:16:09.305Z",
  "pet": {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "createdAt": "2025-07-04T11:16:09.305Z",
    "createdBy": "[email protected]",
    "modifiedAt": "2025-07-04T11:16:09.305Z",
    "modifiedBy": "[email protected]",
    "ownerId": "[email protected]",
    "name": "Scooby-Doo",
    "petType": "Dog"
  },
  "vaccine": {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "createdAt": "2025-07-04T11:16:09.305Z",
    "createdBy": "[email protected]",
    "modifiedAt": "2025-07-04T11:16:09.305Z",
    "modifiedBy": "[email protected]",
    "name": "Acme",
    "description": "Acme is a vaccine that prevents dogs from walking over water",
    "petType": "Dog",
    "duration": 365
  }
}

Deletes an existing pet vaccination

delete
Authorizations
Path parameters
idstring · uuidRequired

Pet vaccination ID

Responses
200
Success
delete
DELETE /v1/pet-vaccination/{id} HTTP/1.1
Host: 
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "createdAt": "2025-07-04T11:16:09.305Z",
  "createdBy": "[email protected]",
  "modifiedAt": "2025-07-04T11:16:09.305Z",
  "modifiedBy": "[email protected]",
  "petId": "123e4567-e89b-12d3-a456-426614174000",
  "vaccineId": "123e4567-e89b-12d3-a456-426614174000",
  "appliedAt": "2025-07-04T11:16:09.305Z",
  "pet": {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "createdAt": "2025-07-04T11:16:09.305Z",
    "createdBy": "[email protected]",
    "modifiedAt": "2025-07-04T11:16:09.305Z",
    "modifiedBy": "[email protected]",
    "ownerId": "[email protected]",
    "name": "Scooby-Doo",
    "petType": "Dog"
  },
  "vaccine": {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "createdAt": "2025-07-04T11:16:09.305Z",
    "createdBy": "[email protected]",
    "modifiedAt": "2025-07-04T11:16:09.305Z",
    "modifiedBy": "[email protected]",
    "name": "Acme",
    "description": "Acme is a vaccine that prevents dogs from walking over water",
    "petType": "Dog",
    "duration": 365
  }
}

Last updated