Portfolio items are evidence or achievements linked to a user. These items can be added manually or automatically (such as via a certificate). Each item contains a title, description, dates, and optional attachments (e.g., certificates or uploads).
Retrieves one specific portfolio item via ID.
query {
portfolioItem(id: "uuid-here") {
id
title
description
startDate
endDate
files
}
}
Provides an overview of all portfolio items linked to a user.
query {
portfolioItems(userId: "uuid-user") {
id
title
startDate
endDate
}
}
Adds a portfolio item to a user, with optional attachments and validity.
mutation {
createPortfolioItem(
input: {
userId: "uuid-user"
title: "Obtained safety certificate"
description: "Obtained at location X"
startDate: "2023-08-05"
endDate: "2025-08-05"
files: [
"https://files.pluvo.co/certificate.pdf"
]
}
) {
portfolioItem {
id
title
}
}
}
Modifies the content of an existing portfolio item.
mutation {
updatePortfolioItem(
id: "uuid-item"
input: {
description: "Updated explanation"
}
) {
portfolioItem {
id
description
}
}
}
Permanently deletes a portfolio item.
mutation {
deletePortfolioItem(id: "uuid-item") {
success
}
}
PortfolioItem
type PortfolioItem {
id: ID!
user: User!
title: String!
description: String
startDate: DateTime!
endDate: DateTime
files: [String!]
createdAt: DateTime
updatedAt: DateTime
}
portfolioItem(id: UUID!): PortfolioItem
portfolioItems(userId: UUID): [PortfolioItem!]!
createPortfolioItem(input: CreatePortfolioItemInput!): PortfolioItemPayload
updatePortfolioItem(id: UUID!, input: UpdatePortfolioItemInput!): PortfolioItemPayload
deletePortfolioItem(id: UUID!): DeletePortfolioItemPayload
https://files.pluvo.co/...
).startDate
represents the moment of acquisition (e.g., date obtained).endDate
is optional and represents a potential validity period.PortfolioItem
updates and creations are also sent via webhooks (PORTFOLIO_ITEM_CREATED
, etc.).