card.bsnk.me API Documentation
To get it out of the way to start with: This API can be used for whatever you want :). That said, if you’re likely to be a large consumer, I’d appreciate a heads up.
For ALL.Net use, it is recommended to use this API both in the webui for card lookups and in the AiMeDB FeliCa lookup functions. If this API is used exclusively in the webui without AiMeDB integration issues can occur during lookup. If this is likely to be problematic, please get in touch.
Lookup a Card
- POST /lookupwith- {"card": "..."}
- GET /card/{card}
{
    type: "Card type",
    errors: [
        ("Failed converter name", "Error message"),
        ...
    ],
    ids: {
        idType: "Card ID",
        ...
    },
    info: {
        idType: {
            Metadata
        },
        ...
    }
}
All card types are valid both as input and output. The following is the list of supported formats, in the order they are checked for detection. All input formats are case insensitive.
| Card Type | Name | Input Format | Output Format | 
|---|---|---|---|
| e004 | Konami Old Card ID | 8 hex bytes, with or without spaces/colons, starting with E004 | 8 uppercase hex bytes, without spaces | 
| idm | Felica IDm | 8 hex bytes, with or without spaces/colons | 8 uppercase hex bytes, without spaces | 
| idm_pmm | Felica IDm+PMm | 16 hex bytes, with or without spaces/colons | 16 uppercase hex bytes, without spaces | 
| 0008 | Naive 0008-style Access Code | 20 numerical digits with or without spaces, starting with 00 | 20 numerical digits, without spaces | 
| sega | SEGA Aime Access Code | 20 numerical digits with or without spaces, starting with 0 | |
| bng | Banapass Access Code | 20 numerical digits with or without spaces, starting with 3 | |
| aicc | Amusement IC Access Code | 20 numerical digits with or without spaces, starting with 5 | |
| konami | Konami User ID | 16 characters | 16 uppercase characters, without spaces | 
| unknown | Unknown | Anything else | 
The following card types have additional metadata that will be present in the info block.
bng Metadata
Warning
Currently all fields return 0
{
    rand_num: 0,
    product: 0,
    app: 0,
    namco_id: 0,
    bcd: 0,
}
sega Metadata
{
    type: "Card variant",
    serial: 0,  // Card serial number
}
aicc Metadata
{
    company: "Card issuer company name",
    valid: false
}
{
    company: "Card issuer company name",
    valid: true,
    serial: 0,  // Card serial number
    version: 0,  // Access Code encoding version
}
idm Metadata
Note
Depending on the generation of the card, additional information is contained within the IDm identifying the date and serial number of production. As this is not reliable, and I have not yet identified a reliable way to identify which IDm were generated using this scheme, this information is not currently exposed.
{
    manufacturer: 0,  // Card manufacturer. 11777 = 01:2E, for AICC
}
idm_pmm Metadata
Consult the FeliCa documentation for specific details regarding the usage of this information, if required. The mobile flag is the only field that is typically worth using.
{
    mobile: true/false,
    rom_type: 0,
    ic_type: 0,
    ic: "FeliCa IC type name",
    timings: {
        service: 0.0,
        resp_ser_sys: 0.0,
        auth: 0.0,
        read: 0.0,
        write: 0.0,
        reg_sep_cng: 0.0,
    }
}
Identify a Card
- POST /identifywith- {"card": "..."}
{
    type: "Card type",
    canonical: "Card ID normalised to output format"
}
Normalise a Card for Network Use
- GET /normalise/{type}:{card}
"normalised card ID"
The following values are supported for type:
- konami: Normalise a card for use on any e-Amusement network
- sega: Normalise a card for use on a legitimate SEGA network, or an ALL.Net network making use of this API for card conversion
- aqua: Normalise a card for use on an Aqua-based network
- myth: Normalise a card for use on Mythos
- art: Normalise a card for use on an Artemis-based network
If an unsupported type value is used, an HTTP 400 is returned with an empty body of "".
If card conversion fails, an HTTP 404 is returned with an empty body of "".