Persons

Manage persons (actors, directors, etc.) for movies and TV series.

List Persons

GET /api/v1/persons

Query Parameters

Parameter Type Required Description
person_id string No Filter by person ID
name string No Filter by person name

Response

{
    "data": [
        {
            "id": 1,
            "name": "Tom Hanks"
        },
        {
            "id": 2,
            "name": "Steven Spielberg"
        }
    ],
    "links": {
        "first": "https://api.dobridobrev.com/api/v1/persons?page=1",
        "last": "https://api.dobridobrev.com/api/v1/persons?page=1",
        "prev": null,
        "next": null
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 1,
        "per_page": 100,
        "to": 2,
        "total": 2
    }
}

Get Person

GET /api/v1/persons/{person}

Path Parameters

Parameter Type Required Description
person integer Yes Person ID

Response

{
    "data": {
        "id": 1,
        "name": "Tom Hanks"
    }
}

Create Person

POST /api/v1/persons

Request Body

Parameter Type Required Description
name string Yes Person's name (max 128 characters)

Response

{
    "message": "Person created successfully",
    "data": {
        "id": 1,
        "name": "Tom Hanks"
    }
}

Note

If a person with the same name already exists, the API will return the existing person instead of creating a duplicate:

{
    "message": "Person already exists",
    "person": {
        "id": 1,
        "name": "Tom Hanks"
    }
}

Update Person

PUT /api/v1/persons/{person}

Path Parameters

Parameter Type Required Description
person integer Yes Person ID

Request Body

Parameter Type Required Description
name string Yes New person's name (max 128 characters)

Response

{
    "data": {
        "id": 1,
        "name": "Tom Hanks"
    }
}

Delete Person

DELETE /api/v1/persons/{person}

Path Parameters

Parameter Type Required Description
person integer Yes Person ID

Response

{
    "message": "Person deleted successfully"
}