Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
Lutim
Lutim
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 24
    • Issues 24
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 2
    • Merge Requests 2
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • Fiat Tux
  • Hat softwares
  • LutimLutim
  • Wiki
  • api

Last edited by Armando Lüscher Oct 11, 2020
Page history

api

API

Get informations about the server

Request

  • URL: /infos
  • Method: GET

No query parameters.

Example with curl:

curl https://lut.im/infos

Response

{
    "always_encrypt":    true,
    "broadcast_message": "[fr] Le délai par défaut est maintenant d'un an! [en] The default delay is now one year!",
    "contact":           "Luc Didry, admin[AT]lut.im",
    "default_delay":     365,
    "image_magick":      true,
    "max_delay":         0,
    "max_file_size":     10485760
}

Please refer to the configuration's wiki page to understand the response. The exception is image_magick, which tells you if ImageMagick is installed on the server so it can create thumbnails and auto-rotate the images.

Add images

Request

  • URL: /
  • Method: POST

Query parameters:

name type description optional/mandatory default
format string json if you want to get a json response, otherwise it will send a web page optional html
file file the image file mandatory no default
delete-day int number of days you want the image to stay optional 0 (indefinitely) or the configured maximum delay of the server
first-view int if not 0, the image will be deleted at first view optional 0
keep-exif int if not 0, the image will keep its EXIF tags optional 0
crypt int if not 0, the image will be encrypted on the server optional depends on the instance configuration

Example with curl:

curl -F "format=json" -F "file=@/tmp/snap0001.jpg" https://lut.im

You can allow people to use your instance of Lutim from other domains. Add the allowed domains as an array in the allowed_domains conf option. Put ['*'] if you want to allow all domains.

Response

{
    "success": true,
    "msg": {
        "real_short": "abc",
        "short": "abc/def",
        "token": "ghijkl",
        "thumb": XXX,
        "filename": "myimage.png",
        "created_at": 1496652085,
        "del_at_view": false,
        "ext": "png",
        "limit": 0
    }
}
parameter type role
success true/false upload-status
msg.real_short string image identifier
msg.short string real_short + encryption key
msg.token string
msg.thumb string base64 encoded thumbnail of the image, if PerlMagick is installed on the server
msg.filename string filename of the uploaded image
msg.create_at int unix timestamp of image upload
msg.del_at_view true/false will it be deleted at first view?
msg.ext string filename extension
msg.limit int deletion delay (0 means no deletion)

Delete images

Request

  • URL: /d/real_short/token
  • Method: GET

Please, refer to "Add images" response for real_short and token in the URL.

Query parameters:

name type description optional/mandatory default
format string json if you want to get a json response, otherwise it will send a web page optional html

Response

{
    "success": true,
    "msg": "The image *filename* has been successfully deleted"
}
parameter type role
success true/false delete-status
msg string success or failure message

Modify images

Request

  • URL: /m/real_short/token
  • Method: POST

Please, refer to "Add images" response for real_short and token in the URL.

Query parameters:

name type description optional/mandatory default
delete-day int number of days you want the image to stay mandatory no default
first-view int if not 0, the image will be deleted at first view optional 0
url string the view link of the image. Useless, it will be displayed if format is json optional no default
format string json if you want to get a json response, otherwise it will send a web page optional html

Response

{
    "success": true,
    "msg": "Le délai de l'image a été modifié avec succès."
}
parameter type role
success true/false modify-status
msg string success or failure message

Get images

Request

  • URL: /short
  • Method: GET

Example with curl:

curl https://lut.im/image.jpg

Response

The image.

Get informations about an image

Request

  • URL: /about/short
  • Method: GET

NB: short can be the real_short, with or without the file extension.

Example with curl:

curl https://lut.im/about/image.jpg

Response

{
    "success": true,
    "data": {
        "height":632,
        "width":1680
    }
}
parameter type role
success true/false request-status
data.height int the height of the image
data.width int the width of the image

Get counter and status of image

Request

  • URL: /c
  • Method: POST

Query parameters:

name type description optional/mandatory default
short string see what real_short is in the "Add images" URL response mandatory no default
token string see what token is in the "Add images" URL response mandatory no default

Response

{
    "success": true,
    "counter": 42,
    "enabled": false
}

Or, if it fails:

{
    "success": false,
    "msg": "Unable to get counter"
}
parameter type role
success true/false request-status
counter int number of times the image has been accessed (warning, the browser cache prevents to increment the counter more than one time per browser)
enabled true/false if true, the image is still available, else it has been deleted (manually or it has expired)
msg string failure message

Login

(when authentication is required)

Request

  • URL: /login
  • Method: POST

Query parameters:

name type description optional/mandatory default
login string your login mandatory no default
password string your password mandatory no default
format string json if you want to get a json response, otherwise it will send a web page optional html

Example with curl:

curl --data "login=luc" --data "password=toto" --data "format=json" https://lut.im/login

Response

{
    "success": true,
    "msg": "You have been successfully logged in."
}

Or, if it fails:

{
    "success": false,
    "msg": "Please, check your credentials: unable to authenticate."
}
parameter type role
success true/false login-status
msg string success or failure message

Logout

(when authentication is required)

Request

  • URL: /logout
  • Method: GET

Query parameters:

name type description optional/mandatory default
format string json if you want to get a json response, otherwise it will send a web page optional html

Example with curl:

curl "https://lut.im/logout?format=json"

Response

{
    "success": true,
    "msg": "You have been successfully logged out."
}
parameter type role
success true/false logout-status
msg string success or failure message

You can now go back to wiki's homepage.

Clone repository
  • Clients
    • libraries
  • api
  • broadcast message
  • configuration
  • contribute
  • create theme
  • cron jobs
  • dependencies
  • Home
  • installation
  • memcached
  • migrate from sqlite to postgresql
  • social networks integration
  • softwares integration
  • update