Skip to content

Glyphlab API 0.1.0

The Glyphlab REST API. This is ALPHA software. Please see https://docs.glyphlab.xyz/api/ for more details.


Terms of service: https://glyphlab.xyz/terms/

Servers

Description URL
https://api.glyphlab.xyz https://api.glyphlab.xyz

Endpoints


GET /v1/bookbridge/jobs

List all book conversion jobs

Description

List all jobs. Jobs are sorted by creation date.

Input parameters

Parameter In Type Default Nullable Description
limit query integer No A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

Response 200 OK

{
    "data": [
        {
            "id": "job_b4ee8c",
            "created": 1741219200,
            "expires_at": 1743984000,
            "status": "processing"
        }
    ],
    "object": "list"
}
Schema of the response body
{
    "description": "",
    "properties": {
        "data": {
            "items": {
                "$ref": "#/components/schemas/job"
            },
            "type": "array"
        },
        "object": {
            "description": "String representing the object's type. Objects of the same type share the same value. Always has the value `list`.",
            "enum": [
                "list"
            ],
            "type": "string"
        }
    },
    "required": [
        "data",
        "object"
    ],
    "title": "JobsResourceList",
    "type": "object"
}

Other responses

{
    "message": "string"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "type": "object",
    "description": "An error response from the API",
    "properties": {
        "message": {
            "type": "string",
            "description": "A human-readable message providing more details about the error.",
            "maxLength": 40000
        }
    },
    "required": [
        "message"
    ]
}

POST /v1/bookbridge/jobs

Create an book conversion job.

Description

This endpoint creates a book conversion job.

Request body

Schema of the request body
{
    "additionalProperties": false,
    "properties": {
        "file": {
            "description": "A file to upload. Make sure that the specifications follow RFC 2388, which defines file transfers for the `multipart/form-data` protocol.",
            "format": "binary",
            "type": "string"
        }
    }
}

Response 200 OK

{
    "id": "job_b4ee8c",
    "created": 1741219200,
    "expires_at": 1743984000,
    "status": "processing"
}
Schema of the response body
{
    "type": "object",
    "description": "A Job converts page images into an accessible ebook. A Job generally transitions between two states during its lifetime. A Job starts in the `processing` state. When conversion is complete, Job transitions to the `succeeded` state. If something went wrong, the Job ends up in the `failed` state. Related guide: [Convert page images of print books into accessible ebooks](https://docs.glyphlab.xyz/)",
    "properties": {
        "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
        },
        "status": {
            "description": "Status of this Job, one of `processing`, `succeeded`, or `failed.",
            "enum": [
                "processing",
                "succeeded",
                "failed"
            ],
            "type": "string"
        },
        "created": {
            "description": "Time at which the job was created. Measured in seconds since the Unix epoch.",
            "format": "unix-time",
            "type": "integer"
        },
        "expires_at": {
            "description": "Time at which the job will expire. Measured in seconds since the Unix epoch.",
            "format": "unix-time",
            "type": "integer"
        },
        "epub_url": {
            "description": "URL to ebook EPUBv3 file.",
            "maxLength": 5000,
            "type": "string"
        }
    },
    "required": [
        "id",
        "created",
        "expires_at"
    ]
}

Other responses

{
    "message": "Empty file. Expected PDF or zip file containing non-zero page images."
}
Schema of the response body
{
    "type": "object",
    "description": "An error response from the API",
    "properties": {
        "message": {
            "type": "string",
            "description": "A human-readable message providing more details about the error.",
            "maxLength": 40000
        }
    },
    "required": [
        "message"
    ]
}

GET /v1/bookbridge/jobs/{job}

Retrieve a job

Description

Retrieves the job with the given ID.

Input parameters

Parameter In Type Default Nullable Description
job path string No

Response 200 OK

{
    "id": "job_b4ee8c",
    "created": 1741219200,
    "expires_at": 1743984000,
    "status": "processing"
}
Schema of the response body
{
    "type": "object",
    "description": "A Job converts page images into an accessible ebook. A Job generally transitions between two states during its lifetime. A Job starts in the `processing` state. When conversion is complete, Job transitions to the `succeeded` state. If something went wrong, the Job ends up in the `failed` state. Related guide: [Convert page images of print books into accessible ebooks](https://docs.glyphlab.xyz/)",
    "properties": {
        "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
        },
        "status": {
            "description": "Status of this Job, one of `processing`, `succeeded`, or `failed.",
            "enum": [
                "processing",
                "succeeded",
                "failed"
            ],
            "type": "string"
        },
        "created": {
            "description": "Time at which the job was created. Measured in seconds since the Unix epoch.",
            "format": "unix-time",
            "type": "integer"
        },
        "expires_at": {
            "description": "Time at which the job will expire. Measured in seconds since the Unix epoch.",
            "format": "unix-time",
            "type": "integer"
        },
        "epub_url": {
            "description": "URL to ebook EPUBv3 file.",
            "maxLength": 5000,
            "type": "string"
        }
    },
    "required": [
        "id",
        "created",
        "expires_at"
    ]
}

Other responses

{
    "message": "string"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "type": "object",
    "description": "An error response from the API",
    "properties": {
        "message": {
            "type": "string",
            "description": "A human-readable message providing more details about the error.",
            "maxLength": 40000
        }
    },
    "required": [
        "message"
    ]
}

Schemas

error

Name Type
message string

job

Name Type
created integer(unix-time)
epub_url string
expires_at integer(unix-time)
id string
status string