Skip to main content

Peridio Resource Names (PRNs)

Peridio Resource Names (PRNs) uniquely identify Peridio resources. PRNs are used throughout the Peridio platform to reference specific resources in API calls and responses.

Overview

PRNs provide a standardized way to reference any resource within the Peridio platform. They are:

  • Globally Unique: No two resources share the same PRN
  • Immutable: PRNs never change once assigned
  • Hierarchical: Reflect the resource ownership structure
  • Self-Describing: Include resource type and organization context

PRN Format

The following are the general formats for PRNs:

prn:prn-version:organization-id
prn:prn-version:organization-id:resource-type:resource-id

Components

ComponentDescriptionExample
prnFixed prefix identifying this as a PRNprn
prn-versionVersion of the PRN format (currently 1)1
organization-idUUID of the owning organizationeec5cabf-c4a8-46ab-ae5a-70ca847d558d
resource-typeType of resource (singular form)artifact, device, product
resource-idUUID of the specific resourceddfd22a7-d928-4dce-8de2-cd98bd0dd72a

Special Cases

Organization PRN

Organizations have a special format to avoid redundancy:

prn:1:eec5cabf-c4a8-46ab-ae5a-70ca847d558d

Artifact PRN

Standard resource format:

prn:1:eec5cabf-c4a8-46ab-ae5a-70ca847d558d:artifact:ddfd22a7-d928-4dce-8de2-cd98bd0dd72a

Resource Types

The following resource types are supported in PRNs:

Resource TypePRN IdentifierExample
API Keysapi_keyprn:1:org-uuid:api_key:key-uuid
Artifactsartifactprn:1:org-uuid:artifact:artifact-uuid
Artifact Versionsartifact_versionprn:1:org-uuid:artifact_version:version-uuid
Binariesbinaryprn:1:org-uuid:binary:binary-uuid
Binary Partsbinary_partprn:1:org-uuid:binary_part:part-uuid
Binary Signaturesbinary_signatureprn:1:org-uuid:binary_signature:signature-uuid
Bundlesbundleprn:1:org-uuid:bundle:bundle-uuid
CA Certificatesca_certificateprn:1:org-uuid:ca_certificate:cert-uuid
Cohortscohortprn:1:org-uuid:cohort:cohort-uuid
Device Certificatesdevice_certificateprn:1:org-uuid:device_certificate:cert-uuid
Devicesdeviceprn:1:org-uuid:device:device-uuid
Organizations(special case)prn:1:org-uuid
Productsproductprn:1:org-uuid:product:product-uuid
Releasesreleaseprn:1:org-uuid:release:release-uuid
Signing Keyssigning_keyprn:1:org-uuid:signing_key:key-uuid
Tunnelstunnelprn:1:org-uuid:tunnel:tunnel-uuid
Usersuserprn:1:user:user-uuid
Webhookswebhookprn:1:org-uuid:webhook:webhook-uuid

Using PRNs

In API Calls

PRNs are used in API requests to specify exact resources:

# Get a specific device using its PRN
curl -X GET https://api.peridio.com/devices/prn:1:eec5cabf-c4a8-46ab-ae5a-70ca847d558d:device:ddfd22a7-d928-4dce-8de2-cd98bd0dd72a \
-H "Authorization: Bearer $API_KEY"

In Cross-References

PRNs enable precise references between resources:

{
"device_prn": "prn:1:eec5cabf-c4a8-46ab-ae5a-70ca847d558d:device:ddfd22a7-d928-4dce-8de2-cd98bd0dd72a",
"bundle_prn": "prn:1:eec5cabf-c4a8-46ab-ae5a-70ca847d558d:bundle:b3f1f699-3bc8-4c77-bda2-b974595d5e3f"
}

Best Practices

PRNs are provided in API responses when creating or retrieving resources. You typically don't need to construct them manually.

All support requests will need PRNs to identify resources. PRNs are the only unique identifier we consider and will not accept object "names" or "identifiers".

Security Considerations

  1. PRNs are not secrets: While unique, PRNs should not be treated as authentication tokens
  2. Access Control: Always verify permissions before acting on a PRN
  3. Audit Logging: Log all operations involving PRNs
  4. Input Validation: Validate PRN format to prevent injection attacks
  5. Rate Limiting: Implement rate limiting for PRN-based operations

Troubleshooting

Invalid PRN Format

  • Verify all components are present
  • Check UUIDs are valid format
  • Ensure resource type is singular and lowercase
  • Confirm organization exists

PRN Not Found

  • Verify resource exists
  • Check organization membership
  • Confirm permissions to access resource
  • Validate PRN construction

Permission Denied

  • Review user's role and permissions
  • Check resource-level access controls
  • Verify organization membership
  • Audit policy statements