mirror of
https://gitlab.com/ric_harvey/MailHog.git
synced 2024-11-27 16:24:04 +00:00
API v2 search and message list documentation for #36
This commit is contained in:
parent
693d6590f2
commit
da1b7ec64a
3 changed files with 453 additions and 0 deletions
8
docs/APIv2.md
Normal file
8
docs/APIv2.md
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
MailHog API v2
|
||||||
|
==============
|
||||||
|
|
||||||
|
The v2 API is hopefully less of a mess than v1.
|
||||||
|
|
||||||
|
The specification is written in [Swagger 2.0](http://swagger.io/).
|
||||||
|
|
||||||
|
See the YAML and JSON specifications in the [APIv2](./APIv2) directory.
|
259
docs/APIv2/swagger-2.0.json
Normal file
259
docs/APIv2/swagger-2.0.json
Normal file
|
@ -0,0 +1,259 @@
|
||||||
|
{
|
||||||
|
"swagger": "2.0",
|
||||||
|
"info": {
|
||||||
|
"version": "2.0.0",
|
||||||
|
"title": "MailHog API"
|
||||||
|
},
|
||||||
|
"paths": {
|
||||||
|
"/api/v2/messages": {
|
||||||
|
"get": {
|
||||||
|
"description": "Retrieve a list of messages\n",
|
||||||
|
"parameters": [
|
||||||
|
{
|
||||||
|
"name": "start",
|
||||||
|
"in": "query",
|
||||||
|
"description": "Start index",
|
||||||
|
"required": false,
|
||||||
|
"type": "number",
|
||||||
|
"format": "int64",
|
||||||
|
"default": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "limit",
|
||||||
|
"in": "query",
|
||||||
|
"description": "Number of messages",
|
||||||
|
"required": false,
|
||||||
|
"type": "number",
|
||||||
|
"format": "int64",
|
||||||
|
"default": 50
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"responses": {
|
||||||
|
"200": {
|
||||||
|
"description": "Successful response",
|
||||||
|
"schema": {
|
||||||
|
"title": "Messages",
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"total": {
|
||||||
|
"type": "number",
|
||||||
|
"format": "int64",
|
||||||
|
"description": "Total number of stored messages"
|
||||||
|
},
|
||||||
|
"start": {
|
||||||
|
"type": "number",
|
||||||
|
"format": "int64",
|
||||||
|
"description": "Start index of first returned message"
|
||||||
|
},
|
||||||
|
"count": {
|
||||||
|
"type": "number",
|
||||||
|
"format": "int64",
|
||||||
|
"description": "Number of returned messages"
|
||||||
|
},
|
||||||
|
"messages": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"title": "Message",
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"id": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"from": {
|
||||||
|
"title": "Path",
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"relays": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"mailbox": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"domain": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"params": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"to": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"title": "Path",
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"relays": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"mailbox": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"domain": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"params": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"headers": {
|
||||||
|
"type": "object"
|
||||||
|
},
|
||||||
|
"size": {
|
||||||
|
"type": "number",
|
||||||
|
"format": "int64"
|
||||||
|
},
|
||||||
|
"created": {
|
||||||
|
"type": "string",
|
||||||
|
"format": "date-time"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"/api/v2/search": {
|
||||||
|
"get": {
|
||||||
|
"description": "Search messages\n",
|
||||||
|
"parameters": [
|
||||||
|
{
|
||||||
|
"name": "kind",
|
||||||
|
"in": "query",
|
||||||
|
"description": "Kind of search",
|
||||||
|
"required": true,
|
||||||
|
"type": "string",
|
||||||
|
"enum": [
|
||||||
|
"from",
|
||||||
|
"to",
|
||||||
|
"containing"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "start",
|
||||||
|
"in": "query",
|
||||||
|
"description": "Start index",
|
||||||
|
"required": false,
|
||||||
|
"type": "number",
|
||||||
|
"format": "int64",
|
||||||
|
"default": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "limit",
|
||||||
|
"in": "query",
|
||||||
|
"description": "Number of messages",
|
||||||
|
"required": false,
|
||||||
|
"type": "number",
|
||||||
|
"format": "int64",
|
||||||
|
"default": 50
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"responses": {
|
||||||
|
"200": {
|
||||||
|
"description": "Successful response",
|
||||||
|
"schema": {
|
||||||
|
"title": "Messages",
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"total": {
|
||||||
|
"type": "number",
|
||||||
|
"format": "int64",
|
||||||
|
"description": "Total number of stored messages"
|
||||||
|
},
|
||||||
|
"start": {
|
||||||
|
"type": "number",
|
||||||
|
"format": "int64",
|
||||||
|
"description": "Start index of first returned message"
|
||||||
|
},
|
||||||
|
"count": {
|
||||||
|
"type": "number",
|
||||||
|
"format": "int64",
|
||||||
|
"description": "Number of returned messages"
|
||||||
|
},
|
||||||
|
"messages": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"title": "Message",
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"id": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"from": {
|
||||||
|
"title": "Path",
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"relays": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"mailbox": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"domain": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"params": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"to": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"title": "Path",
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"relays": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"mailbox": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"domain": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"params": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"headers": {
|
||||||
|
"type": "object"
|
||||||
|
},
|
||||||
|
"size": {
|
||||||
|
"type": "number",
|
||||||
|
"format": "int64"
|
||||||
|
},
|
||||||
|
"created": {
|
||||||
|
"type": "string",
|
||||||
|
"format": "date-time"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
186
docs/APIv2/swagger-2.0.yaml
Normal file
186
docs/APIv2/swagger-2.0.yaml
Normal file
|
@ -0,0 +1,186 @@
|
||||||
|
swagger: '2.0'
|
||||||
|
|
||||||
|
info:
|
||||||
|
version: "2.0.0"
|
||||||
|
title: MailHog API
|
||||||
|
|
||||||
|
paths:
|
||||||
|
/api/v2/messages:
|
||||||
|
get:
|
||||||
|
description: |
|
||||||
|
Retrieve a list of messages
|
||||||
|
parameters:
|
||||||
|
-
|
||||||
|
name: start
|
||||||
|
in: query
|
||||||
|
description: Start index
|
||||||
|
required: false
|
||||||
|
type: number
|
||||||
|
format: int64
|
||||||
|
default: 0
|
||||||
|
-
|
||||||
|
name: limit
|
||||||
|
in: query
|
||||||
|
description: Number of messages
|
||||||
|
required: false
|
||||||
|
type: number
|
||||||
|
format: int64
|
||||||
|
default: 50
|
||||||
|
responses:
|
||||||
|
200:
|
||||||
|
description: Successful response
|
||||||
|
schema:
|
||||||
|
title: Messages
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
total:
|
||||||
|
type: number
|
||||||
|
format: int64
|
||||||
|
description: Total number of stored messages
|
||||||
|
start:
|
||||||
|
type: number
|
||||||
|
format: int64
|
||||||
|
description: Start index of first returned message
|
||||||
|
count:
|
||||||
|
type: number
|
||||||
|
format: int64
|
||||||
|
description: Number of returned messages
|
||||||
|
messages:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
title: Message
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
id:
|
||||||
|
type: string
|
||||||
|
from:
|
||||||
|
title: Path
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
relays:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
mailbox:
|
||||||
|
type: string
|
||||||
|
domain:
|
||||||
|
type: string
|
||||||
|
params:
|
||||||
|
type: string
|
||||||
|
to:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
title: Path
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
relays:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
mailbox:
|
||||||
|
type: string
|
||||||
|
domain:
|
||||||
|
type: string
|
||||||
|
params:
|
||||||
|
type: string
|
||||||
|
headers:
|
||||||
|
type: object
|
||||||
|
size:
|
||||||
|
type: number
|
||||||
|
format: int64
|
||||||
|
created:
|
||||||
|
type: string
|
||||||
|
format: date-time
|
||||||
|
/api/v2/search:
|
||||||
|
get:
|
||||||
|
description: |
|
||||||
|
Search messages
|
||||||
|
parameters:
|
||||||
|
-
|
||||||
|
name: kind
|
||||||
|
in: query
|
||||||
|
description: Kind of search
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
enum: [ from, to, containing ]
|
||||||
|
-
|
||||||
|
name: start
|
||||||
|
in: query
|
||||||
|
description: Start index
|
||||||
|
required: false
|
||||||
|
type: number
|
||||||
|
format: int64
|
||||||
|
default: 0
|
||||||
|
-
|
||||||
|
name: limit
|
||||||
|
in: query
|
||||||
|
description: Number of messages
|
||||||
|
required: false
|
||||||
|
type: number
|
||||||
|
format: int64
|
||||||
|
default: 50
|
||||||
|
responses:
|
||||||
|
200:
|
||||||
|
description: Successful response
|
||||||
|
schema:
|
||||||
|
title: Messages
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
total:
|
||||||
|
type: number
|
||||||
|
format: int64
|
||||||
|
description: Total number of stored messages
|
||||||
|
start:
|
||||||
|
type: number
|
||||||
|
format: int64
|
||||||
|
description: Start index of first returned message
|
||||||
|
count:
|
||||||
|
type: number
|
||||||
|
format: int64
|
||||||
|
description: Number of returned messages
|
||||||
|
messages:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
title: Message
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
id:
|
||||||
|
type: string
|
||||||
|
from:
|
||||||
|
title: Path
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
relays:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
mailbox:
|
||||||
|
type: string
|
||||||
|
domain:
|
||||||
|
type: string
|
||||||
|
params:
|
||||||
|
type: string
|
||||||
|
to:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
title: Path
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
relays:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
mailbox:
|
||||||
|
type: string
|
||||||
|
domain:
|
||||||
|
type: string
|
||||||
|
params:
|
||||||
|
type: string
|
||||||
|
headers:
|
||||||
|
type: object
|
||||||
|
size:
|
||||||
|
type: number
|
||||||
|
format: int64
|
||||||
|
created:
|
||||||
|
type: string
|
||||||
|
format: date-time
|
Loading…
Reference in a new issue