APIΒΆ
API endpointΒΆ
dpaste provides a simple API endpoint to create new snippets. All you need to
do is a simple POST
request to the API endpoint, usually /api/
:
-
POST
/api/
ΒΆ Create a new Snippet on this dpaste installation. It returns the full URL that snippet was created.
Example request:
$ curl -X POST -F "format=url" -F "content=ABC" https:/dpaste.de/api/ Host: dpaste.de User-Agent: curl/7.54.0 Accept: */*
Example response:
{ "lexer": "python", "url": "https://dpaste.de/EBKU", "content": "ABC" }
Form Parameters: - content β (required) The UTF-8 encoded string you want to paste.
- lexer β (optional) The lexer string key used for highlighting. See
the
CODE_FORMATTER
property in Settings for a full list of choices. Default:_code
. - format β
(optional) The format of the API response. Choices are:
default
β Returns a full qualified URL wrapped in quotes. Example:"https://dpaste.de/xsWd"
url
β Returns the full qualified URL to the snippet, without surrounding quotes, but with a line break. Example:https://dpaste.de/xsWd\n
json
β Returns a JSON object containing the URL, lexer and content of the the snippet. Example:{ "url": "https://dpaste.de/xsWd", "lexer": "python", "content": "The text body of the snippet." }
- expires β
(optional) A keyword to indicate the lifetime of a snippet in seconds. The values are predefined by the server. Calling this with an invalid value returns a HTTP 400 BadRequest together with a list of valid values. Default:
2592000
. In the default configuration valid values are:- onetime
- never
- 3600
- 604800
- 2592000
- filename β
(optional) A filename which we use to determine a lexer, if
lexer
is not set. In case we canβt determine a file, the lexer will fallback toplain
code (no highlighting). A givenlexer
will overwrite any filename! Example:{ "url": "https://dpaste.de/xsWd", "lexer": "", "filename": "python", "content": "The text body of the snippet." }
This will create a
python
highlighted snippet. However in this example:{ "url": "https://dpaste.de/xsWd", "lexer": "php", "filename": "python", "content": "The text body of the snippet." }
Since the lexer is set too, we will create a
php
highlighted snippet.
Status Codes: - 200 OK β No Error.
- 400 Bad Request β One of the above form options was invalid, the response will contain a meaningful error message.
Hint
If you have a standalone installation and your API returns
https://dpaste-base-url.example.org
as the domain, you need to adjust
the setting get_base_url
property. See Settings.
Third party API integrationΒΆ
- subdpaste
- a Sublime Editor plugin: https://github.com/bartTC/SubDpaste
- Marmalade
- an Emacs plugin: http://marmalade-repo.org/packages/dpaste_de
- atom-dpaste
- for the Atom editor: https://atom.io/packages/atom-dpaste
- dpaste-magic
- an iPython extension: https://pypi.org/project/dpaste-magic/
You can also paste your file content to the API via curl, directly from the command line:
$ alias dpaste="curl -F 'format=url' -F 'content=<-' https://dpaste.org/api/"
$ cat foo.txt | dpaste
https://dpaste.de/ke2pB
Note
If you wrote or know a third party dpaste plugin or extension, please open an Issue on Github and itβs added here.