A profile with its YAML, template, versions, and maintainers (REQ-013).
GET
/profiles/{key}
const url = 'https://example.com/api/v1/profiles/example';const options = {method: 'GET'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://example.com/api/v1/profiles/exampleParameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters”key
required
string
Responses
Section titled “ Responses ”The profile.
Media typeapplication/json
object
key
required
string
name
required
string
version
required
integer format: int64
origin
required
string
yaml
required
string
template
required
string
versions
required
Array<object>
object
version
required
integer format: int64
created_by
required
string
created_at
required
string format: date-time
origin
required
Where the version came from. A rollback says which version it repeats.
string
maintainers
required
Array<string>
can_edit
required
boolean
editable
required
False when the profile cannot be saved here, such as a built-in in local mode with no .speccy/profiles folder rights.
boolean
Examplegenerated
{ "key": "example", "name": "example", "version": 1, "origin": "example", "yaml": "example", "template": "example", "versions": [ { "version": 1, "created_by": "example", "created_at": "2026-04-15T12:00:00Z", "origin": "example" } ], "maintainers": [ "example" ], "can_edit": true, "editable": true}default
Section titled “default”An error.
Media typeapplication/problem+json
RFC 9457 problem details with a stable code.
object
type
required
string
title
required
string
status
required
integer
detail
string
instance
string
code
required
A stable machine-readable error code.
string
Examplegenerated
{ "type": "example", "title": "example", "status": 1, "detail": "example", "instance": "example", "code": "example"}