http://localhost
API for managing SMTP server configuration
Collection of smtp-configuration items.
Retrieve a list of smtp-configuration items.
GET /smtp-configuration
Skip over a number of elements by specifying an offset value for the query
Example:
0
Limit the number of elements returned in the response
Example:
10
A query expressed as a CQL string (see dev.folio.org/reference/glossary#cql) using valid searchable fields. The first example below shows the general form of a full CQL query, but those fields might not be relevant in this context.
by using CQL
Example:
(username=="ab*" or personal.firstName=="ab*" or personal.lastName=="ab*") and active=="true" sortby personal.lastName personal.firstName barcode
ssl=true
Requested language. Optional. [lang=en]
Returns a list of smtp-configuration items
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Collection of SMTP configurations",
"type": "object",
"properties": {
"smtpConfigurations": {
"description": "List of SMTP configurations",
"id": "smtpConfigurations",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Configuration of the SMTP server",
"title": "SMTP configuration schema",
"properties": {
"id": {
"description": "Unique UUID of the configuration",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[1-5][a-fA-F0-9]{3}-[89abAB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}$"
},
"host": {
"description": "SMTP server host",
"type": "string"
},
"port": {
"description": "SMTP server port",
"type": "integer"
},
"username": {
"description": "Username (credentials to access the SMTP server)",
"type": "string"
},
"password": {
"description": "Password (credentials to access the SMTP server)",
"type": "string"
},
"ssl": {
"description": "Connect to SMTP server using SSL",
"type": "boolean"
},
"trustAll": {
"description": "Trust all certificates when establishing an SSL connection",
"type": "boolean"
},
"loginOption": {
"description": "Login mode",
"type": "string",
"enum": [
"DISABLED",
"NONE",
"REQUIRED",
"XOAUTH2"
]
},
"startTlsOptions": {
"description": "Start TLS options",
"type": "string",
"enum": [
"DISABLED",
"OPTIONAL",
"REQUIRED"
]
},
"expirationHours": {
"description": "Email gets deleted after this time from DB",
"type": "integer"
},
"authMethods": {
"description": "Authentication methods",
"type": "string"
},
"from": {
"description": "Email address to send emails from",
"type": "string"
},
"emailHeaders": {
"description": "Custom email headers",
"type": "array",
"id": "emailHeaders",
"items": {
"type": "object",
"properties": {
"name": {
"description": "Custom header name",
"type": "string"
},
"value": {
"description": "Custom header value",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"name",
"value"
]
}
},
"metadata": {
"description": "Metadata about creation and changes to the SMTP configuration provided by the server",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "metadata.schema",
"title": "Metadata Schema",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"additionalProperties": false,
"required": [
"host",
"port",
"username",
"password"
]
}
},
"totalRecords": {
"type": "integer"
}
},
"required": [
"smtpConfigurations",
"totalRecords"
]
}
Example:
{
"smtpConfigurations": [
{
"id": "65de6432-be11-48ba-9686-a65101634040",
"host": "localhost",
"port": 502,
"username": "username",
"password": "password",
"ssl": true,
"trustAll": false,
"loginOption": "REQUIRED",
"startTlsOptions": "DISABLED",
"authMethods": "CRAM-MD5 LOGIN PLAIN",
"from": "noreply@folio.org",
"emailHeaders": [
{
"name": "Reply-To",
"value": "noreply@folio.org"
}
]
}
],
"totalRecords": 1
}
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
unable to list smtp-configuration -- malformed parameter 'query', syntax error at column 6
Not authorized to perform requested action
Media type: text/plain
Type: any
Example:
unable to list smtp-configuration -- unauthorized
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
Create a new smtp-configuration item.
POST /smtp-configuration
Requested language. Optional. [lang=en]
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Configuration of the SMTP server",
"title": "SMTP configuration schema",
"type": "object",
"properties": {
"id": {
"description": "Unique UUID of the configuration",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[1-5][a-fA-F0-9]{3}-[89abAB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}$"
},
"host": {
"description": "SMTP server host",
"type": "string"
},
"port": {
"description": "SMTP server port",
"type": "integer"
},
"username": {
"description": "Username (credentials to access the SMTP server)",
"type": "string"
},
"password": {
"description": "Password (credentials to access the SMTP server)",
"type": "string"
},
"ssl": {
"description": "Connect to SMTP server using SSL",
"type": "boolean"
},
"trustAll": {
"description": "Trust all certificates when establishing an SSL connection",
"type": "boolean"
},
"loginOption": {
"description": "Login mode",
"type": "string",
"enum": [
"DISABLED",
"NONE",
"REQUIRED",
"XOAUTH2"
]
},
"startTlsOptions": {
"description": "Start TLS options",
"type": "string",
"enum": [
"DISABLED",
"OPTIONAL",
"REQUIRED"
]
},
"expirationHours": {
"description": "Email gets deleted after this time from DB",
"type": "integer"
},
"authMethods": {
"description": "Authentication methods",
"type": "string"
},
"from": {
"description": "Email address to send emails from",
"type": "string"
},
"emailHeaders": {
"description": "Custom email headers",
"type": "array",
"id": "emailHeaders",
"items": {
"type": "object",
"properties": {
"name": {
"description": "Custom header name",
"type": "string"
},
"value": {
"description": "Custom header value",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"name",
"value"
]
}
},
"metadata": {
"description": "Metadata about creation and changes to the SMTP configuration provided by the server",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "metadata.schema",
"title": "Metadata Schema",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"additionalProperties": false,
"required": [
"host",
"port",
"username",
"password"
]
}
Example:
{
"id": "65de6432-be11-48ba-9686-a65101634040",
"host": "localhost",
"port": 502,
"username": "username",
"password": "password",
"ssl": true,
"trustAll": false,
"loginOption": "REQUIRED",
"startTlsOptions": "DISABLED",
"expirationHours": 24,
"authMethods": "CRAM-MD5 LOGIN PLAIN",
"from": "noreply@folio.org",
"emailHeaders": [
{
"name": "Reply-To",
"value": "noreply@folio.org"
}
]
}
Returns a newly created item, with server-controlled fields like 'id' populated
URI to the created smtp-configuration item
Media type: application/json
Type: any
Example:
{
"id": "65de6432-be11-48ba-9686-a65101634040",
"host": "localhost",
"port": 502,
"username": "username",
"password": "password",
"ssl": true,
"trustAll": false,
"loginOption": "REQUIRED",
"startTlsOptions": "DISABLED",
"expirationHours": 24,
"authMethods": "CRAM-MD5 LOGIN PLAIN",
"from": "noreply@folio.org",
"emailHeaders": [
{
"name": "Reply-To",
"value": "noreply@folio.org"
}
]
}
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
"unable to add smtp-configuration -- malformed JSON at 13:3"
Not authorized to perform requested action
Media type: text/plain
Type: any
Example:
unable to create smtp-configuration -- unauthorized
Validation errors
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "errors.schema",
"description": "A set of errors",
"type": "object",
"properties": {
"errors": {
"description": "List of errors",
"id": "errors",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "error.schema",
"description": "An error",
"properties": {
"message": {
"type": "string",
"description": "Error message text"
},
"type": {
"type": "string",
"description": "Error message type"
},
"code": {
"type": "string",
"description": "Error message code"
},
"parameters": {
"description": "Error message parameters",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "parameters.schema",
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
}
},
"required": [
"message"
]
}
},
"total_records": {
"description": "Total number of errors",
"type": "integer"
}
}
}
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
Internal server error, contact administrator
Get SMTP configuration
GET /smtp-configuration/{smtpConfigurationId}
Requested language. Optional. [lang=en]
Returns item with a given ID
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Configuration of the SMTP server",
"title": "SMTP configuration schema",
"type": "object",
"properties": {
"id": {
"description": "Unique UUID of the configuration",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[1-5][a-fA-F0-9]{3}-[89abAB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}$"
},
"host": {
"description": "SMTP server host",
"type": "string"
},
"port": {
"description": "SMTP server port",
"type": "integer"
},
"username": {
"description": "Username (credentials to access the SMTP server)",
"type": "string"
},
"password": {
"description": "Password (credentials to access the SMTP server)",
"type": "string"
},
"ssl": {
"description": "Connect to SMTP server using SSL",
"type": "boolean"
},
"trustAll": {
"description": "Trust all certificates when establishing an SSL connection",
"type": "boolean"
},
"loginOption": {
"description": "Login mode",
"type": "string",
"enum": [
"DISABLED",
"NONE",
"REQUIRED",
"XOAUTH2"
]
},
"startTlsOptions": {
"description": "Start TLS options",
"type": "string",
"enum": [
"DISABLED",
"OPTIONAL",
"REQUIRED"
]
},
"expirationHours": {
"description": "Email gets deleted after this time from DB",
"type": "integer"
},
"authMethods": {
"description": "Authentication methods",
"type": "string"
},
"from": {
"description": "Email address to send emails from",
"type": "string"
},
"emailHeaders": {
"description": "Custom email headers",
"type": "array",
"id": "emailHeaders",
"items": {
"type": "object",
"properties": {
"name": {
"description": "Custom header name",
"type": "string"
},
"value": {
"description": "Custom header value",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"name",
"value"
]
}
},
"metadata": {
"description": "Metadata about creation and changes to the SMTP configuration provided by the server",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "metadata.schema",
"title": "Metadata Schema",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"additionalProperties": false,
"required": [
"host",
"port",
"username",
"password"
]
}
Example:
{
"id": "65de6432-be11-48ba-9686-a65101634040",
"host": "localhost",
"port": 502,
"username": "username",
"password": "password",
"ssl": true,
"trustAll": false,
"loginOption": "REQUIRED",
"startTlsOptions": "DISABLED",
"expirationHours": 24,
"authMethods": "CRAM-MD5 LOGIN PLAIN",
"from": "noreply@folio.org",
"emailHeaders": [
{
"name": "Reply-To",
"value": "noreply@folio.org"
}
]
}
Item with a given ID not found
Media type: text/plain
Type: any
Example:
"smtp-configuration not found"
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
Update SMTP configuration
PUT /smtp-configuration/{smtpConfigurationId}
Requested language. Optional. [lang=en]
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Configuration of the SMTP server",
"title": "SMTP configuration schema",
"type": "object",
"properties": {
"id": {
"description": "Unique UUID of the configuration",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "uuid.schema",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[1-5][a-fA-F0-9]{3}-[89abAB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}$"
},
"host": {
"description": "SMTP server host",
"type": "string"
},
"port": {
"description": "SMTP server port",
"type": "integer"
},
"username": {
"description": "Username (credentials to access the SMTP server)",
"type": "string"
},
"password": {
"description": "Password (credentials to access the SMTP server)",
"type": "string"
},
"ssl": {
"description": "Connect to SMTP server using SSL",
"type": "boolean"
},
"trustAll": {
"description": "Trust all certificates when establishing an SSL connection",
"type": "boolean"
},
"loginOption": {
"description": "Login mode",
"type": "string",
"enum": [
"DISABLED",
"NONE",
"REQUIRED",
"XOAUTH2"
]
},
"startTlsOptions": {
"description": "Start TLS options",
"type": "string",
"enum": [
"DISABLED",
"OPTIONAL",
"REQUIRED"
]
},
"expirationHours": {
"description": "Email gets deleted after this time from DB",
"type": "integer"
},
"authMethods": {
"description": "Authentication methods",
"type": "string"
},
"from": {
"description": "Email address to send emails from",
"type": "string"
},
"emailHeaders": {
"description": "Custom email headers",
"type": "array",
"id": "emailHeaders",
"items": {
"type": "object",
"properties": {
"name": {
"description": "Custom header name",
"type": "string"
},
"value": {
"description": "Custom header value",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"name",
"value"
]
}
},
"metadata": {
"description": "Metadata about creation and changes to the SMTP configuration provided by the server",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "metadata.schema",
"title": "Metadata Schema",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
}
},
"additionalProperties": false,
"required": [
"host",
"port",
"username",
"password"
]
}
Example:
{
"id": "65de6432-be11-48ba-9686-a65101634040",
"host": "localhost",
"port": 502,
"username": "username",
"password": "password",
"ssl": true,
"trustAll": false,
"loginOption": "REQUIRED",
"startTlsOptions": "DISABLED",
"expirationHours": 24,
"authMethods": "CRAM-MD5 LOGIN PLAIN",
"from": "noreply@folio.org",
"emailHeaders": [
{
"name": "Reply-To",
"value": "noreply@folio.org"
}
]
}
Item successfully updated
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
"unable to update smtp-configuration -- malformed JSON at 13:4"
Item with a given ID not found
Media type: text/plain
Type: any
Example:
"smtp-configuration not found"
Optimistic locking version conflict
Media type: text/plain
Type: any
Example:
version conflict
Validation errors
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "errors.schema",
"description": "A set of errors",
"type": "object",
"properties": {
"errors": {
"description": "List of errors",
"id": "errors",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "error.schema",
"description": "An error",
"properties": {
"message": {
"type": "string",
"description": "Error message text"
},
"type": {
"type": "string",
"description": "Error message type"
},
"code": {
"type": "string",
"description": "Error message code"
},
"parameters": {
"description": "Error message parameters",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "parameters.schema",
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
}
},
"required": [
"message"
]
}
},
"total_records": {
"description": "Total number of errors",
"type": "integer"
}
}
}
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
Delete SMTP configuration
DELETE /smtp-configuration/{smtpConfigurationId}
Requested language. Optional. [lang=en]
Item deleted successfully
Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.
Media type: text/plain
Type: any
Example:
"unable to delete smtp-configuration -- constraint violation"
Item with a given ID not found
Media type: text/plain
Type: any
Example:
"smtp-configuration not found"
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
Internal server error, contact administrator