http/swagger.yaml
swagger: "2.0"
info:
description: "Simple, fast and feature-incomplete REST API for FFXIV"
version: "0.1"
title: "FFXIV API"
contact:
email: "roobre@roobre.es"
license:
name: "AGPLv3"
url: "https://www.gnu.org/licenses/agpl-3.0.html"
host: "ffxivapi.roobre.es"
basePath: "/"
tags:
- name: "character"
description: "Returns FFXIV character data"
schemes:
- "https"
- "http"
paths:
/character/search:
get:
tags:
- "character"
summary: "Search for characters given name and world"
description: ""
operationId: "characterSearch"
produces:
- "application/json"
parameters:
- in: "query"
name: "name"
type: "string"
description: "Character name to look for"
required: true
- in: "query"
name: "world"
type: "string"
description: "World in which to search for character"
required: true
responses:
"200":
description: "successful operation"
schema:
type: "array"
items:
$ref: "#/definitions/CharacterSearchResult"
"400":
description: "Missing name or world parameters"
/character/{id}:
get:
tags:
- "character"
summary: "Get character data"
description: ""
operationId: "getCharacter"
produces:
- "application/json"
parameters:
- in: "path"
name: "id"
type: "integer"
description: "ID of the character to look for. Can be obtained from /character/search"
required: true
- in: "query"
name: "achievements"
type: "boolean"
description: "Whether to also retrieve achievements for character. The request will take longer."
required: false
responses:
"200":
description: "successful operation"
schema:
$ref: "#/definitions/Character"
"404":
description: "Character ID was not found"
/character/{id}/avatar:
get:
tags:
- "character"
summary: "Get character avatar"
description: ""
operationId: "getCharacterAvatar"
produces:
- "text/html"
parameters:
- in: "path"
name: "id"
type: "integer"
description: "ID of the character to look for. Can be obtained from /character/search"
required: true
responses:
"302":
description: "Redirect to the image URL in SquareEnix' servers"
"404":
description: "Character ID was not found"
definitions:
CharacterSearchResult:
type: "object"
properties:
ID:
type: "integer"
format: "int64"
Level:
type: "integer"
format: "int64"
Avatar:
type: "string"
format: "url"
Lang:
type: "string"
Name:
type: "string"
World:
type: "string"
Character:
type: "object"
properties:
ParsedAt:
type: "string"
format: "date-time"
World:
type: "string"
ID:
type: "integer"
format: "int64"
Avatar:
type: "string"
format: "url"
Portrait:
type: "string"
format: "url"
Name:
type: "string"
Nameday:
type: "string"
City:
type: "string"
GC:
$ref: "#/definitions/GC"
FC:
$ref: "#/definitions/FC"
Achievements:
type: "array"
items:
$ref: "#/definitions/Achievement"
ClassJobs:
type: "array"
items:
$ref: "#/definitions/ClassJob"
GC:
type: "object"
properties:
Name:
type: "string"
Rank:
type: "string"
FC:
type: "object"
properties:
ID:
type: "string"
format: "int64"
Name:
type: "string"
Achievement:
type: "object"
properties:
ID:
type: "integer"
Name:
type: "string"
ObtainedAt:
type: "string"
format: "date-time"
ClassJob:
type: "object"
properties:
Name:
type: "string"
Level:
type: "integer"
externalDocs:
description: "Find out more about Swagger"
url: "http://swagger.io"