108 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			108 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
| *****************
 | |
| API Documentation
 | |
| *****************
 | |
| 
 | |
| The Notfellchen API serves the purpose of supporting 3rd-person applications, whether you want to display data in a custom format or add data from other sources.
 | |
| 
 | |
| .. warning::
 | |
|     The current API is limited in it's functionality. I you miss a specific feature please contact the developers!
 | |
| 
 | |
| API Access
 | |
| ==========
 | |
| 
 | |
| Via browser
 | |
| -----------
 | |
| 
 | |
| When a user is logged in, they can easily access the API in their browser, authenticated by their session.
 | |
| 
 | |
| For example: You can check all current adoption notices here: https://notfellchen.org/api/adoption_notice
 | |
| 
 | |
| Via token
 | |
| ---------
 | |
| 
 | |
| 
 | |
| All users are able to generate a token that allows them to use the API. This can be done in the user's profile.
 | |
| An application can then send this token in the request header for authorization.
 | |
| 
 | |
| .. code-block::
 | |
|     $ curl -X GET http://notfellchen.org/api/adoption_notice -H 'Authorization: Token 49b39856955dc6e5cc04365498d4ad30ea3aed78'
 | |
| 
 | |
| 
 | |
| .. warning::
 | |
|     Usage or creation of content still has to follow the terms of notfellchen.org.
 | |
|     Copyright of content is often held by rescue organizations, so you are not allowed to simply mirror content.
 | |
|     Talk to the notfellchen team if you want develop such things.
 | |
| 
 | |
| 
 | |
| Endpoints
 | |
| ---------
 | |
| 
 | |
| All Endpoints are documented at  https://notfellchen.org/api/schema/swagger-ui/ or at https://notfellchen.org/api/schema/redoc/ if you prefer redoc.
 | |
| The OpenAI schema can be downloaded at https://notfellchen.org/api/schema/
 | |
| 
 | |
| Examples are documented here.
 | |
| 
 | |
| Get Adoption Notices
 | |
| ++++++++++++++++++++
 | |
| 
 | |
| .. code-block::
 | |
| 
 | |
|   curl --request GET \
 | |
|   --url https://notfellchen.org/api/adoption_notice \
 | |
|   --header 'Authorization: {{token}}'
 | |
| 
 | |
| Create Adoption Notice
 | |
| ++++++++++++++++++++++
 | |
| 
 | |
| .. code-block::
 | |
| 
 | |
|   curl --request POST \
 | |
|   --url https://notfellchen.org/api/adoption_notice \
 | |
|   --header 'Authorization: {{token}}' \
 | |
|   --header 'content-type: multipart/form-data' \
 | |
|   --form name=TestAdoption1 \
 | |
|   --form searching_since=2024-11-19 \
 | |
|   --form 'description=Lorem ipsum **dolor sit** amet' \
 | |
|   --form further_information=https://notfellchen.org \
 | |
|   --form location_string=Berlin \
 | |
|   --form group_only=true
 | |
| 
 | |
| Add Animal to Adoption Notice
 | |
| +++++++++++++++++++++++++++++
 | |
| 
 | |
| .. code-block::
 | |
| 
 | |
|     curl --request POST \
 | |
|       --url https://notfellchen.org/api/animals/ \
 | |
|       --header 'Authorization: {{token}}' \
 | |
|       --header 'content-type: multipart/form-data' \
 | |
|       --form name=TestAnimal1 \
 | |
|       --form date_of_birth=2024-11-19 \
 | |
|       --form 'description=Lorem animal **dolor sit**.' \
 | |
|       --form sex=F \
 | |
|       --form species=1 \
 | |
|       --form adoption_notice=1
 | |
| 
 | |
| Add picture to Animal or Adoption Notice
 | |
| ++++++++++++++++++++++++++++++++++++++++
 | |
| 
 | |
| .. code-block::
 | |
| 
 | |
|     curl -X POST https://notfellchen.org/api/images/ \
 | |
|     -H "Authorization: Token {{token}}" \
 | |
|     -F "image=@256-256-crop.jpg" \
 | |
|     -F "alt_text=Puppy enjoying the sunshine" \
 | |
|     -F "attach_to_type=animal" \
 | |
|     -F "attach_to=48
 | |
| 
 | |
| Species
 | |
| +++++++
 | |
| 
 | |
| Getting available species is mainly important when creating animals
 | |
| 
 | |
| .. code-block::
 | |
| 
 | |
|     curl --request GET \
 | |
|       --url https://notfellchen.org/api/species \
 | |
|       --header 'Authorization: {{token}}'
 |