Retrieve portfolio by slug
Retrieves detailed information about a specific portfolio by its unique ID.
HTTP Request
GET/api/shop/portfolios/:slug
Authorization
Authorization
- Required: No
- Permission: —
- Authentication: —
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| slug | String | Yes | Unique slug of the portfolio to retrieve |
Example Requests
- 🐍 Python
- 🌐 Curl
1import requests
2
3# Retrieve a specific portfolio
4response = requests.get('http://www.example.com/api/shop/portfolios/project-one',
5)
6print(response.json())1# Retrieve a specific portfolio
2curl "http://www.example.com/api/shop/portfolios/project-one" \Response Fields
| Field | Type | Description |
|---|---|---|
| id | Integer | Unique ID of the portfolio |
| title | String | portfolio title (unique) |
| slug | String | unique slug of the portfolio |
| excerpt | String | Short description of the portfolio |
| order | Integer | Display order of the portfolio |
| year | Integer | The year that the project has been finished/released/published |
| image_data | Object | portfolio image details (nullable) |
| client_data | Object | portfolio client details (nullable) |
| tags_data | List(object) | list of portfolio tags (nullable) |
| links_data | List(object) | list of portfolio related links (nullable) |
| images_data | List(object) | list of gallery images objects (nullable) |
| description | String | full description of the project (nullable) |
| meta | List(objcet) | list of meta objects (nullable) |
Image Data Structure
| Field | Type | Description |
|---|---|---|
| id | Integer | Unique ID of the image |
| type | String | File type (e.g., image/jpeg) |
| name | String | Original file name |
| size | Integer | File size in bytes |
| human_readable_size | String | Human readable file size (e.g., 2.5 MB) |
| f | String | URL to access the image file |
| width | Integer | Image width in pixels |
| height | Integer | Image height in pixels |
| mode | String | Color mode (e.g., RGB, CMYK) |
| thumbnails | List of thumbnail objects | Imgae thumbnails |
Thumbnail Data Structure
| Field | Type | Description |
|---|---|---|
| id | Integer | Unique ID of the thumbnail (unique) |
| f | String | URL to access the thumbnail file |
| size | Integer | File size in bytes (nullable) |
Client Data Structure
| Field | Type | Description |
|---|---|---|
| id | Integer | Unique ID of the client |
| name | String | client name (unique) |
| description | String | Description of the client (nullable) |
| image_data | Object | client image details |
Tag Data Structure
| Field | Type | Description |
|---|---|---|
| id | Integer | Unique ID of the tag |
| name | String | tag name (unique) |
| image_data | Object | tag image details |
Link Data Structure
| Field | Type | Description |
|---|---|---|
| id | Integer | Unique ID of the link |
| name | String | link name (not unique) |
| url | URLField | URL related to the link(nullable) |
| description | String | Description of the link (nullable) |
| image_data | Object | link image details |
Meta Data Structure
| Field | Type | Description |
|---|---|---|
| id | Integer | Unique ID of the meta data |
| key | String | The key name of the meta data |
| value_text | String | The text value of the meta data |
| value_file | Object | The file value of the meta data |
Meta value_file data structure
| Field | Type | Description |
|---|---|---|
| id | Integer | Unique ID of the file |
| type | String | The type of the file |
| name | String | The name of the file |
| size | Integer | The size of the file in bytes |
| human_readable_size | String | The human-readable size of the file |
| f | String | The url to the file |
Example Response
{
"id": 62,
"title": "project one",
"slug": "project-one",
"excerpt": "a great project",
"order": 1,
"year": 1990,
"image_data": {
"id": 7,
"type": "image",
"name": "computers",
"size": 3284,
"human_readable_size": "3.21 KB",
"f": "http://localhost:8000/media/core_media/2025/12/02/computer.png",
"width": 235,
"height": 215,
"mode": "P",
"thumbnails": [
{
"id": 213,
"f": "http://127.0.0.1:8000/media/core_media/2026/02/02/thumbnails/test2_ecH0zVV_thumbnail_64x64.jpg",
"size": 64
},
{
"id": 214,
"f": "http://127.0.0.1:8000/media/core_media/2026/02/02/thumbnails/test2_ecH0zVV_thumbnail_128x128.jpg",
"size": 128
},
{
"id": 215,
"f": "http://127.0.0.1:8000/media/core_media/2026/02/02/thumbnails/test2_ecH0zVV_thumbnail_512x512.jpg",
"size": 512
},
{
"id": 216,
"f": "http://127.0.0.1:8000/media/core_media/2026/02/02/thumbnails/test2_ecH0zVV_thumbnail_1080x1080.jpg",
"size": 1080
}
]
},
"client_data": {
"id": 1,
"name": "شرکت معین",
"image_data": {
"id": 4,
"type": "image",
"name": "rams",
"size": 118805,
"human_readable_size": "116.02 KB",
"f": "http://localhost:8000/media/core_media/2025/11/29/RAMFeatured.jpg",
"width": 1280,
"height": 720,
"mode": "RGB",
"thumbnails": [
{
"id": 213,
"f": "http://127.0.0.1:8000/media/core_media/2026/02/02/thumbnails/test2_ecH0zVV_thumbnail_64x64.jpg",
"size": 64
},
{
"id": 214,
"f": "http://127.0.0.1:8000/media/core_media/2026/02/02/thumbnails/test2_ecH0zVV_thumbnail_128x128.jpg",
"size": 128
},
{
"id": 215,
"f": "http://127.0.0.1:8000/media/core_media/2026/02/02/thumbnails/test2_ecH0zVV_thumbnail_512x512.jpg",
"size": 512
},
{
"id": 216,
"f": "http://127.0.0.1:8000/media/core_media/2026/02/02/thumbnails/test2_ecH0zVV_thumbnail_1080x1080.jpg",
"size": 1080
}
]
},
"description": "توضیحات مربوط به کارفرما"
},
"tags_data": [
{
"id": 2,
"name": "python",
"image_data": {
"id": 7,
"type": "image",
"name": "computers",
"size": 3284,
"human_readable_size": "3.21 KB",
"f": "http://localhost:8000/media/core_media/2025/12/02/computer.png",
"width": 235,
"height": 215,
"mode": "P",
"thumbnails": [
{
"id": 213,
"f": "http://127.0.0.1:8000/media/core_media/2026/02/02/thumbnails/test2_ecH0zVV_thumbnail_64x64.jpg",
"size": 64
},
{
"id": 214,
"f": "http://127.0.0.1:8000/media/core_media/2026/02/02/thumbnails/test2_ecH0zVV_thumbnail_128x128.jpg",
"size": 128
},
{
"id": 215,
"f": "http://127.0.0.1:8000/media/core_media/2026/02/02/thumbnails/test2_ecH0zVV_thumbnail_512x512.jpg",
"size": 512
},
{
"id": 216,
"f": "http://127.0.0.1:8000/media/core_media/2026/02/02/thumbnails/test2_ecH0zVV_thumbnail_1080x1080.jpg",
"size": 1080
}
]
}
}
],
"links_data": [
{
"id": 1,
"name": "github",
"url": "https://github.com/somewhere",
"image_data": {
"id": 5,
"type": "image",
"name": "keyboard",
"size": 2131742,
"human_readable_size": "2.03 MB",
"f": "http://localhost:8000/media/core_media/2025/11/29/Fantasticheskie_kartinki_dlja_monitora_68_96.jpg",
"width": 2560,
"height": 1600,
"mode": "RGB",
"thumbnails": [
{
"id": 213,
"f": "http://127.0.0.1:8000/media/core_media/2026/02/02/thumbnails/test2_ecH0zVV_thumbnail_64x64.jpg",
"size": 64
},
{
"id": 214,
"f": "http://127.0.0.1:8000/media/core_media/2026/02/02/thumbnails/test2_ecH0zVV_thumbnail_128x128.jpg",
"size": 128
},
{
"id": 215,
"f": "http://127.0.0.1:8000/media/core_media/2026/02/02/thumbnails/test2_ecH0zVV_thumbnail_512x512.jpg",
"size": 512
},
{
"id": 216,
"f": "http://127.0.0.1:8000/media/core_media/2026/02/02/thumbnails/test2_ecH0zVV_thumbnail_1080x1080.jpg",
"size": 1080
}
]
},
"description": "این لینک پروژه است"
}
],
"is_active": true,
"description": "this is some great project",
"images_data": [
{
"id": 1,
"type": "image",
"name": "logitech-logo",
"size": 2763,
"human_readable_size": "2.70 KB",
"f": "http://localhost:8000/media/core_media/2025/11/22/logitech.png",
"width": 287,
"height": 176,
"mode": "P",
"thumbnails": [
{
"id": 213,
"f": "http://127.0.0.1:8000/media/core_media/2026/02/02/thumbnails/test2_ecH0zVV_thumbnail_64x64.jpg",
"size": 64
},
{
"id": 214,
"f": "http://127.0.0.1:8000/media/core_media/2026/02/02/thumbnails/test2_ecH0zVV_thumbnail_128x128.jpg",
"size": 128
},
{
"id": 215,
"f": "http://127.0.0.1:8000/media/core_media/2026/02/02/thumbnails/test2_ecH0zVV_thumbnail_512x512.jpg",
"size": 512
},
{
"id": 216,
"f": "http://127.0.0.1:8000/media/core_media/2026/02/02/thumbnails/test2_ecH0zVV_thumbnail_1080x1080.jpg",
"size": 1080
}
]
},
{
"id": 2,
"type": "image",
"name": "logitech-mx-1",
"size": 4766,
"human_readable_size": "4.65 KB",
"f": "http://localhost:8000/media/core_media/2025/11/22/logitech-mx-1.jpg",
"width": 225,
"height": 225,
"mode": "RGB",
"thumbnails": [
{
"id": 213,
"f": "http://127.0.0.1:8000/media/core_media/2026/02/02/thumbnails/test2_ecH0zVV_thumbnail_64x64.jpg",
"size": 64
},
{
"id": 214,
"f": "http://127.0.0.1:8000/media/core_media/2026/02/02/thumbnails/test2_ecH0zVV_thumbnail_128x128.jpg",
"size": 128
},
{
"id": 215,
"f": "http://127.0.0.1:8000/media/core_media/2026/02/02/thumbnails/test2_ecH0zVV_thumbnail_512x512.jpg",
"size": 512
},
{
"id": 216,
"f": "http://127.0.0.1:8000/media/core_media/2026/02/02/thumbnails/test2_ecH0zVV_thumbnail_1080x1080.jpg",
"size": 1080
}
]
}
],
"meta": [
{
"id": 14,
"key": "top_right",
"value_text": "\"https://google.com\"",
"value_file": null
}
]
}