API Dokumentation
GET /external-apis
Versioning
This route is provided in version 1.0.0
Authentication
Clients must supply the following data
A JSON Web Token-based API key
Response:
Status code 200
Headers: []
Supported content types are:
- `application/json`
Example (
application/json
):
- Example (
application/json
):
{
"23064b70-f28a-8b2a-a473-0435d191564a": {
"token-authority": [],
"config": {
"formats": [
"Format 1"
],
"type": "gradelist-format"
},
"last-alive": "2023-07-31T23:37:55.150705244Z",
"token-issued": "2023-07-31T23:37:55.150705244Z",
"token-expires-at": null,
"token-starts-at": null,
"public-keys": [],
"base-url": "https://example.invalid"
}
}
- Example (
application/json
):
{
"23064b70-f28a-8b2a-a473-0435d191564a": {
"token-authority": [],
"config": {
"formats": [
"Format 1"
],
"type": "gradelist-format"
},
"last-alive": "2023-07-31T23:37:55.150705244Z",
"token-issued": "2023-07-31T23:37:55.150705244Z",
"token-expires-at": null,
"token-starts-at": null,
"public-keys": [],
"base-url": "https://example.invalid"
},
"c51cab92-2456-12a5-ab99-edd005f334d1": {
"token-authority": [],
"config": {
"formats": [
"Format 1"
],
"type": "gradelist-format"
},
"last-alive": "2023-07-31T23:37:55.150705244Z",
"token-issued": "2023-07-31T23:37:55.150705244Z",
"token-expires-at": null,
"token-starts-at": null,
"public-keys": [
{
"use": "enc",
"kid": "sample RSA",
"n": "3P-PU9o9zWBIcPJfIg3vAt9_w_9PgLbDUBmgrg8U9BKDFBXYAp75KQ0-Q0FK68VIG1zJFQox9i-dDGTwcIvQ3bt0BxokeciBwQDa9xsxfS0hCOFWY5ljURZ8oiz0SWHvP_pGKDPeVi_xhkzF8erz4WL14twEkBwvGycrxyB_kIU",
"e": "AQAB",
"kty": "RSA"
}
],
"base-url": "https://example.invalid"
}
}
- Example (
application/json
):
{
"23064b70-f28a-8b2a-a473-0435d191564a": {
"token-authority": [],
"config": {
"formats": [
"Format 1"
],
"type": "gradelist-format"
},
"last-alive": "2023-07-31T23:37:55.150705244Z",
"token-issued": "2023-07-31T23:37:55.150705244Z",
"token-expires-at": null,
"token-starts-at": null,
"public-keys": [],
"base-url": "https://example.invalid"
},
"6adecb8c-bf20-3fa9-32bc-3b638b6a081f": {
"token-authority": [],
"config": {
"formats": [
"Format 1"
],
"type": "gradelist-format"
},
"last-alive": "2023-07-31T23:37:55.150705244Z",
"token-issued": "2023-07-31T23:37:55.150705244Z",
"token-expires-at": null,
"token-starts-at": null,
"public-keys": [
{
"use": "enc",
"kid": "sample RSA",
"n": "3P-PU9o9zWBIcPJfIg3vAt9_w_9PgLbDUBmgrg8U9BKDFBXYAp75KQ0-Q0FK68VIG1zJFQox9i-dDGTwcIvQ3bt0BxokeciBwQDa9xsxfS0hCOFWY5ljURZ8oiz0SWHvP_pGKDPeVi_xhkzF8erz4WL14twEkBwvGycrxyB_kIU",
"e": "AQAB",
"kty": "RSA"
}
],
"base-url": "https://example.invalid"
},
"c51cab92-2456-12a5-ab99-edd005f334d1": {
"token-authority": [],
"config": {
"formats": [
"Format 1"
],
"type": "gradelist-format"
},
"last-alive": "2023-07-31T23:37:55.150705244Z",
"token-issued": "2023-07-31T23:37:55.150705244Z",
"token-expires-at": null,
"token-starts-at": null,
"public-keys": [
{
"use": "enc",
"kid": "sample RSA",
"n": "3P-PU9o9zWBIcPJfIg3vAt9_w_9PgLbDUBmgrg8U9BKDFBXYAp75KQ0-Q0FK68VIG1zJFQox9i-dDGTwcIvQ3bt0BxokeciBwQDa9xsxfS0hCOFWY5ljURZ8oiz0SWHvP_pGKDPeVi_xhkzF8erz4WL14twEkBwvGycrxyB_kIU",
"e": "AQAB",
"kty": "RSA"
}
],
"base-url": "https://example.invalid"
}
}
- Example (
application/json
):
{
"23064b70-f28a-8b2a-a473-0435d191564a": {
"token-authority": [],
"config": {
"formats": [
"Format 1"
],
"type": "gradelist-format"
},
"last-alive": "2023-07-31T23:37:55.150705244Z",
"token-issued": "2023-07-31T23:37:55.150705244Z",
"token-expires-at": null,
"token-starts-at": null,
"public-keys": [],
"base-url": "https://example.invalid"
},
"424058be-f557-6e15-3768-2b7dc5393e3e": {
"token-authority": [],
"config": {
"formats": [
"Format 1",
"Format 2"
],
"type": "gradelist-format"
},
"last-alive": "2023-07-31T23:37:55.150705244Z",
"token-issued": "2023-07-31T23:37:55.150705244Z",
"token-expires-at": null,
"token-starts-at": null,
"public-keys": [],
"base-url": "https://example.invalid"
},
"6adecb8c-bf20-3fa9-32bc-3b638b6a081f": {
"token-authority": [],
"config": {
"formats": [
"Format 1"
],
"type": "gradelist-format"
},
"last-alive": "2023-07-31T23:37:55.150705244Z",
"token-issued": "2023-07-31T23:37:55.150705244Z",
"token-expires-at": null,
"token-starts-at": null,
"public-keys": [
{
"use": "enc",
"kid": "sample RSA",
"n": "3P-PU9o9zWBIcPJfIg3vAt9_w_9PgLbDUBmgrg8U9BKDFBXYAp75KQ0-Q0FK68VIG1zJFQox9i-dDGTwcIvQ3bt0BxokeciBwQDa9xsxfS0hCOFWY5ljURZ8oiz0SWHvP_pGKDPeVi_xhkzF8erz4WL14twEkBwvGycrxyB_kIU",
"e": "AQAB",
"kty": "RSA"
}
],
"base-url": "https://example.invalid"
},
"c51cab92-2456-12a5-ab99-edd005f334d1": {
"token-authority": [],
"config": {
"formats": [
"Format 1"
],
"type": "gradelist-format"
},
"last-alive": "2023-07-31T23:37:55.150705244Z",
"token-issued": "2023-07-31T23:37:55.150705244Z",
"token-expires-at": null,
"token-starts-at": null,
"public-keys": [
{
"use": "enc",
"kid": "sample RSA",
"n": "3P-PU9o9zWBIcPJfIg3vAt9_w_9PgLbDUBmgrg8U9BKDFBXYAp75KQ0-Q0FK68VIG1zJFQox9i-dDGTwcIvQ3bt0BxokeciBwQDa9xsxfS0hCOFWY5ljURZ8oiz0SWHvP_pGKDPeVi_xhkzF8erz4WL14twEkBwvGycrxyB_kIU",
"e": "AQAB",
"kty": "RSA"
}
],
"base-url": "https://example.invalid"
}
}
POST /external-apis
Bearer restrictions
The behaviour of this route dependes on the restrictions stored for it in the bearer token used for authorization
Bearer token
The behaviour of this route dependes on the exact bearer token used for authorization
Versioning
This route is provided in version 1.0.0
Authentication
Clients must supply the following data
A JSON Web Token-based API key
Request:
Supported content types are:
- `application/json`
Symmetric key, Without path (
application/json
):
{
"config": {
"formats": [
"Format 1"
],
"type": "gradelist-format"
},
"public-keys": {
"keys": [
{
"use": "enc",
"k": "n0RTZ0VtVhk",
"kid": "sample",
"kty": "oct"
}
]
},
"base-url": "https://example.invalid"
}
- Symmetric key, Without path (
application/json
):
{
"config": {
"formats": [
"Format 1",
"Format 2"
],
"type": "gradelist-format"
},
"public-keys": {
"keys": [
{
"use": "enc",
"k": "n0RTZ0VtVhk",
"kid": "sample",
"kty": "oct"
}
]
},
"base-url": "https://example.invalid"
}
- Asymmetric keyset, Without path (
application/json
):
{
"config": {
"formats": [
"Format 1"
],
"type": "gradelist-format"
},
"public-keys": {
"keys": [
{
"use": "enc",
"kid": "sample RSA",
"n": "3P-PU9o9zWBIcPJfIg3vAt9_w_9PgLbDUBmgrg8U9BKDFBXYAp75KQ0-Q0FK68VIG1zJFQox9i-dDGTwcIvQ3bt0BxokeciBwQDa9xsxfS0hCOFWY5ljURZ8oiz0SWHvP_pGKDPeVi_xhkzF8erz4WL14twEkBwvGycrxyB_kIU",
"e": "AQAB",
"kty": "RSA"
},
{
"qi": "rHI7D1IRPy0JOYc17xMy5inR1l0TsugjP9PgOTBQBNv-ygrGz5SZOSkHg2sXm6qA_QmLrbUhp7BHSiLBr-A9Zw",
"p": "30RTZ0VtVhkxSkKj2oawAZR6_lmcK6mceaY0fjsiblqIVOj_zKILFzAwtPrCsxZ5wCWwrJSNiAvuFx0AmuwaDQ",
"use": "enc",
"kid": "sample RSA",
"n": "3P-PU9o9zWBIcPJfIg3vAt9_w_9PgLbDUBmgrg8U9BKDFBXYAp75KQ0-Q0FK68VIG1zJFQox9i-dDGTwcIvQ3bt0BxokeciBwQDa9xsxfS0hCOFWY5ljURZ8oiz0SWHvP_pGKDPeVi_xhkzF8erz4WL14twEkBwvGycrxyB_kIU",
"q": "_WYWkB2soOIaeuPYAvfwm-iTV9JWbepHvwbnxskonruCJP4bIikbokdPE--hvLHK5eBd-4Do8i4SGRqa3X4KWQ",
"d": "vz_ePlewgiofprbpAySBwb--5tPsblw7e_chqV_d5zaZ_ujEbcg7oX4XcsZvWsf4lc1fKvkOsZkU1OQJe6xTi-MqIPUx2YUOUifgEYMcZWldI_YJPY7zZ6gw7hYBB91Pt9Am8enkJ3_lK_wyJScBX_vVpJNpCIqy_anXNmyYVWE",
"dp": "mMV7_HI5OmzKmXG4BNOco7gh4OEYR5grheIAkU-NY8129ALq5e8Lf7Zt3aioiTqb3KrtlWmg3rKrHA2wWFGuEQ",
"e": "AQAB",
"dq": "Pnaa2z2lXyc9NcvSZLDvq88B-yULTx7wPqOaIMNXcwFvzGSjFaGigTcoxBZO_S-qf032fNfDFGfM6ElJoY2_SQ",
"kty": "RSA"
}
]
},
"base-url": "https://example.invalid"
}
- Symmetric key, With path (
application/json
):
{
"config": {
"formats": [
"Format 1"
],
"type": "gradelist-format"
},
"public-keys": {
"keys": [
{
"use": "enc",
"k": "n0RTZ0VtVhk",
"kid": "sample",
"kty": "oct"
}
]
},
"base-url": "https://example.invalid/api"
}
- Asymmetric keyset, Without path (
application/json
):
{
"config": {
"formats": [
"Format 1",
"Format 2"
],
"type": "gradelist-format"
},
"public-keys": {
"keys": [
{
"use": "enc",
"kid": "sample RSA",
"n": "3P-PU9o9zWBIcPJfIg3vAt9_w_9PgLbDUBmgrg8U9BKDFBXYAp75KQ0-Q0FK68VIG1zJFQox9i-dDGTwcIvQ3bt0BxokeciBwQDa9xsxfS0hCOFWY5ljURZ8oiz0SWHvP_pGKDPeVi_xhkzF8erz4WL14twEkBwvGycrxyB_kIU",
"e": "AQAB",
"kty": "RSA"
},
{
"qi": "rHI7D1IRPy0JOYc17xMy5inR1l0TsugjP9PgOTBQBNv-ygrGz5SZOSkHg2sXm6qA_QmLrbUhp7BHSiLBr-A9Zw",
"p": "30RTZ0VtVhkxSkKj2oawAZR6_lmcK6mceaY0fjsiblqIVOj_zKILFzAwtPrCsxZ5wCWwrJSNiAvuFx0AmuwaDQ",
"use": "enc",
"kid": "sample RSA",
"n": "3P-PU9o9zWBIcPJfIg3vAt9_w_9PgLbDUBmgrg8U9BKDFBXYAp75KQ0-Q0FK68VIG1zJFQox9i-dDGTwcIvQ3bt0BxokeciBwQDa9xsxfS0hCOFWY5ljURZ8oiz0SWHvP_pGKDPeVi_xhkzF8erz4WL14twEkBwvGycrxyB_kIU",
"q": "_WYWkB2soOIaeuPYAvfwm-iTV9JWbepHvwbnxskonruCJP4bIikbokdPE--hvLHK5eBd-4Do8i4SGRqa3X4KWQ",
"d": "vz_ePlewgiofprbpAySBwb--5tPsblw7e_chqV_d5zaZ_ujEbcg7oX4XcsZvWsf4lc1fKvkOsZkU1OQJe6xTi-MqIPUx2YUOUifgEYMcZWldI_YJPY7zZ6gw7hYBB91Pt9Am8enkJ3_lK_wyJScBX_vVpJNpCIqy_anXNmyYVWE",
"dp": "mMV7_HI5OmzKmXG4BNOco7gh4OEYR5grheIAkU-NY8129ALq5e8Lf7Zt3aioiTqb3KrtlWmg3rKrHA2wWFGuEQ",
"e": "AQAB",
"dq": "Pnaa2z2lXyc9NcvSZLDvq88B-yULTx7wPqOaIMNXcwFvzGSjFaGigTcoxBZO_S-qf032fNfDFGfM6ElJoY2_SQ",
"kty": "RSA"
}
]
},
"base-url": "https://example.invalid"
}
Response:
Status code 201
Headers: [(“Location”,“https://example.invalid/path/to/resource?key1=val1&key1=val2&key2=val3#fragment”)]
Supported content types are:
- `application/json`
Example (
application/json
):
{
"id": "23064b70-f28a-8b2a-a473-0435d191564a",
"info": {
"token-authority": [],
"config": {
"formats": [
"Format 1"
],
"type": "gradelist-format"
},
"last-alive": "2023-07-31T23:37:55.150705244Z",
"token-issued": "2023-07-31T23:37:55.150705244Z",
"token-expires-at": null,
"token-starts-at": null,
"public-keys": [],
"base-url": "https://example.invalid"
}
}
- Example (
application/json
,application/json
):
{
"id": "23064b70-f28a-8b2a-a473-0435d191564a",
"info": {
"token-authority": [],
"config": {
"formats": [
"Format 1"
],
"type": "gradelist-format"
},
"last-alive": "2023-07-31T23:37:55.150705244Z",
"token-issued": "2023-07-31T23:37:55.150705244Z",
"token-expires-at": null,
"token-starts-at": null,
"public-keys": [
{
"use": "enc",
"kid": "sample RSA",
"n": "3P-PU9o9zWBIcPJfIg3vAt9_w_9PgLbDUBmgrg8U9BKDFBXYAp75KQ0-Q0FK68VIG1zJFQox9i-dDGTwcIvQ3bt0BxokeciBwQDa9xsxfS0hCOFWY5ljURZ8oiz0SWHvP_pGKDPeVi_xhkzF8erz4WL14twEkBwvGycrxyB_kIU",
"e": "AQAB",
"kty": "RSA"
}
],
"base-url": "https://example.invalid"
}
}
- Example (
application/json
):
{
"id": "23064b70-f28a-8b2a-a473-0435d191564a",
"info": {
"token-authority": [],
"config": {
"formats": [
"Format 1",
"Format 2"
],
"type": "gradelist-format"
},
"last-alive": "2023-07-31T23:37:55.150705244Z",
"token-issued": "2023-07-31T23:37:55.150705244Z",
"token-expires-at": null,
"token-starts-at": null,
"public-keys": [],
"base-url": "https://example.invalid"
}
}
- Example (
application/json
):
{
"id": "23064b70-f28a-8b2a-a473-0435d191564a",
"info": {
"token-authority": [],
"config": {
"formats": [
"Format 1",
"Format 2"
],
"type": "gradelist-format"
},
"last-alive": "2023-07-31T23:37:55.150705244Z",
"token-issued": "2023-07-31T23:37:55.150705244Z",
"token-expires-at": null,
"token-starts-at": null,
"public-keys": [
{
"use": "enc",
"kid": "sample RSA",
"n": "3P-PU9o9zWBIcPJfIg3vAt9_w_9PgLbDUBmgrg8U9BKDFBXYAp75KQ0-Q0FK68VIG1zJFQox9i-dDGTwcIvQ3bt0BxokeciBwQDa9xsxfS0hCOFWY5ljURZ8oiz0SWHvP_pGKDPeVi_xhkzF8erz4WL14twEkBwvGycrxyB_kIU",
"e": "AQAB",
"kty": "RSA"
}
],
"base-url": "https://example.invalid"
}
}
DELETE /external-apis/:external-api
Versioning
This route is provided in version 1.0.0
Authentication
Clients must supply the following data
A JSON Web Token-based API key
Captures:
- external-api: Internal id of the registered external api
Response:
Status code 204
Headers: []
No response body
GET /external-apis/:external-api
Versioning
This route is provided in version 1.0.0
Authentication
Clients must supply the following data
A JSON Web Token-based API key
Captures:
- external-api: Internal id of the registered external api
Response:
Status code 200
Headers: []
Supported content types are:
- `application/json`
Example (
application/json
):
{
"token-authority": [],
"config": {
"formats": [
"Format 1"
],
"type": "gradelist-format"
},
"last-alive": "2023-07-31T23:37:55.150705244Z",
"token-issued": "2023-07-31T23:37:55.150705244Z",
"token-expires-at": null,
"token-starts-at": null,
"public-keys": [],
"base-url": "https://example.invalid"
}
- Example (
application/json
,application/json
):
{
"token-authority": [],
"config": {
"formats": [
"Format 1"
],
"type": "gradelist-format"
},
"last-alive": "2023-07-31T23:37:55.150705244Z",
"token-issued": "2023-07-31T23:37:55.150705244Z",
"token-expires-at": null,
"token-starts-at": null,
"public-keys": [
{
"use": "enc",
"kid": "sample RSA",
"n": "3P-PU9o9zWBIcPJfIg3vAt9_w_9PgLbDUBmgrg8U9BKDFBXYAp75KQ0-Q0FK68VIG1zJFQox9i-dDGTwcIvQ3bt0BxokeciBwQDa9xsxfS0hCOFWY5ljURZ8oiz0SWHvP_pGKDPeVi_xhkzF8erz4WL14twEkBwvGycrxyB_kIU",
"e": "AQAB",
"kty": "RSA"
}
],
"base-url": "https://example.invalid"
}
- Example (
application/json
):
{
"token-authority": [],
"config": {
"formats": [
"Format 1",
"Format 2"
],
"type": "gradelist-format"
},
"last-alive": "2023-07-31T23:37:55.150705244Z",
"token-issued": "2023-07-31T23:37:55.150705244Z",
"token-expires-at": null,
"token-starts-at": null,
"public-keys": [],
"base-url": "https://example.invalid"
}
- Example (
application/json
):
{
"token-authority": [],
"config": {
"formats": [
"Format 1",
"Format 2"
],
"type": "gradelist-format"
},
"last-alive": "2023-07-31T23:37:55.150705244Z",
"token-issued": "2023-07-31T23:37:55.150705244Z",
"token-expires-at": null,
"token-starts-at": null,
"public-keys": [
{
"use": "enc",
"kid": "sample RSA",
"n": "3P-PU9o9zWBIcPJfIg3vAt9_w_9PgLbDUBmgrg8U9BKDFBXYAp75KQ0-Q0FK68VIG1zJFQox9i-dDGTwcIvQ3bt0BxokeciBwQDa9xsxfS0hCOFWY5ljURZ8oiz0SWHvP_pGKDPeVi_xhkzF8erz4WL14twEkBwvGycrxyB_kIU",
"e": "AQAB",
"kty": "RSA"
}
],
"base-url": "https://example.invalid"
}
POST /external-apis/:external-api/pong
Versioning
This route is provided in version 1.0.0
Authentication
Clients must supply the following data
A JSON Web Token-based API key
Captures:
- external-api: Internal id of the registered external api
Response:
Status code 200
Headers: []
Supported content types are:
- `application/json`
Example (
application/json
,application/json
):
- Example (
application/json
):
- Example (
application/json
):
- Example (
application/json
):