{% extends "docs/base.html" %} {% block docs_content %}

File uploads

Create, inspect, update, delete, and download repo-scoped file uploads.

Overview List Get Create Update Delete Content

Sections

Endpoints

GET /api/v1/teams/{team_slug}/repos/{repo_slug}/uploads
GET /api/v1/users/{username}/repos/{repo_slug}/uploads

POST /api/v1/teams/{team_slug}/repos/{repo_slug}/uploads
POST /api/v1/users/{username}/repos/{repo_slug}/uploads

GET /api/v1/teams/{team_slug}/repos/{repo_slug}/uploads/{upload_uuid}
GET /api/v1/users/{username}/repos/{repo_slug}/uploads/{upload_uuid}

PUT /api/v1/teams/{team_slug}/repos/{repo_slug}/uploads/{upload_uuid}
PUT /api/v1/users/{username}/repos/{repo_slug}/uploads/{upload_uuid}

DELETE /api/v1/teams/{team_slug}/repos/{repo_slug}/uploads/{upload_uuid}
DELETE /api/v1/users/{username}/repos/{repo_slug}/uploads/{upload_uuid}

GET /api/v1/teams/{team_slug}/repos/{repo_slug}/uploads/{upload_uuid}/content/{filename}
GET /api/v1/users/{username}/repos/{repo_slug}/uploads/{upload_uuid}/content/{filename}
Authenticated Repo scoped

Download URLs include the original filename as the final path segment, for example /api/v1/teams/{team_slug}/repos/{repo_slug}/uploads/{upload_uuid}/content/openapi.json.

Create payload

Uploads are sent as multipart/form-data with these fields:

The server stores uploads under repo and file UUID buckets and derives the file extension itself.

Example

curl --request POST \
  --header "Authorization: Bearer $PEARING_API_TOKEN" \
  --form "file=@./screenshot.png" \
  --form "description=Build screenshot" \
  "$PEARING_API_URL/v1/teams/platform/repos/website/uploads"

Errors

{% endblock %}