API

    Mock Server

    Use this URL to access a mockup of the API server. Your traffic will be recorded and compared to the documentation. You'll find your traffic analysis in the inspector or directly here in the documentation, right next to each resource.

Marauders Map

An API to access resources in our Harry Potter database

Characters Collection

List all Characters

GET

/api/characters

Response

200 (OK)
Content-Type: application/json
[{
    "id": 1, 
    "name": "Albus Dumbledore", 
    "wand": "15 inch elder wood with thestral hair",
    "description": "Albus Dumbledore is considered one of the greatest headmaster of Hogwarts School of Witchcraft and Wizardry and the most powerful wizard of his time. Dumbledore holds the Order of Merlin, First Class, for Grand Sorcery. He was the headmaster while Harry Potter attended school and also a professor while Tom Riddle, who would later become Voldemort, attended school. Dumbledore founded the Order of the Phoenix, a resistance against the reign of the dark wizard Voldemort, and he was the only wizard of which Voldemort was afraid.",
    "magical": true,
    "quote": "It does not do to dwell on dreams and forget to live. Remember that.",
    "quote_by": "Albus Dumbledore"
}, {
    "id": 2, 
    "name": "Hermione Granger", 
    "wand": "12 & 3/4' walnut dragon heartstring",
    "description": "A wizard girl",
    "magical": true,
    "quotes": null,
    "quote_by": null
}]

Character

A single Character object with all its details

Retrieve a Character

GET

/api/characters/{id}

Parameters
Name Description Details
id

Numeric id of the Character to perform action with.

number, required
example: 1

Response

200 (OK)
Content-Type: application/json
Content-type: UTF-8
{
    "id": 1, 
    "name": "Albus Dumbledore", 
    "wand": "15 inch elder wood with thestral hair",
    "description": "Albus Dumbledore is considered one of the greatest headmaster of Hogwarts School of Witchcraft and Wizardry and the most powerful wizard of his time. Dumbledore holds the Order of Merlin, First Class, for Grand Sorcery. He was the headmaster while Harry Potter attended school and also a professor while Tom Riddle, who would later become Voldemort, attended school. Dumbledore founded the Order of the Phoenix, a resistance against the reign of the dark wizard Voldemort, and he was the only wizard of which Voldemort was afraid.",
    "magical": true,
    "quote": "It does not do to dwell on dreams and forget to live. Remember that.",
    "quote_by": "Albus Dumbledore"
}

Response

404 (Not Found)
Content-type: application/json
{"error": "Sorry. That item doesn't exist."}

Schools Collection

List all Schools

GET

/api/schools

Response

200 (OK)
Content-Type: application/json
[{
    "id": 1,
    "name": "Hogwarts",
    "description": "Land of Harry",
    "country": "United Kingdom",
    "kind": null
}, {
    "id": 2,
    "name": "Beauxbatons Academy of Magic",
    "description": "Fleur Delacour Foreveurmour!",
    "country": "France",
    "kind": "Wonderful"
}]

School

A single School object with all its details

Retrieve a School

GET

/api/schools/{id}

Parameters
Name Description Details
id

Numeric id of the School to perform action with.

number, required
example: 1

Response

200 (OK)
Content-Type: application/json
Content-type: UTF-8
{
    "id": 1,
    "name": "Hogwarts",
    "description": "Land of Harry",
    "country": "United Kingdom",
    "kind": null
}

Response

404 (Not Found)
Content-type: application/json
{"error": "Sorry. That item doesn't exist."}

Stories Collection

List all Stories

GET

/api/stories

Response

200 (OK)
Content-Type: application/json
[{
    "id": 1,
    "name": "Deathly Hallows",
    "description": "Harry Potter was born on July 31st, 1980, to Lily and James Potter. His parents were members of the Order of the Phoenix, an organization dedicated to bringing about the ruin of Lord Voldemort. From birth, he lived in hiding with his parents after Voldemort marked him, and Neville Longbottom, for death. Neville was born just a few hours before Harry Potter. Voldemort feared the boys because of The Prophecy.",
    "date": null,
    "kind": "Legend",
    "characters": [3, 1, 21],
    "artifacts": [1, 3, 6],
    "quote": null,
    "quote_by": null
}, {
    "id": 1,
    "name": "The Boy Who Lived",
    "description": "Harry Potter was born on July 31st, 1980, to Lily and James Potter. His parents were members of the Order of the Phoenix, an organization dedicated to bringing about the ruin of Lord Voldemort. From birth, he lived in hiding with his parents after Voldemort marked him, and Neville Longbottom, for death. Neville was born just a few hours before Harry Potter. Voldemort feared the boys because of The Prophecy.",
    "date": "1980-10-31",
    "kind": "History",
    "characters": [3, 1, 21],
    "artifacts": [1],
    "quote": null,
    "quote_by": null
}]

Story

A single Story object with all its details

Retrieve a Story

GET

/api/stories/{id}

Parameters
Name Description Details
id

Numeric id of the Story to perform action with.

number, required
example: 1

Response

200 (OK)
Content-Type: application/json
Content-type: UTF-8
{
    "id": 1,
    "name": "Deathly Hallows",
    "description": "Harry Potter was born on July 31st, 1980, to Lily and James Potter. His parents were members of the Order of the Phoenix, an organization dedicated to bringing about the ruin of Lord Voldemort. From birth, he lived in hiding with his parents after Voldemort marked him, and Neville Longbottom, for death. Neville was born just a few hours before Harry Potter. Voldemort feared the boys because of The Prophecy.",
    "date": null,
    "kind": "Legend",
    "characters": [3, 1, 21],
    "artifacts": [1, 3, 6],
    "quote": null,
    "quote_by": null
}

Response

404 (Not Found)
Content-type: application/json
{"error": "Sorry. That item doesn't exist."}

Artifacts Collection

List all Artifacts

GET

/api/artifacts

Response

200 (OK)
Content-Type: application/json
[{
    "id": 1,
    "name": "Pensieve",
    "description": "The Pensieve is an object used to review memories. It has the appearance of a shallow stone basin, into which are carved runes and strange symbols. It is filled with a silvery substance that appears to be a cloud-like liquid/gas; the collected memories of people who have siphoned their recollections into it. Memories can then be viewed from a non-participant, third-person point of view.",
    "owners": [1, 5]
    "stories": null,
    "kind": null,
    "shop": null
}, {
    "id": 2,
    "name": "Elder Wand",
    "description": "The Elder Wand is one of the fabled Deathly Hallows. In the "Tale of the Three Brothers" it was the first Hallow created, bestowed on Antioch Peverell, supposedly by Death himself after the wizard requested, as his bounty, the most powerful wand in the history of wizardkind. According to legend, whoever reunited it with the other two Hallows, the Resurrection Stone and the Cloak of Invisibility, would become the Master of Death.",
    "owners": [6],
    "stories": [1, 4],
    "kind": "Deathly Hallows",
    "shop": null
}]

Artifact

A single Artifact object with all its details

Retrieve a Artifact

GET

/api/artifacts/{id}

Parameters
Name Description Details
id

Numeric id of the Artifact to perform action with.

number, required
example: 1

Response

200 (OK)
Content-Type: application/json
Content-type: UTF-8
{
    "id": 1,
    "name": "Pensieve",
    "description": "The Pensieve is an object used to review memories. It has the appearance of a shallow stone basin, into which are carved runes and strange symbols. It is filled with a silvery substance that appears to be a cloud-like liquid/gas; the collected memories of people who have siphoned their recollections into it. Memories can then be viewed from a non-participant, third-person point of view.",
    "owners": [1, 5]
    "stories": null,
    "kind": null,
    "shop": null
}

Response

404 (Not Found)
Content-type: application/json
{"error": "Sorry. That item doesn't exist."}

Potions Collection

List all Potions

GET

/api/potions

Response

200 (OK)
Content-Type: application/json
[{
    "id": 1,
    "title": "Veritaserum",
    "difficulty": "A",
    "physical_description": "No color and no odor.",
    "effects": "The drinker is forced to answer any question with whatever they believe is the truth.",
    "recipe": "It must be brewed for 28 days, or one lunar phase.",
    "notable_uses": "Veritaserum was used When Dumbledore found out that Barty Crouch Jr. was disguised as Alastor Moody, the Defence Against the Dark Arts teacher."
}, {
    "id": 2,
    "title": "Felix Felices",
    "difficulty": "A",
    "physical_description": "Its color is molten gold. When inside a cauldron, drops of the liquid will leap above the surface",
    "effects": "Increases the luck of the drinker. Overdose can induce giddiness and recklessness. Large quantities can be toxic.",
    "recipe": "Add to the cauldron an Ashwinder egg and horseradish before heating. Then add a juiced squill bulb and stir. Add chopped Murtlap tentacle to mixture and heat again. Then add a dash of tincture of thyme before stirring slowly. Add ground Occamy eggshell. Stir slowly and heat again. Sprinkle powdered common rue over the mixture before stirring and heating again. Then make a figure-eight motion over the cauldron with the wand and say the incantation, Felixempra!. Needs to be brewed for six months.",
    "notable_uses": "Hermoine, Ginny and Ron used Felix Felices to evade the curses of Death Eaters. Horace Slughorn used this potion at 24 and 57 years old. It gave him one perfect day each time. Professor Slughorn awarded Harry enough potion for 12 hours of luck for producing the most effective Draught of Living Death potion of anyone in his class."

}]

Potion

A single Potion object with all its details

Retrieve a Potion

GET

/api/potions/{id}

Parameters
Name Description Details
id

Numeric id of the Potion to perform action with.

number, required
example: 1

Response

200 (OK)
Content-Type: application/json
Content-type: UTF-8
{
    "id": 1,
    "title": "Veritaserum",
    "difficulty": "A",
    "physical_description": "No color and no odor.",
    "effects": "The drinker is forced to answer any question with whatever they believe is the truth.",
    "recipe": "It must be brewed for 28 days, or one lunar phase.",
    "notable_uses": "Veritaserum was used When Dumbledore found out that Barty Crouch Jr. was disguised as Alastor Moody, the Defence Against the Dark Arts teacher."
}

Response

404 (Not Found)
Content-type: application/json
{"error": "Sorry. That item doesn't exist."}

Spells Collection

List all Spells

GET

/api/spells

Response

200 (OK)
Content-Type: application/json
[{
    "id": 1,
    "incantation": "Expecto Patronum",
    "alias": "Patronus Charm",
    "effect": "Conjures a silver guardian spirit made of pure positive energy used to repel dark creatures such as Dementors and Lethifolds and can be either corporeal or not. In a weaker form, a Patronus takes the form of smoke or vapor which can halt dark creatures but is not nearly strong enough to repel them. In its stronger form, a Patronus takes the form of some creature (corporeal form) that relates to the casters' personality and is by far more powerful than the non-corporeal form and able to repel dark creatures in large groups.",
    "creator": "Ancient Wizard",
    "difficulty": "Extremely Difficult",
    "kind": "Defensive",
    "unforgivable": false,
    "notable_uses": "Harry Potter to repel a huge number of dementors",
    "creature": 4
}, {
    "id": 2,
    "incantation": "Riddikulus",
    "alias": "Riddikulus Charm",
    "effect": "Causes a boggart to assume a form that is hilarious to the caster.",
    "creator": "Unknown",
    "difficulty": "Moderate",
    "kind": "Charm",
    "unforgivable": false,
    "notable_uses": "Remus Lupin teaches this to his third year class.",
    "creature": 6
}]

Spell

A single Spell object with all its details

Retrieve a Spell

GET

/api/spells/{id}

Parameters
Name Description Details
id

Numeric id of the Spell to perform action with.

number, required
example: 1

Response

200 (OK)
Content-Type: application/json
Content-type: UTF-8
{  
    "id": 1,
    "incantation": "Expecto Patronum",
    "alias": "Patronus Charm",
    "effect": "Conjures a silver guardian spirit made of pure positive energy used to repel dark creatures such as Dementors and Lethifolds and can be either corporeal or not. In a weaker form, a Patronus takes the form of smoke or vapor which can halt dark creatures but is not nearly strong enough to repel them. In its stronger form, a Patronus takes the form of some creature (corporeal form) that relates to the casters' personality and is by far more powerful than the non-corporeal form and able to repel dark creatures in large groups.",
    "creator": "Ancient Wizard",
    "difficulty": "Extremely Difficult",
    "kind": "Defensive",
    "unforgivable": false,
    "notable_uses": "Harry Potter to repel a huge number of dementors",
    "creature": 4
}

Response

404 (Not Found)
Content-type: application/json
{"error": "Sorry. That item doesn't exist."}

Shops Collection

List all Shops

GET

/api/shops

Response

200 (OK)
Content-Type: application/json
[{
    "id": 1,
    "name": "Weasley's Wizard Wheezes",
    "description": "A joke shop that sells many types of magical gag items and gifts.",
    "owners": null,
    "locations": [15, 16, 17]
}, {
    "id": 2,
    "name": "Ollivander's Wand Shop",
    "description": "A wand shop where wizards go to typically get their first wand or a replacement should something have happened to the original.",
    "owners": null,
    "locations: [15, 17]
}]

Shop

A single Shop object with all its details

Retrieve a Shop

GET

/api/shops/{id}

Parameters
Name Description Details
id

Numeric id of the Shop to perform action with.

number, required
example: 1

Response

200 (OK)
Content-Type: application/json
Content-type: UTF-8
{
    "id": 1,
    "name": "Weasley's Wizard Wheezes",
    "description": "A joke shop that sells many types of magical gag items and gifts.",
    "owners": null,
    "locations": [15, 16, 17]
}

Response

404 (Not Found)
Content-type: application/json
{"error": "Sorry. That item doesn't exist."}

Creatures Collection

List all Creatures

GET

/api/creatures

Response

200 (OK)
Content-Type: application/json
[{
    "id": 1,
    "name": "Giant",
    "description": "A giant is a very large humanoid which can potentially grow to approximately twenty five feet tall and appear to be a large human. Some may appear as large and hairy humanoids, while others resemble humongous-sized people, and some may even have bestial features (i.e. protuding sharp molars). A powerful and nearly unstoppable race, giants generally aggregate themselves in tribes since their numbers have greatly dwindled in recent centuries. A giant tribe is led by the strongest giant, known as the Gurg.",
    "classification": "Being",
    "rating": 4
}, {
    "id": 2,
    "name": "Acromantula",
    "description": "An Acromantula is a species of giant spider, native to the rainforests of Southeast Asia, particularly Borneo where it inhabits dense jungles. Acromantulas are believed to be a wizard-bred species, designed to guard dwellings or treasure hoards, and were first created before the Ban on Experimental Breeding in 1965. These giant spiders, with a taste for human flesh, were first spotted in 1794.",
    "classification": "Beast",
    "rating": 5
}]

Creature

A single Creature object with all its details

Retrieve a Creature

GET

/api/creatures/{id}

Parameters
Name Description Details
id

Numeric id of the Creature to perform action with.

number, required
example: 1

Response

200 (OK)
Content-Type: application/json
Content-type: UTF-8
{
    "id": 1,
    "name": "Giant",
    "description": "A giant is a very large humanoid which can potentially grow to approximately twenty five feet tall and appear to be a large human. Some may appear as large and hairy humanoids, while others resemble humongous-sized people, and some may even have bestial features (i.e. protuding sharp molars). A powerful and nearly unstoppable race, giants generally aggregate themselves in tribes since their numbers have greatly dwindled in recent centuries. A giant tribe is led by the strongest giant, known as the Gurg.",
    "classification": "Being",
    "rating": 4
}

Response

404 (Not Found)
Content-type: application/json
{"error": "Sorry. That item doesn't exist."}