EAB tokens

EAB tokens are called external bindings inside the API.

Fields

  • acme_key_id - Account key created with this token. (Read-only)
  • directory_id - Directory to which this token belongs.
  • id - CertFu’s ID for the EAB token, eg: eab_sample123456. (Read-only)
  • mac_key - Base64-encoded MAC key. (Read-only)
  • name - Name of this token. Copied to the account key.
  • object - Always external_binding. (Read-only)
  • order_validations - challenge or auto_approved. Copied to the account key.
Required permissions
API Permission
List, Retrieve read (without mac_key); write
Create, Update, Delete write

List EAB tokens

Query params
  • acme_key_id - Filter by acme_key_id.
  • directory_id - Filter by directory_id.
  • Plus standard paging params.
    • sort - Fields: id (default), name.

At least one of acme_key_id or directory_id is required. acme_key_id may filter for an empty value, but requires another filter.

Request
GET /v1/external_bindings?directory_id=dir_sample123456
GET /v1/external_bindings?acme_key_id=&directory_id=dir_sample123456
Response

On success, 200 with 0 or more EAB tokens.

{
  "collection": [
    {
      "acme_key_id": null,
      "directory_id": "dir_sample123456",
      "id": "eab_sample123456",
      "mac_key": "abcdefghij1234567890ABCDEFGHIJ1234567890abc",
      "name": "host.example.com",
      "object": "external_binding",
      "order_validations": "challenge"
    }
  ],
  "more_results": false
}

Retrieve an EAB token

Request
GET /v1/external_bindings/eab_sample123456
Response

On success, 200 with the EAB token.

{
  "acme_key_id": null,
  "directory_id": "dir_sample123456",
  "directory_url": "http://acme.certfu.lcl.so/v2/example-prod/directory",
  "id": "eab_sample123456",
  "mac_key": "abcdefghij1234567890ABCDEFGHIJ1234567890abc",
  "name": "host.example.com",
  "object": "external_binding",
  "order_validations": "challenge"
}

Create an EAB token

Request
POST /v1/external_bindings
{
  "external_binding": {
    "directory_id": "dir_sample123456",
    "name": "host2.example.com"
  }
}
Response

On success, 201 with the new EAB token.
On error, 422 with standard error response.

{
  "acme_key_id": null,
  "directory_id": "dir_sample123456",
  "directory_url": "http://acme.certfu.lcl.so/v2/example-prod/directory",
  "id": "eab_sample123456",
  "mac_key": "abcdefghij1234567890ABCDEFGHIJ1234567890abc",
  "name": "host2.example.com",
  "object": "external_binding",
  "order_validations": "challenge"
}

Update an EAB token

Tokens may only be updated prior to being used.

Request
PUT /v1/external_bindings/eab_sample123456
{
  "external_binding": {
    "order_validations": "auto_approve"
  }
}
Response

On success, 200 with the updated EAB token.
On error, 422 with standard error response.

{
  "acme_key_id": null,
  "directory_id": "dir_sample123456",
  "directory_url": "http://acme.certfu.lcl.so/v2/example-prod/directory",
  "id": "eab_sample123456",
  "mac_key": "abcdefghij1234567890ABCDEFGHIJ1234567890abc",
  "name": "host.example.com",
  "object": "external_binding",
  "order_validations": "auto_approve"
}

Delete an EAB token

Tokens may only be deleted when unused. Once associated with an Account key, delete that key instead.

Request
DELETE /v1/external_bindings/eab_sample123456
Response

On success, 204 with an empty response.
On error, 422 with standard error response.