---
title: Person
description: JSON schema example for a person entity
---
# Person
JSON schema example for a person entity
| $id | person.yml |
| $schema | http://json-schema.org/draft-07/schema# |
## Properties
## Example
```
{
"name": {
"title": "Mr",
"firstName": "Seymour",
"lastName": "Butts"
},
"dateOfBirth": "1980-01-01",
"address": {
"houseNumber": 41,
"street": "Some street",
"city": "Swansea",
"timeAtAddress": {
"years": 1,
"months": 3
}
}
}
```
## Example
```
{
"name": {
"title": "Mr",
"firstName": "Jane",
"lastName": "Smith"
},
"dateOfBirth": "1980-01-01",
"address": {
"houseNumber": 310,
"street": "Any street",
"city": "London"
},
"friends": [
{
"title": "Mr",
"firstName": "Seymour",
"lastName": "Butts"
},
{
"title": "Mrs",
"firstName": "Marge",
"lastName": "Simpson"
}
]
}
```
## name
Defined in ./name.html
| $id |
name.yml |
| Title |
Name |
| Description |
JSON schema example for a name entity |
| Type | Object (of type Name) |
| Required |
Yes |
### Properties
## dateOfBirth
| Title |
Date of birth |
| Description |
The date at which a person was born. |
| Type | String |
| Required |
Yes |
| Format |
date |
| Examples |
1992-10-23 |
## address
| Title |
Address |
| Description |
The address at which a person lives. |
| Type | Object |
| Required |
Yes |
### Properties
### address.houseNumber
| Title |
House Number |
| Description |
The house number at which an address is located. |
| Type | String |
| Required |
Yes |
| Min Length |
1 |
| Max Length |
10 |
### address.street
| Title |
Street |
| Description |
The street in which an address is located. |
| Type | String |
| Required |
Yes |
| Min Length |
1 |
| Max Length |
250 |
### address.city
| Title |
City |
| Description |
The city in which an address is located. |
| Type | String |
| Required |
Yes |
| Min Length |
1 |
| Max Length |
250 |
### address.timeAtAddress
| Title |
Time at address |
| Description |
How long the person has lived at this address. |
| Type | Object |
| Required |
No |
### address.timeAtAddress.years
| Title |
Years |
| Description |
The number of years lived at this address. |
| Type | Number |
| Required |
No |
| Minimum |
1 |
| Maximum |
100 |
### address.timeAtAddress.months
| Title |
Months |
| Description |
The number of months lived at this address. |
| Type | Integer |
| Required |
No |
| Minimum |
1 |
| Maximum |
12 |
## friends
Defined in ./name.html
| Title |
Friends |
| Description |
An array containing the names of a person's friends. |
| Type | Array [Name] |
| Required |
No |
## Schema
```
{
"$id": "person.yml",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Person",
"description": "JSON schema example for a person entity",
"type": "object",
"examples": [
{
"name": {
"title": "Mr",
"firstName": "Seymour",
"lastName": "Butts"
},
"dateOfBirth": "1980-01-01",
"address": {
"houseNumber": 41,
"street": "Some street",
"city": "Swansea",
"timeAtAddress": {
"years": 1,
"months": 3
}
}
},
{
"name": {
"title": "Mr",
"firstName": "Jane",
"lastName": "Smith"
},
"dateOfBirth": "1980-01-01",
"address": {
"houseNumber": 310,
"street": "Any street",
"city": "London"
},
"friends": [
{
"title": "Mr",
"firstName": "Seymour",
"lastName": "Butts"
},
{
"title": "Mrs",
"firstName": "Marge",
"lastName": "Simpson"
}
]
}
],
"properties": {
"name": {
"$ref": "./name.yml"
},
"dateOfBirth": {
"title": "Date of birth",
"description": "The date at which a person was born.",
"type": "string",
"format": "date",
"examples": [
"1992-10-23"
]
},
"address": {
"title": "Address",
"description": "The address at which a person lives.",
"type": "object",
"properties": {
"houseNumber": {
"title": "House Number",
"description": "The house number at which an address is located.",
"type": "string",
"minLength": 1,
"maxLength": 10
},
"street": {
"title": "Street",
"description": "The street in which an address is located.",
"type": "string",
"minLength": 1,
"maxLength": 250
},
"city": {
"title": "City",
"description": "The city in which an address is located.",
"type": "string",
"minLength": 1,
"maxLength": 250
},
"timeAtAddress": {
"title": "Time at address",
"description": "How long the person has lived at this address.",
"type": "object",
"properties": {
"years": {
"title": "Years",
"description": "The number of years lived at this address.",
"type": "number",
"minimum": 1,
"maximum": 100
},
"months": {
"title": "Months",
"description": "The number of months lived at this address.",
"type": "integer",
"minimum": 1,
"maximum": 12
}
}
}
},
"required": [
"houseNumber",
"street",
"city"
],
"additionalProperties": false
},
"friends": {
"title": "Friends",
"description": "An array containing the names of a person's friends.",
"type": "array",
"items": {
"$ref": "./name.yml"
}
}
},
"additionalProperties": false,
"required": [
"name",
"dateOfBirth",
"address"
]
}
```