{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"32cbd5a6-d476-404a-bae0-159197eb176c","name":"Memorix","description":"Welcome to the Memorix API documentation. [Memorix](https://memorix.io) is a Collection Management System (CMS) build by [Vitec Memorix](https://www.vitec-memorix.com).\n\nThe heart of Memorix is a [RESTful](https://restfulapi.net/) API, using RDF payloads. There is also a [RPC](https://en.wikipedia.org/wiki/Remote_procedure_call) server to manipulate resources. You can use any tool that supports HTTPS connections to our API. In these examples [cURL](https://curl.se) is used as a HTTP client, using [Postman](https://www.postman.com/) is highly recommended to test the API.\n\nThe Memorix API uses as much standard and open available ontologies as possible. For application context, we use our own [Memorix Ontology](https://memorix.io/ontology).\n\nMost of our API endpoint communicate using RDF for both payloads and responses. You can use HTTP [<code>Accept</code>](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept) and/or [<code>Content-Type</code>](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type) headers to request or define a specific RDF serialisation, using one of these MIME types:\n\n| MIME | RDF Serialisation |\n| --- | --- |\n| `application/ld+json` | [JSON-LD](https://www.iana.org/assignments/media-types/application/ld+json) |\n| `text/turtle` | [Turtle](https://www.iana.org/assignments/media-types/text/turtle) |\n| `application/n-triples` | [N-Triples](https://www.iana.org/assignments/media-types/application/n-triples) |\n| `application/rdf+xml` | [RDF+XML](https://www.iana.org/assignments/media-types/application/rdf+xml) |\n\n# Authentication\n\nTo authorise, you will need to fetch a Bearer token from our [OpenID](https://en.wikipedia.org/wiki/OpenID) provider ([Keycloak](https://www.keycloak.org/)). Use the header `Authorization: Bearer {TOKEN}` to authenticate against our API. Our Postman Collection includes an Authentication Request, which will set the correct header for all other request automagically. Remember to set the _username_ and _password_ parameters before posting your Authorization request.\n\n# Postman specific usage\n\nOur API is documented using a [Postman](https://learning.postman.com/) Collection.\n\nURL's and other variable data that depends on tenant and user specific information (like _username_ and _password_) can be stored in a Postman [Environment](https://learning.postman.com/docs/sending-requests/variables/#defining-global-and-environment-variables).\n\nThese parameters are supported in the Environment:\n\n| Name | Description |\n| --- | --- |\n| **username** | The name of the Memorix user |\n| **password** | The password of the Memorix user |\n| **tenant** | Memorix tenant code (_e.g._ `_pic_`) |\n| **auth_service** | Full URL of the Memorix OpenID login service |\n| **memorix_api_url** | Full URL of the Memorix API (_\\=this API_) |\n| **Content-Type** | Specify the serialisation of your RDF payload |\n| **Accept** | Specify the output serialisation of the response RDF |\n\n## Postman Magic\n\n### Magic Authentication\n\nAll requests (except Authentication requests of course) try to authenticate [automagically](https://learning.postman.com/docs/writing-scripts/pre-request-scripts/) by sending a POST request to the [<i>https://test.memorix.io</i>](https://test.memorix.io) endpoint using your Environment variables. The Bearer token is then automagically added to your request.\n\n### Magic setting of example ID's\n\nFetching a single resource from our REST API requires the ID of that resource. Every request to a list of that same resource automagically sets a corresponding ID as a Postman Collection variable. So something like this can be done:\n\n1. GET `https://test.memorix.io/records`\n    \n2. GET `https://test.memorix.io/records/`\n    \n\n# Error Codes\n\nMost of our endpoints will provide feedback (in RDF) when an error occurs. Next to an error message, a HTTP Status Code will be send by our HTTP server. Error messages should provide you with enough information to tell you what you can do when an error occurs. Errors codes starting with `4` are most likely your own fault, those starting with `5` are our fault, there is probably not a lot you can do by yourself if such an error occurs.\n\nThe Memorix API uses the following error codes:\n\n| Error Code | Meaning |\n| --- | --- |\n| 400 | Bad Request -- Your request is invalid. |\n| 401 | Unauthorised -- Your Bearer token is not accepted, you could try again with another token. |\n| 403 | Forbidden -- Your credentials do not allow the action you want to do. Retrying is useless. |\n| 404 | Not Found -- The specified Resource could not be found. |\n| 405 | Method Not Allowed -- Invalid input, validation failed (send SHACL validation report). |\n| 406 | Not Acceptable -- Unable to generate any of the client’s preferred media types, as indicated by the Accept request header. |\n| 410 | Gone -- The Resource requested has been removed from Memorix _currently unused_. |\n| 500 | Internal Server Error -- We had a problem with our server, never your fault. Try again later. |\n| 503 | Service Unavailable -- We're temporarily offline for maintenance. Please try again later. |","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"19856689","collectionId":"32cbd5a6-d476-404a-bae0-159197eb176c","publishedId":"2sB3QMLooy","public":true,"publicUrl":"https://docs.memorix.io","privateUrl":"https://go.postman.co/documentation/19856689-32cbd5a6-d476-404a-bae0-159197eb176c","customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"documentationLayout":"classic-double-column","customisation":{"metaTags":[{"name":"description","value":""},{"name":"title","value":""}],"appearance":{"default":"light","themes":[{"name":"dark","logo":null,"colors":{"top-bar":"212121","right-sidebar":"303030","highlight":"FF6C37"}},{"name":"light","logo":null,"colors":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"}}]}},"version":"8.11.6","publishDate":"2025-10-13T13:11:26.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{"title":"","description":""},"logos":{"logoLight":null,"logoDark":null}},"statusCode":200},"environments":[],"user":{"authenticated":false,"permissions":{"publish":false}},"run":{"button":{"js":"https://run.pstmn.io/button.js","css":"https://run.pstmn.io/button.css"}},"web":"https://www.getpostman.com/","team":{"logo":"https://res.cloudinary.com/postman/image/upload/t_team_logo_pubdoc/v1/team/69891fe23e026fcf3fbc090bcc47e250dd21f2088e4183b2e8a85c7089c93ba8","favicon":"https://res.cloudinary.com/postman/image/upload/v1624950492/team/uzhvjuzpq23rmoy5y92i.ico"},"isEnvFetchError":false,"languages":"[{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"HttpClient\"},{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"RestSharp\"},{\"key\":\"curl\",\"label\":\"cURL\",\"variant\":\"cURL\"},{\"key\":\"dart\",\"label\":\"Dart\",\"variant\":\"http\"},{\"key\":\"go\",\"label\":\"Go\",\"variant\":\"Native\"},{\"key\":\"http\",\"label\":\"HTTP\",\"variant\":\"HTTP\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"OkHttp\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"Unirest\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"Fetch\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"jQuery\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"XHR\"},{\"key\":\"c\",\"label\":\"C\",\"variant\":\"libcurl\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Axios\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Native\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Request\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Unirest\"},{\"key\":\"objective-c\",\"label\":\"Objective-C\",\"variant\":\"NSURLSession\"},{\"key\":\"ocaml\",\"label\":\"OCaml\",\"variant\":\"Cohttp\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"cURL\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"Guzzle\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"HTTP_Request2\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"pecl_http\"},{\"key\":\"powershell\",\"label\":\"PowerShell\",\"variant\":\"RestMethod\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"http.client\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"Requests\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"httr\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"RCurl\"},{\"key\":\"ruby\",\"label\":\"Ruby\",\"variant\":\"Net::HTTP\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"Httpie\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"wget\"},{\"key\":\"swift\",\"label\":\"Swift\",\"variant\":\"URLSession\"}]","languageSettings":[{"key":"csharp","label":"C#","variant":"HttpClient"},{"key":"csharp","label":"C#","variant":"RestSharp"},{"key":"curl","label":"cURL","variant":"cURL"},{"key":"dart","label":"Dart","variant":"http"},{"key":"go","label":"Go","variant":"Native"},{"key":"http","label":"HTTP","variant":"HTTP"},{"key":"java","label":"Java","variant":"OkHttp"},{"key":"java","label":"Java","variant":"Unirest"},{"key":"javascript","label":"JavaScript","variant":"Fetch"},{"key":"javascript","label":"JavaScript","variant":"jQuery"},{"key":"javascript","label":"JavaScript","variant":"XHR"},{"key":"c","label":"C","variant":"libcurl"},{"key":"nodejs","label":"NodeJs","variant":"Axios"},{"key":"nodejs","label":"NodeJs","variant":"Native"},{"key":"nodejs","label":"NodeJs","variant":"Request"},{"key":"nodejs","label":"NodeJs","variant":"Unirest"},{"key":"objective-c","label":"Objective-C","variant":"NSURLSession"},{"key":"ocaml","label":"OCaml","variant":"Cohttp"},{"key":"php","label":"PHP","variant":"cURL"},{"key":"php","label":"PHP","variant":"Guzzle"},{"key":"php","label":"PHP","variant":"HTTP_Request2"},{"key":"php","label":"PHP","variant":"pecl_http"},{"key":"powershell","label":"PowerShell","variant":"RestMethod"},{"key":"python","label":"Python","variant":"http.client"},{"key":"python","label":"Python","variant":"Requests"},{"key":"r","label":"R","variant":"httr"},{"key":"r","label":"R","variant":"RCurl"},{"key":"ruby","label":"Ruby","variant":"Net::HTTP"},{"key":"shell","label":"Shell","variant":"Httpie"},{"key":"shell","label":"Shell","variant":"wget"},{"key":"swift","label":"Swift","variant":"URLSession"}],"languageOptions":[{"label":"C# - HttpClient","value":"csharp - HttpClient - C#"},{"label":"C# - RestSharp","value":"csharp - RestSharp - C#"},{"label":"cURL - cURL","value":"curl - cURL - cURL"},{"label":"Dart - http","value":"dart - http - Dart"},{"label":"Go - Native","value":"go - Native - Go"},{"label":"HTTP - HTTP","value":"http - HTTP - HTTP"},{"label":"Java - OkHttp","value":"java - OkHttp - Java"},{"label":"Java - Unirest","value":"java - Unirest - Java"},{"label":"JavaScript - Fetch","value":"javascript - Fetch - JavaScript"},{"label":"JavaScript - jQuery","value":"javascript - jQuery - JavaScript"},{"label":"JavaScript - XHR","value":"javascript - XHR - JavaScript"},{"label":"C - libcurl","value":"c - libcurl - C"},{"label":"NodeJs - Axios","value":"nodejs - Axios - NodeJs"},{"label":"NodeJs - Native","value":"nodejs - Native - NodeJs"},{"label":"NodeJs - Request","value":"nodejs - Request - NodeJs"},{"label":"NodeJs - Unirest","value":"nodejs - Unirest - NodeJs"},{"label":"Objective-C - NSURLSession","value":"objective-c - NSURLSession - Objective-C"},{"label":"OCaml - Cohttp","value":"ocaml - Cohttp - OCaml"},{"label":"PHP - cURL","value":"php - cURL - PHP"},{"label":"PHP - Guzzle","value":"php - Guzzle - PHP"},{"label":"PHP - HTTP_Request2","value":"php - HTTP_Request2 - PHP"},{"label":"PHP - pecl_http","value":"php - pecl_http - PHP"},{"label":"PowerShell - RestMethod","value":"powershell - RestMethod - PowerShell"},{"label":"Python - http.client","value":"python - http.client - Python"},{"label":"Python - Requests","value":"python - Requests - Python"},{"label":"R - httr","value":"r - httr - R"},{"label":"R - RCurl","value":"r - RCurl - R"},{"label":"Ruby - Net::HTTP","value":"ruby - Net::HTTP - Ruby"},{"label":"Shell - Httpie","value":"shell - Httpie - Shell"},{"label":"Shell - wget","value":"shell - wget - Shell"},{"label":"Swift - URLSession","value":"swift - URLSession - Swift"}],"layoutOptions":[{"value":"classic-single-column","label":"Single Column"},{"value":"classic-double-column","label":"Double Column"}],"versionOptions":[],"environmentOptions":[{"value":"0","label":"No Environment"}],"canonicalUrl":"https://docs.memorix.io/view/metadata/2sB3QMLooy"}