4 operations. Guide: Create and manage API keys, Send your first email. Requests and responses are JSON with snake_case fields; authenticate with Authorization: Bearer <api key>. The examples assume a client built as in SDKs and the command line.

List API keys of the project

GET /v1/keys

Active keys of the calling key's environment, newest first. Never the keys themselves.

Operation listKeys, SDK minket.keys.list. Keys: full access. Live keys only: test keys get 403 test_mode_only.

Parameters

NameInTypeRequiredDescription
limitqueryintegerno Default 20.
afterquerystringnoA UUID.
beforequerystringnoA UUID.

Response

200 Success: object.

FieldTypeRequiredDescription
object"list"yes
dataarray of Keyyes
data[].idstringyesA UUID.
data[].object"key"yes
data[].project_idstringyesA UUID.
data[].environment_idstringyesA UUID.
data[].namestringyes
data[].modeone of "live", "test"yes
data[].scopeone of "full_access", "sending_access", "inbound_read"yes
data[].domain_idstring or nullyesA UUID.
data[].rate_limit_per_secondintegeryes
data[].displaystringyes
data[].tokenstringno
data[].last_used_atstring (date-time) or nullyesAn ISO 8601 timestamp with timezone, for example 2026-10-24T18:00:00.000Z.
data[].created_atstring (date-time)yesAn ISO 8601 timestamp with timezone, for example 2026-10-24T18:00:00.000Z.
data[].revoked_atstring (date-time) or nullyesAn ISO 8601 timestamp with timezone, for example 2026-10-24T18:00:00.000Z.
has_morebooleanyes

Errors: 400, 401, 403, 404, 409, 422, 429, 500, with the error body.

Examples

curl
curl https://api.minket.com/v1/keys \
  -H "Authorization: Bearer $MINKET_API_KEY"

Create an API key

POST /v1/keys

The token is returned once. Needs a live full-access key; the new key stays in its environment, with the same domain restriction and a rate limit no higher.

Operation createKey, SDK minket.keys.create. Keys: full access. Live keys only: test keys get 403 test_mode_only.

Request body

FieldTypeRequiredDescription
namestringyes1 to 100 characters.
environment_idstringyesA UUID.
modeone of "live", "test"yes
scopeone of "full_access", "sending_access", "inbound_read"noDefault "full_access".
domain_idstring or nullnoA UUID.
rate_limit_per_secondintegerno1 to 100.

Response

201 Created; `token` is returned once: Key.

FieldTypeRequiredDescription
idstringyesA UUID.
object"key"yes
project_idstringyesA UUID.
environment_idstringyesA UUID.
namestringyes
modeone of "live", "test"yes
scopeone of "full_access", "sending_access", "inbound_read"yes
domain_idstring or nullyesA UUID.
rate_limit_per_secondintegeryes
displaystringyes
tokenstringno
last_used_atstring (date-time) or nullyesAn ISO 8601 timestamp with timezone, for example 2026-10-24T18:00:00.000Z.
created_atstring (date-time)yesAn ISO 8601 timestamp with timezone, for example 2026-10-24T18:00:00.000Z.
revoked_atstring (date-time) or nullyesAn ISO 8601 timestamp with timezone, for example 2026-10-24T18:00:00.000Z.

Errors: 400, 401, 403, 404, 409, 422, 429, 500, with the error body.

Examples

curl
curl -X POST https://api.minket.com/v1/keys \
  -H "Authorization: Bearer $MINKET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"backend","environment_id":"019a2b3c-4d5e-7f60-8a9b-0c1d2e3f4a5b","mode":"live","scope":"sending_access"}'

Describe the key making the request

GET /v1/keys/current

The project, environment, mode and scope of the calling key. Every scope may call this.

Operation getCurrentKey, SDK minket.keys.current. Keys: full access, sending access, inbound read. Test keys work on test-mode data.

Response

200 Success: Key.

FieldTypeRequiredDescription
idstringyesA UUID.
object"key"yes
project_idstringyesA UUID.
environment_idstringyesA UUID.
namestringyes
modeone of "live", "test"yes
scopeone of "full_access", "sending_access", "inbound_read"yes
domain_idstring or nullyesA UUID.
rate_limit_per_secondintegeryes
displaystringyes
tokenstringno
last_used_atstring (date-time) or nullyesAn ISO 8601 timestamp with timezone, for example 2026-10-24T18:00:00.000Z.
created_atstring (date-time)yesAn ISO 8601 timestamp with timezone, for example 2026-10-24T18:00:00.000Z.
revoked_atstring (date-time) or nullyesAn ISO 8601 timestamp with timezone, for example 2026-10-24T18:00:00.000Z.

Errors: 400, 401, 403, 404, 409, 422, 429, 500, with the error body.

Examples

curl
curl https://api.minket.com/v1/keys/current \
  -H "Authorization: Bearer $MINKET_API_KEY"

Revoke an API key

DELETE /v1/keys/{id}

Revokes a key of the calling key's environment; its next request is refused.

Operation revokeKey, SDK minket.keys.revoke. Keys: full access. Live keys only: test keys get 403 test_mode_only.

Parameters

NameInTypeRequiredDescription
idpathstringyesA UUID.

Response

200 Success: object.

FieldTypeRequiredDescription
idstringyesA UUID.
object"key"yes
revoked_atstring (date-time) or nullyesAn ISO 8601 timestamp with timezone, for example 2026-10-24T18:00:00.000Z.

Errors: 400, 401, 403, 404, 409, 422, 429, 500, with the error body.

Examples

curl
curl -X DELETE https://api.minket.com/v1/keys/019a2b3c-4d5e-7f60-8a9b-0c1d2e3f4a5b \
  -H "Authorization: Bearer $MINKET_API_KEY"

Updated