quickstart.rst 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. Quickstart
  2. ----------
  3. To use our domain management API, you need to register an account with deSEC.
  4. Here's a quick intro how to get started:
  5. #. :ref:`obtain-a-captcha` and solve it::
  6. curl -X POST https://desec.io/api/v1/captcha/
  7. Note down the captcha ID from the response body, and figure out the
  8. solution from the ``challenge`` field. It's a base64-encoded PNG image
  9. which you can display by directing your browser to the URL
  10. ``data:image/png;base64,<challenge>``, after replacing ``<challenge>`` with
  11. the value of the ``challenge`` response field
  12. #. :ref:`register-account`::
  13. curl -X POST https://desec.io/api/v1/auth/ \
  14. --header "Content-Type: application/json" --data @- <<EOF
  15. {
  16. "email": "youremailaddress@example.com",
  17. "password": "yourpassword",
  18. "captcha": {
  19. "id": "00010203-0405-0607-0809-0a0b0c0d0e0f",
  20. "solution": "12H45"
  21. }
  22. }
  23. EOF
  24. Before activating your account, we need to verify your email address. To
  25. that end, we will send you an email, containing a validation link of the
  26. form ``https://desec.io/api/v1/v/activate-account/<code>/``. To confirm
  27. your address and activate your account, simply click the link.
  28. #. :ref:`log-in`::
  29. curl -X POST https://desec.io/api/v1/auth/login/ \
  30. --header "Content-Type: application/json" --data @- <<< \
  31. '{"email": "youremailaddress@example.com", "password": "yourpassword"}'
  32. The response body will contain an ``token`` which is used to
  33. authenticate requests to the DNS management endpoints as demonstrated in
  34. the next step.
  35. #. Create a DNS zone::
  36. curl -X POST https://desec.io/api/v1/domains/ \
  37. --header "Authorization: Token {token}" \
  38. --header "Content-Type: application/json" --data @- <<< \
  39. '{"name": "example.com"}'
  40. #. Yay! Keep browsing the :ref:`domain-management` section of the docs to see how
  41. to continue.