REST APIs

Overview

Trustpoint provides a comprehensive set of REST APIs that enable secure, programmatic access to its core services and resources. These APIs are designed around standard HTTP methods and predictable resource-oriented URLs, making them easy to integrate into existing applications and workflows. Through the Trustpoint REST APIs, developers can automate key operations, retrieve and manage data in real time, and build scalable integrations while maintaining the platform’s security, reliability, and compliance standards.

Definition

Backup

GET /api/backups/

ViewSet for managing Backup instances.

Supports standard CRUD operations such as list, retrieve, create, update, and delete.

Query Parameters:
  • ordering (string) – Which field to use when ordering the results.

  • search (string) – A search term.

  • user (string)

Example request:

GET /api/backups/ HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    [
        {
            "id": 1,
            "remote_directory": "string"
        }
    ]
    

POST /api/backups/

ViewSet for managing Backup instances.

Supports standard CRUD operations such as list, retrieve, create, update, and delete.

Example request:

POST /api/backups/ HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "remote_directory": "string"
}
Status Codes:
  • 201 Created

    Example response:

    HTTP/1.1 201 Created
    Content-Type: application/json
    
    {
        "id": 1,
        "remote_directory": "string"
    }
    

GET /api/backups/{id}/

ViewSet for managing Backup instances.

Supports standard CRUD operations such as list, retrieve, create, update, and delete.

Parameters:
  • id (integer) – A unique integer value identifying this Backup Option.

Example request:

GET /api/backups/{id}/ HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "id": 1,
        "remote_directory": "string"
    }
    

PUT /api/backups/{id}/

ViewSet for managing Backup instances.

Supports standard CRUD operations such as list, retrieve, create, update, and delete.

Parameters:
  • id (integer) – A unique integer value identifying this Backup Option.

Example request:

PUT /api/backups/{id}/ HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "remote_directory": "string"
}
Status Codes:
  • 200 OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "id": 1,
        "remote_directory": "string"
    }
    

PATCH /api/backups/{id}/

ViewSet for managing Backup instances.

Supports standard CRUD operations such as list, retrieve, create, update, and delete.

Parameters:
  • id (integer) – A unique integer value identifying this Backup Option.

Example request:

PATCH /api/backups/{id}/ HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "remote_directory": "string"
}
Status Codes:
  • 200 OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "id": 1,
        "remote_directory": "string"
    }
    

DELETE /api/backups/{id}/

ViewSet for managing Backup instances.

Supports standard CRUD operations such as list, retrieve, create, update, and delete.

Parameters:
  • id (integer) – A unique integer value identifying this Backup Option.

Status Codes:

Certificate Profile

GET /api/cert-profiles/

ViewSet for managing Certificate Profile instances.

Supports standard CRUD operations such as list, retrieve, create, update, and delete.

Query Parameters:
  • created_at (string)

  • ordering (string) – Which field to use when ordering the results.

  • search (string) – A search term.

  • unique_name (string)

Example request:

GET /api/cert-profiles/ HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    [
        {
            "id": 1,
            "unique_name": "string"
        }
    ]
    

POST /api/cert-profiles/

ViewSet for managing Certificate Profile instances.

Supports standard CRUD operations such as list, retrieve, create, update, and delete.

Example request:

POST /api/cert-profiles/ HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "unique_name": "string"
}
Status Codes:
  • 201 Created

    Example response:

    HTTP/1.1 201 Created
    Content-Type: application/json
    
    {
        "id": 1,
        "unique_name": "string"
    }
    

GET /api/cert-profiles/{id}/

ViewSet for managing Certificate Profile instances.

Supports standard CRUD operations such as list, retrieve, create, update, and delete.

Parameters:
  • id (integer) – A unique integer value identifying this certificate profile model.

Example request:

GET /api/cert-profiles/{id}/ HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "id": 1,
        "unique_name": "string"
    }
    

PUT /api/cert-profiles/{id}/

ViewSet for managing Certificate Profile instances.

Supports standard CRUD operations such as list, retrieve, create, update, and delete.

Parameters:
  • id (integer) – A unique integer value identifying this certificate profile model.

Example request:

PUT /api/cert-profiles/{id}/ HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "unique_name": "string"
}
Status Codes:
  • 200 OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "id": 1,
        "unique_name": "string"
    }
    

PATCH /api/cert-profiles/{id}/

ViewSet for managing Certificate Profile instances.

Supports standard CRUD operations such as list, retrieve, create, update, and delete.

Parameters:
  • id (integer) – A unique integer value identifying this certificate profile model.

Example request:

PATCH /api/cert-profiles/{id}/ HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "unique_name": "string"
}
Status Codes:
  • 200 OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "id": 1,
        "unique_name": "string"
    }
    

DELETE /api/cert-profiles/{id}/

ViewSet for managing Certificate Profile instances.

Supports standard CRUD operations such as list, retrieve, create, update, and delete.

Parameters:
  • id (integer) – A unique integer value identifying this certificate profile model.

Status Codes:

Certificate

GET /api/certificates/

List certificates

Retrieve certificates from the database.

Query Parameters:
  • not_valid_before (string)

  • ordering (string) – Which field to use when ordering the results.

  • search (string) – A search term.

  • serial_number (string)

Example request:

GET /api/certificates/ HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    [
        {
            "id": 1,
            "common_name": "string"
        }
    ]
    

POST /api/certificates/

ViewSet for managing Certificate instances.

Supports standard CRUD operations such as list, retrieve, create, update, and delete.

Example request:

POST /api/certificates/ HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "common_name": "string"
}
Status Codes:
  • 201 Created

    Example response:

    HTTP/1.1 201 Created
    Content-Type: application/json
    
    {
        "id": 1,
        "common_name": "string"
    }
    

GET /api/certificates/{id}/

ViewSet for managing Certificate instances.

Supports standard CRUD operations such as list, retrieve, create, update, and delete.

Parameters:
  • id (integer) – A unique integer value identifying this certificate model.

Example request:

GET /api/certificates/{id}/ HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "id": 1,
        "common_name": "string"
    }
    

PUT /api/certificates/{id}/

ViewSet for managing Certificate instances.

Supports standard CRUD operations such as list, retrieve, create, update, and delete.

Parameters:
  • id (integer) – A unique integer value identifying this certificate model.

Example request:

PUT /api/certificates/{id}/ HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "common_name": "string"
}
Status Codes:
  • 200 OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "id": 1,
        "common_name": "string"
    }
    

PATCH /api/certificates/{id}/

ViewSet for managing Certificate instances.

Supports standard CRUD operations such as list, retrieve, create, update, and delete.

Parameters:
  • id (integer) – A unique integer value identifying this certificate model.

Example request:

PATCH /api/certificates/{id}/ HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "common_name": "string"
}
Status Codes:
  • 200 OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "id": 1,
        "common_name": "string"
    }
    

DELETE /api/certificates/{id}/

ViewSet for managing Certificate instances.

Supports standard CRUD operations such as list, retrieve, create, update, and delete.

Parameters:
  • id (integer) – A unique integer value identifying this certificate model.

Status Codes:

Device

GET /api/devices/

ViewSet for managing Device instances.

Supports standard CRUD operations such as list, retrieve, create, update, and delete.

Query Parameters:
  • ordering (string) – Which field to use when ordering the results.

  • search (string) – A search term.

Example request:

GET /api/devices/ HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    [
        {
            "id": 1,
            "common_name": "string",
            "serial_number": "string",
            "device_type": 0,
            "created_at": "2026-07-08T12:12:25.626788",
            "domain": 1,
            "onboarding_config": 1,
            "no_onboarding_config": 1
        }
    ]
    

POST /api/devices/

ViewSet for managing Device instances.

Supports standard CRUD operations such as list, retrieve, create, update, and delete.

Example request:

POST /api/devices/ HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "common_name": "string",
    "serial_number": "string",
    "device_type": 0,
    "domain": 1,
    "onboarding_config": 1,
    "no_onboarding_config": 1
}
Status Codes:
  • 201 Created

    Example response:

    HTTP/1.1 201 Created
    Content-Type: application/json
    
    {
        "id": 1,
        "common_name": "string",
        "serial_number": "string",
        "device_type": 0,
        "created_at": "2026-07-08T12:12:25.626788",
        "domain": 1,
        "onboarding_config": 1,
        "no_onboarding_config": 1
    }
    

GET /api/devices/{id}/

ViewSet for managing Device instances.

Supports standard CRUD operations such as list, retrieve, create, update, and delete.

Parameters:
  • id (integer) – A unique integer value identifying this device model.

Example request:

GET /api/devices/{id}/ HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "id": 1,
        "common_name": "string",
        "serial_number": "string",
        "device_type": 0,
        "created_at": "2026-07-08T12:12:25.626788",
        "domain": 1,
        "onboarding_config": 1,
        "no_onboarding_config": 1
    }
    

PUT /api/devices/{id}/

ViewSet for managing Device instances.

Supports standard CRUD operations such as list, retrieve, create, update, and delete.

Parameters:
  • id (integer) – A unique integer value identifying this device model.

Example request:

PUT /api/devices/{id}/ HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "common_name": "string",
    "serial_number": "string",
    "device_type": 0,
    "domain": 1,
    "onboarding_config": 1,
    "no_onboarding_config": 1
}
Status Codes:
  • 200 OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "id": 1,
        "common_name": "string",
        "serial_number": "string",
        "device_type": 0,
        "created_at": "2026-07-08T12:12:25.626788",
        "domain": 1,
        "onboarding_config": 1,
        "no_onboarding_config": 1
    }
    

PATCH /api/devices/{id}/

ViewSet for managing Device instances.

Supports standard CRUD operations such as list, retrieve, create, update, and delete.

Parameters:
  • id (integer) – A unique integer value identifying this device model.

Example request:

PATCH /api/devices/{id}/ HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "common_name": "string",
    "serial_number": "string",
    "device_type": 0,
    "domain": 1,
    "onboarding_config": 1,
    "no_onboarding_config": 1
}
Status Codes:
  • 200 OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "id": 1,
        "common_name": "string",
        "serial_number": "string",
        "device_type": 0,
        "created_at": "2026-07-08T12:12:25.626788",
        "domain": 1,
        "onboarding_config": 1,
        "no_onboarding_config": 1
    }
    

DELETE /api/devices/{id}/

ViewSet for managing Device instances.

Supports standard CRUD operations such as list, retrieve, create, update, and delete.

Parameters:
  • id (integer) – A unique integer value identifying this device model.

Status Codes:

Domain

GET /api/domains/

ViewSet for managing Device instances.

Supports standard CRUD operations such as list, retrieve, create, update, and delete.

Query Parameters:
  • ordering (string) – Which field to use when ordering the results.

  • search (string) – A search term.

Example request:

GET /api/domains/ HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    [
        {
            "id": 1,
            "unique_name": "string"
        }
    ]
    

POST /api/domains/

ViewSet for managing Device instances.

Supports standard CRUD operations such as list, retrieve, create, update, and delete.

Example request:

POST /api/domains/ HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "unique_name": "string"
}
Status Codes:
  • 201 Created

    Example response:

    HTTP/1.1 201 Created
    Content-Type: application/json
    
    {
        "id": 1,
        "unique_name": "string"
    }
    

GET /api/domains/{id}/

ViewSet for managing Device instances.

Supports standard CRUD operations such as list, retrieve, create, update, and delete.

Parameters:
  • id (integer) – A unique integer value identifying this domain model.

Example request:

GET /api/domains/{id}/ HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "id": 1,
        "unique_name": "string"
    }
    

PUT /api/domains/{id}/

ViewSet for managing Device instances.

Supports standard CRUD operations such as list, retrieve, create, update, and delete.

Parameters:
  • id (integer) – A unique integer value identifying this domain model.

Example request:

PUT /api/domains/{id}/ HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "unique_name": "string"
}
Status Codes:
  • 200 OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "id": 1,
        "unique_name": "string"
    }
    

PATCH /api/domains/{id}/

ViewSet for managing Device instances.

Supports standard CRUD operations such as list, retrieve, create, update, and delete.

Parameters:
  • id (integer) – A unique integer value identifying this domain model.

Example request:

PATCH /api/domains/{id}/ HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "unique_name": "string"
}
Status Codes:
  • 200 OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "id": 1,
        "unique_name": "string"
    }
    

DELETE /api/domains/{id}/

ViewSet for managing Device instances.

Supports standard CRUD operations such as list, retrieve, create, update, and delete.

Parameters:
  • id (integer) – A unique integer value identifying this domain model.

Status Codes:

Issuing-CA

GET /api/issuing-cas/

List Issuing CAs

Retrieve all Issuing CAs from the database.

Query Parameters:
  • is_active (boolean)

  • issuing_ca_type (integer) –

    • 0 - Auto-Generated Root

    • 1 - Auto-Generated

    • 2 - Local-Unprotected

    • 3 - Local-PKCS11

    • 4 - Remote-EST

    • 5 - Remote-CMP

  • ordering (string) – Which field to use when ordering the results.

  • search (string) – A search term.

  • unique_name (string)

Example request:

GET /api/issuing-cas/ HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    [
        {
            "id": 1,
            "unique_name": "string",
            "common_name": "string",
            "issuing_ca_type": 0,
            "issuing_ca_type_display": "string",
            "is_active": true,
            "created_at": "2026-07-08T12:12:25.626788",
            "updated_at": "2026-07-08T12:12:25.626788",
            "last_crl_issued_at": "2026-07-08T12:12:25.626788",
            "has_crl": true
        }
    ]
    

GET /api/issuing-cas/{id}/

Retrieve Issuing CA

Retrieve details of a specific Issuing CA by ID.

Parameters:
  • id (integer) – A unique integer value identifying this issuing ca model.

Example request:

GET /api/issuing-cas/{id}/ HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "id": 1,
        "unique_name": "string",
        "common_name": "string",
        "issuing_ca_type": 0,
        "issuing_ca_type_display": "string",
        "is_active": true,
        "created_at": "2026-07-08T12:12:25.626788",
        "updated_at": "2026-07-08T12:12:25.626788",
        "last_crl_issued_at": "2026-07-08T12:12:25.626788",
        "has_crl": true
    }
    

GET /api/issuing-cas/{id}/crl/

Download CRL

Download the Certificate Revocation List (CRL) for this Issuing CA. Requires authentication. Supports both PEM (default) and DER formats via the format query parameter. If no CRL is available, use the POST /api/issuing-cas/<pk>/generate-crl/ endpoint to generate one first.

Parameters:
  • id (integer) – A unique integer value identifying this issuing ca model.

Query Parameters:
  • encoding (string) – CRL encoding: “pem” (default) or “der”

Example request:

GET /api/issuing-cas/{id}/crl/ HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK

    CRLGenerated - CRL Generated:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "detail": "CRL file downloaded successfully."
    }
    

  • 400 Bad Request

    InvalidFormatParameter - Invalid format parameter:

    HTTP/1.1 400 Bad Request
    Content-Type: application/json
    
    {
        "error": "No CRL available for Issuing CA \"MyCA\".",
        "hint": "Generate a CRL first using POST /api/issuing-cas/1/generate-crl/"
    }
    

  • 404 Not Found

    NotFound - Not Found:

    HTTP/1.1 404 Not Found
    Content-Type: application/json
    
    {
        "error": "No CRL available for Issuing CA \"MyCA\".",
        "hint": "Generate a CRL first using POST /api/issuing-cas/1/generate-crl/"
    }
    

POST /api/issuing-cas/{id}/generate-crl/

Generate CRL

Manually generate a new Certificate Revocation List (CRL) for this Issuing CA. No request body is required.

Parameters:
  • id (integer) – A unique integer value identifying this issuing ca model.

Status Codes:
  • 200 OK

    CRLGenerated - CRL Generated:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "message": "CRL generated successfully for Issuing CA \"MyCA\".",
        "last_crl_issued_at": "2025-12-02T16:30:00Z"
    }
    

  • 500 Internal Server Error

    ServerError - Server Error:

    HTTP/1.1 500 Internal Server Error
    Content-Type: application/json
    
    {
        "detail": "Failed to generate CRL"
    }
    

Logging

DELETE /api/logging/delete/{file_name}/

Delete a log file by name.

DELETE /logs/delete/app.log/

Parameters:
  • file_name (string)

Status Codes:
GET /api/logging/download/{file_name}/

Download a log file by name: /logs/download/?file=app.log

Parameters:
  • file_name (string)

Example request:

GET /api/logging/download/{file_name}/ HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "name": "string",
        "size": 1,
        "modified": "2026-07-08T12:12:25.626788"
    }
    

GET /api/logging/list_files/

Return detailed info for all log files.

Example request:

GET /api/logging/list_files/ HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "name": "string",
        "size": 1,
        "modified": "2026-07-08T12:12:25.626788"
    }
    

Signer

GET /api/signed-messages/

List all signed messages

Returns a list of all signed messages, ordered by creation date (newest first).

Query Parameters:
  • ordering (string) – Which field to use when ordering the results.

  • search (string) – A search term.

  • signer (integer)

Example request:

GET /api/signed-messages/ HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    [
        {
            "id": 1,
            "signer": 1,
            "signer_name": "string",
            "hash_value": "string",
            "signature": "string",
            "created_at": "2026-07-08T12:12:25.626788"
        }
    ]
    

GET /api/signed-messages/{id}/

Retrieve a signed message

Returns details of a specific signed message.

Parameters:
  • id (integer) – A unique integer value identifying this signed message model.

Example request:

GET /api/signed-messages/{id}/ HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "id": 1,
        "signer": 1,
        "signer_name": "string",
        "hash_value": "string",
        "signature": "string",
        "created_at": "2026-07-08T12:12:25.626788"
    }
    

GET /api/signers/

ViewSet for Signer operations.

Query Parameters:
  • ordering (string) – Which field to use when ordering the results.

  • search (string) – A search term.

Example request:

GET /api/signers/ HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    [
        {
            "id": 1,
            "unique_name": "string",
            "certificate_cn": "string",
            "certificate_not_valid_after": "2026-07-08T12:12:25.626788",
            "signature_suite": "string",
            "created_at": "2026-07-08T12:12:25.626788",
            "updated_at": "2026-07-08T12:12:25.626788"
        }
    ]
    

GET /api/signers/{id}/

ViewSet for Signer operations.

Parameters:
  • id (integer) – A unique integer value identifying this signer model.

Example request:

GET /api/signers/{id}/ HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "id": 1,
        "unique_name": "string",
        "certificate_cn": "string",
        "certificate_not_valid_after": "2026-07-08T12:12:25.626788",
        "signature_suite": "string",
        "created_at": "2026-07-08T12:12:25.626788",
        "updated_at": "2026-07-08T12:12:25.626788"
    }
    

GET /api/signers/{id}/certificate/

Get the signer’s certificate in PEM format.

Parameters:
  • id (integer) – A unique integer value identifying this signer model.

Example request:

GET /api/signers/{id}/certificate/ HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "id": 1,
        "unique_name": "string",
        "certificate_cn": "string",
        "certificate_not_valid_after": "2026-07-08T12:12:25.626788",
        "signature_suite": "string",
        "created_at": "2026-07-08T12:12:25.626788",
        "updated_at": "2026-07-08T12:12:25.626788"
    }
    

POST /api/signers/sign/

Sign a hash value

Signs a hash value using the specified signer. The hash value must be provided as a hexadecimal string. The signature is returned in hexadecimal format.

Status Codes:

Tls

GET /api/tls/

ViewSet for managing Backup instances.

Supports standard CRUD operations such as list, retrieve, create, update, and delete.

Query Parameters:
  • credential_type (integer) –

    • 0 - Trustpoint TLS Server

    • 1 - Root CA

    • 2 - Issuing CA

    • 3 - Issued Credential

    • 4 - DevOwnerID

    • 5 - Signer

  • ordering (string) – Which field to use when ordering the results.

  • search (string) – A search term.

Example request:

GET /api/tls/ HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    [
        {
            "id": 1,
            "credential_type": 0,
            "created_at": "2026-07-08T12:12:25.626788"
        }
    ]
    

POST /api/tls/

ViewSet for managing Backup instances.

Supports standard CRUD operations such as list, retrieve, create, update, and delete.

Example request:

POST /api/tls/ HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "credential_type": 0
}
Status Codes:
  • 201 Created

    Example response:

    HTTP/1.1 201 Created
    Content-Type: application/json
    
    {
        "id": 1,
        "credential_type": 0,
        "created_at": "2026-07-08T12:12:25.626788"
    }
    

GET /api/tls/{id}/

ViewSet for managing Backup instances.

Supports standard CRUD operations such as list, retrieve, create, update, and delete.

Parameters:
  • id (integer) – A unique integer value identifying this credential model.

Example request:

GET /api/tls/{id}/ HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "id": 1,
        "credential_type": 0,
        "created_at": "2026-07-08T12:12:25.626788"
    }
    

PUT /api/tls/{id}/

ViewSet for managing Backup instances.

Supports standard CRUD operations such as list, retrieve, create, update, and delete.

Parameters:
  • id (integer) – A unique integer value identifying this credential model.

Example request:

PUT /api/tls/{id}/ HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "credential_type": 0
}
Status Codes:
  • 200 OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "id": 1,
        "credential_type": 0,
        "created_at": "2026-07-08T12:12:25.626788"
    }
    

PATCH /api/tls/{id}/

ViewSet for managing Backup instances.

Supports standard CRUD operations such as list, retrieve, create, update, and delete.

Parameters:
  • id (integer) – A unique integer value identifying this credential model.

Example request:

PATCH /api/tls/{id}/ HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "credential_type": 0
}
Status Codes:
  • 200 OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "id": 1,
        "credential_type": 0,
        "created_at": "2026-07-08T12:12:25.626788"
    }
    

DELETE /api/tls/{id}/

ViewSet for managing Backup instances.

Supports standard CRUD operations such as list, retrieve, create, update, and delete.

Parameters:
  • id (integer) – A unique integer value identifying this credential model.

Status Codes:

Auth

POST /api/token/

Takes a set of user credentials and returns an access and refresh JSON web token pair to prove the authentication of those credentials.

Example request:

POST /api/token/ HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "username": "string",
    "password": "string"
}
Status Codes:
  • 200 OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "username": "string",
        "password": "string",
        "access": "string",
        "refresh": "string"
    }
    

POST /api/token/refresh/

Takes a refresh type JSON web token and returns an access type JSON web token if the refresh token is valid.

Example request:

POST /api/token/refresh/ HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "refresh": "string"
}
Status Codes:
  • 200 OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "access": "string",
        "refresh": "string"
    }
    

Truststore

GET /api/truststores/

List Truststores

Retrieve truststore from the database.

Query Parameters:
  • intended_usage (integer) –

    • 0 - IDevID

    • 1 - TLS

    • 2 - Generic

    • 3 - Device Owner ID

  • ordering (string) – Which field to use when ordering the results.

  • search (string) – A search term.

Example request:

GET /api/truststores/ HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    [
        {
            "id": 1,
            "unique_name": "string",
            "intended_usage": 0,
            "created_at": "2026-07-08T12:12:25.626788",
            "trust_store_file": "https://example.com"
        }
    ]
    

POST /api/truststores/

Create a new truststore

Add a new truststore by providing its unique_name, intended_usage and trust_store_file.

Example request:

POST /api/truststores/ HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "unique_name": "string",
    "intended_usage": 0,
    "trust_store_file": "https://example.com"
}
Status Codes:
  • 201 Created

    Example response:

    HTTP/1.1 201 Created
    Content-Type: application/json
    
    {
        "id": 1,
        "unique_name": "string",
        "intended_usage": 0,
        "created_at": "2026-07-08T12:12:25.626788",
        "trust_store_file": "https://example.com"
    }
    

GET /api/truststores/{id}/

ViewSet for managing Truststore instances.

Supports standard CRUD operations such as list, retrieve, create, update, and delete.

Parameters:
  • id (integer) – A unique integer value identifying this truststore model.

Example request:

GET /api/truststores/{id}/ HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "id": 1,
        "unique_name": "string",
        "intended_usage": 0,
        "created_at": "2026-07-08T12:12:25.626788",
        "trust_store_file": "https://example.com"
    }
    

PUT /api/truststores/{id}/

ViewSet for managing Truststore instances.

Supports standard CRUD operations such as list, retrieve, create, update, and delete.

Parameters:
  • id (integer) – A unique integer value identifying this truststore model.

Example request:

PUT /api/truststores/{id}/ HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "unique_name": "string",
    "intended_usage": 0,
    "trust_store_file": "https://example.com"
}
Status Codes:
  • 200 OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "id": 1,
        "unique_name": "string",
        "intended_usage": 0,
        "created_at": "2026-07-08T12:12:25.626788",
        "trust_store_file": "https://example.com"
    }
    

PATCH /api/truststores/{id}/

ViewSet for managing Truststore instances.

Supports standard CRUD operations such as list, retrieve, create, update, and delete.

Parameters:
  • id (integer) – A unique integer value identifying this truststore model.

Example request:

PATCH /api/truststores/{id}/ HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "unique_name": "string",
    "intended_usage": 0,
    "trust_store_file": "https://example.com"
}
Status Codes:
  • 200 OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "id": 1,
        "unique_name": "string",
        "intended_usage": 0,
        "created_at": "2026-07-08T12:12:25.626788",
        "trust_store_file": "https://example.com"
    }
    

DELETE /api/truststores/{id}/

ViewSet for managing Truststore instances.

Supports standard CRUD operations such as list, retrieve, create, update, and delete.

Parameters:
  • id (integer) – A unique integer value identifying this truststore model.

Status Codes:

schema

GET /schema/

OpenApi3 schema for this API. Format can be selected via content negotiation.

  • YAML: application/vnd.oai.openapi

  • JSON: application/vnd.oai.openapi+json

Query Parameters:
  • format (string)

  • lang (string)

Example request:

GET /schema/ HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {}