{"files":{"SKILL.md":"---\nname: id4i-api\ndescription: \"ID4i API skill. Use when working with ID4i for account, api, go. Covers 107 endpoints.\"\nversion: 1.0.0\ngenerator: lapsh\n---\n\n# ID4i API\nAPI version: 1.0.2\n\n## Auth\nApiKey Authorization in header\n\n## Base URL\nhttps://backend.id4i.de/\n\n## Setup\n1. Set your API key in the appropriate header\n2. GET /api/v1/apikeys -- find api key by organization\n3. POST /account/password -- create first password\n\n## Endpoints\n107 endpoints across 5 groups. See references/api-spec.lap for full details.\n\n### Account\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /account/password | Request password reset |\n| PUT | /account/password | Verify password reset |\n| POST | /account/registration | Register user |\n| PUT | /account/registration | Complete registration |\n| POST | /account/verification | Verify registration |\n\n### Api\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /api/v1/apikeys | Find API key by organization |\n| POST | /api/v1/apikeys | Create API key |\n| GET | /api/v1/apikeys/privileges | List all privileges |\n| GET | /api/v1/apikeys/{key} | Show API key |\n| PUT | /api/v1/apikeys/{key} | Update API keys |\n| DELETE | /api/v1/apikeys/{key} | Delete API key |\n| GET | /api/v1/apikeys/{key}/privileges | List privileges |\n| POST | /api/v1/apikeys/{key}/privileges | Add privilege |\n| DELETE | /api/v1/apikeys/{key}/privileges | Remove privilege |\n| GET | /api/v1/apikeys/{key}/privileges/{privilege}/id4ns | ID4ns of a privilege |\n| POST | /api/v1/apikeys/{key}/privileges/{privilege}/id4ns | Add ID4ns of a privilege |\n| DELETE | /api/v1/apikeys/{key}/privileges/{privilege}/id4ns | Remove id4ns of a privilege |\n| GET | /api/v1/billing/{organizationId} | Get billing amount of services for a given organization |\n| GET | /api/v1/billing/{organizationId}/positions | Get billing positions for a given organization |\n| GET | /api/v1/changelog/organization/{organizationId}/ | List change log entries of an organization |\n| POST | /api/v1/collections | Create collection |\n| GET | /api/v1/collections/{id4n} | Find collection |\n| DELETE | /api/v1/collections/{id4n} | Delete collection |\n| PATCH | /api/v1/collections/{id4n} | Update collection |\n| GET | /api/v1/collections/{id4n}/elements | List contents of the collection |\n| POST | /api/v1/collections/{id4n}/elements | Add elements to collection |\n| DELETE | /api/v1/collections/{id4n}/elements | Remove elements from collection |\n| GET | /api/v1/countries | List countries |\n| GET | /api/v1/documents/{id4n} | List documents |\n| GET | /api/v1/documents/{id4n}/{organizationId} | List organization specific documents |\n| POST | /api/v1/documents/{id4n}/{organizationId} | Create an document for an id4n |\n| PUT | /api/v1/documents/{id4n}/{organizationId} | Put an document for an id4n |\n| GET | /api/v1/documents/{id4n}/{organizationId}/{fileName} | Read document contents |\n| DELETE | /api/v1/documents/{id4n}/{organizationId}/{fileName} | Delete a document |\n| GET | /api/v1/documents/{id4n}/{organizationId}/{fileName}/metadata | Retrieve a document (meta-data only, no content) |\n| PATCH | /api/v1/documents/{id4n}/{organizationId}/{fileName}/metadata | Update a document |\n| POST | /api/v1/guids | Create GUID(s) |\n| GET | /api/v1/guids/withoutCollection | Retrieve GUIDs not in any collection |\n| GET | /api/v1/guids/{id4n} | Retrieve GUID information |\n| PATCH | /api/v1/guids/{id4n} | Change GUID information. |\n| GET | /api/v1/history/{id4n} | List history |\n| POST | /api/v1/history/{id4n} | Add history item |\n| GET | /api/v1/history/{id4n}/{organizationId} | DEPRECATED - List history |\n| GET | /api/v1/history/{id4n}/{organizationId}/{sequenceId} | Get history item |\n| PATCH | /api/v1/history/{id4n}/{organizationId}/{sequenceId} | Update history item |\n| PUT | /api/v1/history/{id4n}/{organizationId}/{sequenceId}/visibility | Set history item visibility |\n| GET | /api/v1/id4ns/{id4n} | Retrieve ID4n information |\n| GET | /api/v1/id4ns/{id4n}/alias | Get all aliases for the given GUID or Collection. |\n| POST | /api/v1/id4ns/{id4n}/alias/{aliasType} | Add alias for GUID or Collection |\n| DELETE | /api/v1/id4ns/{id4n}/alias/{aliasType} | Remove aliases from GUID or Collection |\n| GET | /api/v1/id4ns/{id4n}/collections | Retrieve collections of an ID |\n| GET | /api/v1/id4ns/{id4n}/properties | Retrieve ID4n properties |\n| DELETE | /api/v1/id4ns/{id4n}/properties | Delete ID4n properties |\n| PATCH | /api/v1/id4ns/{id4n}/properties | Patch ID4n properties |\n| POST | /api/v1/import/gs1 | Import GS1/MAPP codes |\n| GET | /api/v1/info | Retrieve version information about ID4i |\n| GET | /api/v1/microstorage/{id4n}/{organization} | Read data from microstorage |\n| PUT | /api/v1/microstorage/{id4n}/{organization} | Write data to microstorage |\n| GET | /api/v1/multiple/id4ns/properties | Get multiple ID4n properties |\n| POST | /api/v1/organizations | Create organization |\n| GET | /api/v1/organizations/{organizationId} | Find organization by id/namespace |\n| PUT | /api/v1/organizations/{organizationId} | Update organization |\n| DELETE | /api/v1/organizations/{organizationId} | Delete organization |\n| GET | /api/v1/organizations/{organizationId}/addresses/billing | Retrieve billing address |\n| PUT | /api/v1/organizations/{organizationId}/addresses/billing | Store billing address |\n| DELETE | /api/v1/organizations/{organizationId}/addresses/billing | Remove billing address |\n| GET | /api/v1/organizations/{organizationId}/addresses/default | Retrieve address |\n| PUT | /api/v1/organizations/{organizationId}/addresses/default | Store address |\n| GET | /api/v1/organizations/{organizationId}/collections | Get collections of organization |\n| POST | /api/v1/organizations/{organizationId}/logo | Update organization logo |\n| DELETE | /api/v1/organizations/{organizationId}/logo | Delete organization logo |\n| GET | /api/v1/organizations/{organizationId}/messaging |  |\n| PATCH | /api/v1/organizations/{organizationId}/messaging |  |\n| POST | /api/v1/organizations/{organizationId}/messaging/enqueueCustomMessage | Enqueue a custom message |\n| GET | /api/v1/organizations/{organizationId}/partner | Get partners of an organization |\n| PUT | /api/v1/organizations/{organizationId}/partner | Add partner |\n| DELETE | /api/v1/organizations/{organizationId}/partner | Remove partner |\n| GET | /api/v1/organizations/{organizationId}/privileges | List my privileges |\n| GET | /api/v1/organizations/{organizationId}/roles | List users and their roles |\n| GET | /api/v1/organizations/{organizationId}/users | Find users in organization |\n| POST | /api/v1/organizations/{organizationId}/users/invite | Invite Users |\n| GET | /api/v1/organizations/{organizationId}/users/{username}/roles | Get user roles by username |\n| POST | /api/v1/organizations/{organizationId}/users/{username}/roles | Add role(s) to user |\n| DELETE | /api/v1/organizations/{organizationId}/users/{username}/roles | Remove role(s) from user |\n| GET | /api/v1/public/documents/{id4n} | List public documents |\n| GET | /api/v1/public/documents/{id4n}/{organizationId}/{fileName} | Read public document contents |\n| GET | /api/v1/public/documents/{id4n}/{organizationId}/{fileName}/metadata | Retrieve a public document (meta-data only, no content) |\n| GET | /api/v1/public/history/{id4n} | Shows the public history of the given GUID |\n| GET | /api/v1/public/image/{imageID} | Resolve image |\n| GET | /api/v1/public/organizations/{organizationId} | Read public organization information |\n| GET | /api/v1/public/routes/{id4n} | Retrieve all public routes for a GUID |\n| GET | /api/v1/roles | List roles |\n| GET | /api/v1/routingfiles/{id4n} | Retrieve routing file |\n| PUT | /api/v1/routingfiles/{id4n} | Store routing file |\n| GET | /api/v1/routingfiles/{id4n}/route/{type} | Retrieve current route of a GUID (or ID4N) |\n| GET | /api/v1/routingfiles/{id4n}/routes/{type} | Retrieve all routes of a GUID (or ID4N) |\n| GET | /api/v1/search/guids | Search for GUIDs by alias |\n| GET | /api/v1/search/guids/aliases/types | List all supported alias types |\n| PUT | /api/v1/transfers/{id4n}/receiveInfo | Transfer a GUID or collection, obtaining it (i.e. becoming the holder) and if allowed also taking ownership |\n| GET | /api/v1/transfers/{id4n}/sendInfo | Show transfer preparation information |\n| PUT | /api/v1/transfers/{id4n}/sendInfo | Prepare an object for transfer |\n| GET | /api/v1/user/organizations | Retrieve organizations of user |\n| GET | /api/v1/users | Find users |\n| GET | /api/v1/users/{username} | Find by username |\n\n### Go\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /go/{guid} | Forward |\n\n### Login\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /login | ID4i API Login |\n\n### Whois\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /whois/{id4n} | Resolve owner of id4n |\n\n## Common Questions\nMatch user requests to endpoints in references/api-spec.lap. Key patterns:\n- \"Create a password?\" -> POST /account/password\n- \"Create a registration?\" -> POST /account/registration\n- \"Create a verification?\" -> POST /account/verification\n- \"List all apikeys?\" -> GET /api/v1/apikeys\n- \"Create a apikey?\" -> POST /api/v1/apikeys\n- \"List all privileges?\" -> GET /api/v1/apikeys/privileges\n- \"Get apikey details?\" -> GET /api/v1/apikeys/{key}\n- \"Update a apikey?\" -> PUT /api/v1/apikeys/{key}\n- \"Delete a apikey?\" -> DELETE /api/v1/apikeys/{key}\n- \"Create a privilege?\" -> POST /api/v1/apikeys/{key}/privileges\n- \"List all id4ns?\" -> GET /api/v1/apikeys/{key}/privileges/{privilege}/id4ns\n- \"Create a id4n?\" -> POST /api/v1/apikeys/{key}/privileges/{privilege}/id4ns\n- \"Get billing details?\" -> GET /api/v1/billing/{organizationId}\n- \"List all positions?\" -> GET /api/v1/billing/{organizationId}/positions\n- \"Get organization details?\" -> GET /api/v1/changelog/organization/{organizationId}/\n- \"Create a collection?\" -> POST /api/v1/collections\n- \"Get collection details?\" -> GET /api/v1/collections/{id4n}\n- \"Delete a collection?\" -> DELETE /api/v1/collections/{id4n}\n- \"Partially update a collection?\" -> PATCH /api/v1/collections/{id4n}\n- \"List all elements?\" -> GET /api/v1/collections/{id4n}/elements\n- \"Create a element?\" -> POST /api/v1/collections/{id4n}/elements\n- \"List all countries?\" -> GET /api/v1/countries\n- \"Get document details?\" -> GET /api/v1/documents/{id4n}\n- \"Update a document?\" -> PUT /api/v1/documents/{id4n}/{organizationId}\n- \"Delete a document?\" -> DELETE /api/v1/documents/{id4n}/{organizationId}/{fileName}\n- \"List all metadata?\" -> GET /api/v1/documents/{id4n}/{organizationId}/{fileName}/metadata\n- \"Create a guid?\" -> POST /api/v1/guids\n- \"List all withoutCollection?\" -> GET /api/v1/guids/withoutCollection\n- \"Get guid details?\" -> GET /api/v1/guids/{id4n}\n- \"Partially update a guid?\" -> PATCH /api/v1/guids/{id4n}\n- \"Get history details?\" -> GET /api/v1/history/{id4n}\n- \"Partially update a history?\" -> PATCH /api/v1/history/{id4n}/{organizationId}/{sequenceId}\n- \"Get id4n details?\" -> GET /api/v1/id4ns/{id4n}\n- \"List all alias?\" -> GET /api/v1/id4ns/{id4n}/alias\n- \"Delete a alia?\" -> DELETE /api/v1/id4ns/{id4n}/alias/{aliasType}\n- \"List all collections?\" -> GET /api/v1/id4ns/{id4n}/collections\n- \"List all properties?\" -> GET /api/v1/id4ns/{id4n}/properties\n- \"Create a gs1?\" -> POST /api/v1/import/gs1\n- \"List all info?\" -> GET /api/v1/info\n- \"Get microstorage details?\" -> GET /api/v1/microstorage/{id4n}/{organization}\n- \"Update a microstorage?\" -> PUT /api/v1/microstorage/{id4n}/{organization}\n- \"Create a organization?\" -> POST /api/v1/organizations\n- \"Update a organization?\" -> PUT /api/v1/organizations/{organizationId}\n- \"Delete a organization?\" -> DELETE /api/v1/organizations/{organizationId}\n- \"List all billing?\" -> GET /api/v1/organizations/{organizationId}/addresses/billing\n- \"List all default?\" -> GET /api/v1/organizations/{organizationId}/addresses/default\n- \"Create a logo?\" -> POST /api/v1/organizations/{organizationId}/logo\n- \"List all messaging?\" -> GET /api/v1/organizations/{organizationId}/messaging\n- \"Create a enqueueCustomMessage?\" -> POST /api/v1/organizations/{organizationId}/messaging/enqueueCustomMessage\n- \"List all partner?\" -> GET /api/v1/organizations/{organizationId}/partner\n- \"List all roles?\" -> GET /api/v1/organizations/{organizationId}/roles\n- \"List all users?\" -> GET /api/v1/organizations/{organizationId}/users\n- \"Create a invite?\" -> POST /api/v1/organizations/{organizationId}/users/invite\n- \"Create a role?\" -> POST /api/v1/organizations/{organizationId}/users/{username}/roles\n- \"Get image details?\" -> GET /api/v1/public/image/{imageID}\n- \"Get route details?\" -> GET /api/v1/public/routes/{id4n}\n- \"Get routingfile details?\" -> GET /api/v1/routingfiles/{id4n}\n- \"Update a routingfile?\" -> PUT /api/v1/routingfiles/{id4n}\n- \"List all guids?\" -> GET /api/v1/search/guids\n- \"List all types?\" -> GET /api/v1/search/guids/aliases/types\n- \"List all sendInfo?\" -> GET /api/v1/transfers/{id4n}/sendInfo\n- \"List all organizations?\" -> GET /api/v1/user/organizations\n- \"Get user details?\" -> GET /api/v1/users/{username}\n- \"Get go details?\" -> GET /go/{guid}\n- \"Create a login?\" -> POST /login\n- \"Get whois details?\" -> GET /whois/{id4n}\n- \"How to authenticate?\" -> See Auth section above\n\n## Response Tips\n- Check response schemas in references/api-spec.lap for field details\n- Paginated endpoints accept limit/offset or cursor parameters\n- Create/update endpoints return the modified resource on success\n- Error responses include status codes and descriptions in the spec\n\n## References\n- Full spec: See references/api-spec.lap for complete endpoint details, parameter tables, and response schemas\n\n> Generated from the official API spec by [LAP](https://lap.sh)\n","references/api-spec.lap":"@lap v0.3\n# Machine-readable API spec. Each @endpoint block is one API call.\n@api ID4i API\n@base https://backend.id4i.de/\n@version 1.0.2\n@auth ApiKey Authorization in header\n@endpoints 107\n@hint download_for_search\n@toc account(5), api(99), go(1), login(1), whois(1)\n\n@group account\n@endpoint POST /account/password\n@desc Request password reset\n@required {resetRequest: map # Contains the required information to request a new password.}\n@returns(200) OK\n@returns(201) Created\n@returns(202) Accepted\n@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 409: Conflict, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint PUT /account/password\n@desc Verify password reset\n@required {verificationRequest: map # Contains the new password and the verification token to set the new password.}\n@returns(200) OK\n@returns(202) Accepted\n@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 409: Conflict, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint POST /account/registration\n@desc Register user\n@required {userRegistration: map # The user information about the new created user.}\n@returns(200) OK\n@returns(201) Created\n@returns(202) Accepted\n@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 409: Conflict, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint PUT /account/registration\n@desc Complete registration\n@required {completeRegistration: map # Contains the verification token, the username and the initial password.}\n@returns(200) OK\n@returns(202) Accepted\n@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 409: Conflict, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint POST /account/verification\n@desc Verify registration\n@required {token: map # The token for user verification.}\n@returns(200) OK\n@returns(201) Created\n@returns(202) Accepted\n@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 409: Conflict, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endgroup\n\n@group api\n@endpoint GET /api/v1/apikeys\n@desc Find API key by organization\n@optional {organizationId: any # The namespace of the organization to search in., offset: any # Start with the n-th element, limit: any # The maximum count of returned elements}\n@returns(200) OK\n@returns(202) Accepted\n@errors {401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint POST /api/v1/apikeys\n@desc Create API key\n@required {creationRequest: map # API key to be created.}\n@returns(200) OK\n@returns(201) Created\n@returns(202) Accepted\n@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 409: Conflict, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint GET /api/v1/apikeys/privileges\n@desc List all privileges\n@optional {id4nConcerning: any # id4nConcerning, offset: any # Start with the n-th element, limit: any # The maximum count of returned elements}\n@returns(200) OK\n@returns(202) Accepted\n@errors {401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint GET /api/v1/apikeys/{key}\n@desc Show API key\n@required {key: any # The API key to show.}\n@returns(200) OK\n@returns(202) Accepted\n@errors {401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint PUT /api/v1/apikeys/{key}\n@desc Update API keys\n@required {key: any # The API key to be updated., apiKeyChange: map # The new values to apply.}\n@returns(200) OK\n@returns(202) Accepted\n@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 409: Conflict, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint DELETE /api/v1/apikeys/{key}\n@desc Delete API key\n@required {key: any # The API key to delete.}\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}\n\n@endpoint GET /api/v1/apikeys/{key}/privileges\n@desc List privileges\n@required {key: any # key}\n@optional {offset: any # Start with the n-th element, limit: any # The maximum count of returned elements}\n@returns(200) OK\n@returns(202) Accepted\n@errors {401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint POST /api/v1/apikeys/{key}/privileges\n@desc Add privilege\n@required {key: any # key, addApiKeyPrivilegeRequest: map # addApiKeyPrivilegeRequest}\n@returns(200) OK\n@returns(201) Created\n@returns(202) Accepted\n@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 409: Conflict, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint DELETE /api/v1/apikeys/{key}/privileges\n@desc Remove privilege\n@required {key: any # key, removeApiKeyPrivilegeRequest: map # removeApiKeyPrivilegeRequest}\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}\n\n@endpoint GET /api/v1/apikeys/{key}/privileges/{privilege}/id4ns\n@desc ID4ns of a privilege\n@required {key: any # key, privilege: any # privilege}\n@optional {offset: any # Start with the n-th element, limit: any # The maximum count of returned elements}\n@returns(200) OK\n@returns(202) Accepted\n@errors {401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint POST /api/v1/apikeys/{key}/privileges/{privilege}/id4ns\n@desc Add ID4ns of a privilege\n@required {key: any # key, privilege: any # privilege, id4ns: map # id4ns}\n@returns(200) OK\n@returns(201) Created\n@returns(202) Accepted\n@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 409: Conflict, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint DELETE /api/v1/apikeys/{key}/privileges/{privilege}/id4ns\n@desc Remove id4ns of a privilege\n@required {key: any # key, privilege: any # privilege, id4ns: map # id4ns}\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}\n\n@endpoint GET /api/v1/billing/{organizationId}\n@desc Get billing amount of services for a given organization\n@required {organizationId: any # The organization to compute the billing information for}\n@optional {fromDate: any # Billing start date, toDate: any # Billing end date}\n@returns(200) OK\n@returns(202) Accepted\n@errors {401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint GET /api/v1/billing/{organizationId}/positions\n@desc Get billing positions for a given organization\n@required {organizationId: any # The organization to compute the billing information for}\n@optional {fromDate: any # Billing start date, toDate: any # Billing end date}\n@returns(200) OK\n@returns(202) Accepted\n@errors {401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint GET /api/v1/changelog/organization/{organizationId}/\n@desc List change log entries of an organization\n@required {organizationId: any # The namespace identifying the organization whose change log entries are to be listed}\n@optional {messageMimeType: any # The Mime-type for the message format that should be returned. e.g. 'text/plain' or 'text/mustache', fromDate: any # From date time as UTC Date-Time format, toDate: any # To date time as UTC Date-Time format, offset: any # Start with the n-th element, limit: any # The maximum count of returned elements}\n@returns(200) OK\n@returns(202) Accepted\n@errors {401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint POST /api/v1/collections\n@desc Create collection\n@required {createInfo: map # createInfo}\n@returns(200) OK\n@returns(201) Created\n@returns(202) Accepted\n@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 409: Conflict, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint GET /api/v1/collections/{id4n}\n@desc Find collection\n@required {id4n: any # id4n}\n@returns(200) OK\n@returns(202) Accepted\n@errors {401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint DELETE /api/v1/collections/{id4n}\n@desc Delete collection\n@required {id4n: any # id4n}\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}\n\n@endpoint PATCH /api/v1/collections/{id4n}\n@desc Update collection\n@required {id4n: any # id4n, request: map # request}\n@returns(200) OK\n@returns(204) No Content\n@errors {401: Unauthorized, 403: Forbidden}\n\n@endpoint GET /api/v1/collections/{id4n}/elements\n@desc List contents of the collection\n@required {id4n: any # id4n}\n@optional {offset: any # Start with the n-th element, limit: any # The maximum count of returned elements, organizationId: any # The organization namespace.}\n@returns(200) OK\n@returns(202) Accepted\n@errors {401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint POST /api/v1/collections/{id4n}/elements\n@desc Add elements to collection\n@required {id4n: any # id4n, listOfGuids: map # listOfGuids}\n@returns(200) OK\n@returns(201) Created\n@returns(202) Accepted\n@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 409: Conflict, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint DELETE /api/v1/collections/{id4n}/elements\n@desc Remove elements from collection\n@required {id4n: any # id4n, listOfGuids: map # listOfGuids}\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}\n\n@endpoint GET /api/v1/countries\n@desc List countries\n@optional {offset: any # Start with the n-th element, limit: any # The maximum count of returned elements}\n@returns(200) OK\n@returns(202) Accepted\n@errors {401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint GET /api/v1/documents/{id4n}\n@desc List documents\n@required {id4n: any # id4n}\n@optional {owner: any # Filter by owner organization, offset: any # Start with the n-th element, limit: any # The maximum count of returned elements}\n@returns(200) OK\n@returns(202) Accepted\n@errors {401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint GET /api/v1/documents/{id4n}/{organizationId}\n@desc List organization specific documents\n@required {organizationId: any # organizationId, id4n: any # id4n}\n@optional {owner: any # Filter by owner organization, offset: any # Start with the n-th element, limit: any # The maximum count of returned elements}\n@returns(200) OK\n@returns(202) Accepted\n@errors {401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint POST /api/v1/documents/{id4n}/{organizationId}\n@desc Create an document for an id4n\n@required {organizationId: any # organizationId, id4n: any # id4n, content: any # content}\n@returns(200) OK\n@returns(201) Created\n@returns(202) Accepted\n@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 409: Conflict, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint PUT /api/v1/documents/{id4n}/{organizationId}\n@desc Put an document for an id4n\n@required {organizationId: any # organizationId, id4n: any # id4n, content: any # content}\n@returns(200) OK\n@returns(202) Accepted\n@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 409: Conflict, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint GET /api/v1/documents/{id4n}/{organizationId}/{fileName}\n@desc Read document contents\n@required {organizationId: any # organizationId, id4n: any # id4n, fileName: any # fileName}\n@returns(200) OK\n@returns(202) Accepted\n@errors {401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint DELETE /api/v1/documents/{id4n}/{organizationId}/{fileName}\n@desc Delete a document\n@required {organizationId: any # organizationId, id4n: any # id4n, fileName: any # fileName}\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}\n\n@endpoint GET /api/v1/documents/{id4n}/{organizationId}/{fileName}/metadata\n@desc Retrieve a document (meta-data only, no content)\n@required {organizationId: any # organizationId, id4n: any # id4n, fileName: any # fileName}\n@returns(200) OK\n@returns(202) Accepted\n@errors {401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint PATCH /api/v1/documents/{id4n}/{organizationId}/{fileName}/metadata\n@desc Update a document\n@required {organizationId: any # organizationId, id4n: any # id4n, fileName: any # fileName, document: map # document}\n@returns(200) OK\n@returns(204) No Content\n@errors {401: Unauthorized, 403: Forbidden}\n\n@endpoint POST /api/v1/guids\n@desc Create GUID(s)\n@required {createGUIDInfo: map # GUID creation model}\n@returns(200) OK\n@returns(201) Created\n@returns(202) Accepted\n@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 409: Conflict, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint GET /api/v1/guids/withoutCollection\n@desc Retrieve GUIDs not in any collection\n@required {organizationId: any # The namespace of the organization to search GUIDs for}\n@optional {offset: any # Start with the n-th element, limit: any # The maximum count of returned elements}\n@returns(200) OK\n@returns(202) Accepted\n@errors {401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint GET /api/v1/guids/{id4n}\n@desc Retrieve GUID information\n@required {id4n: any # The GUID number}\n@optional {organizationId: any # The organization namespace to resolve.}\n@returns(200) OK\n@returns(202) Accepted\n@errors {401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint PATCH /api/v1/guids/{id4n}\n@desc Change GUID information.\n@required {id4n: any # The GUID number, request: map # request}\n@returns(200) OK\n@returns(204) No Content\n@errors {401: Unauthorized, 403: Forbidden}\n\n@endpoint GET /api/v1/history/{id4n}\n@desc List history\n@required {id4n: any # GUID to retrieve the history for}\n@optional {includePrivate: any # Also return private history entries, organization: any # Show only entries created by one of the given organizations. This parameter can be used multiple times., type: any # Show only entries matching one of the given history item types. This parameter can be used multiple times., qualifier: any # Show only entries matching one of the given history item qualifiers (additional property de.id4i.history.item.qualifier). This parameter can be used multiple times., fromDate: any # From date time as UTC Date-Time format, toDate: any # To date time as UTC Date-Time format, offset: any # Start with the n-th element, limit: any # The maximum count of returned elements}\n@returns(200) OK\n@returns(202) Accepted\n@errors {401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint POST /api/v1/history/{id4n}\n@desc Add history item\n@required {id4n: any # GUID to retrieve the history for, historyItem: map # The history item to publish}\n@returns(200) OK\n@returns(201) Created\n@returns(202) Accepted\n@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 409: Conflict, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint GET /api/v1/history/{id4n}/{organizationId}\n@desc DEPRECATED - List history\n@required {id4n: any # GUID to retrieve the history for, organizationId: any # organizationId}\n@optional {includePrivate: any # Also return private history entries, offset: any # Start with the n-th element, limit: any # The maximum count of returned elements}\n@returns(200) OK\n@returns(202) Accepted\n@errors {401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint GET /api/v1/history/{id4n}/{organizationId}/{sequenceId}\n@desc Get history item\n@required {id4n: any # GUID to retrieve the history for, organizationId: any # organizationId, sequenceId: any # sequenceId}\n@returns(200) OK\n@returns(202) Accepted\n@errors {401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint PATCH /api/v1/history/{id4n}/{organizationId}/{sequenceId}\n@desc Update history item\n@required {id4n: any # GUID to retrieve the history for, organizationId: any # organizationId, sequenceId: any # sequenceId, update: map # update}\n@returns(200) OK\n@returns(204) No Content\n@errors {401: Unauthorized, 403: Forbidden}\n\n@endpoint PUT /api/v1/history/{id4n}/{organizationId}/{sequenceId}/visibility\n@desc Set history item visibility\n@required {id4n: any # GUID to retrieve the history for, organizationId: any # organizationId, sequenceId: any # sequenceId, visibility: map # History item visibility restrictions}\n@returns(200) OK\n@returns(202) Accepted\n@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 409: Conflict, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint GET /api/v1/id4ns/{id4n}\n@desc Retrieve ID4n information\n@required {id4n: any # The ID to resolve to}\n@optional {organizationId: any # The organization namespace to resolve.}\n@returns(200) OK\n@returns(202) Accepted\n@errors {401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint GET /api/v1/id4ns/{id4n}/alias\n@desc Get all aliases for the given GUID or Collection.\n@required {id4n: any # The GUID or Collection to operate on}\n@returns(200) OK\n@returns(202) Accepted\n@errors {401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint POST /api/v1/id4ns/{id4n}/alias/{aliasType}\n@desc Add alias for GUID or Collection\n@required {id4n: any # The GUID or Collection to operate on, aliasType: any # Alias type, see the corresponding API model, alias: map # The alias to add or update}\n@returns(200) OK\n@returns(201) Created\n@returns(202) Accepted\n@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 409: Conflict, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint DELETE /api/v1/id4ns/{id4n}/alias/{aliasType}\n@desc Remove aliases from GUID or Collection\n@required {id4n: any # The GUID or Collection to operate on, aliasType: any # Alias type, see the corresponding API model}\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}\n\n@endpoint GET /api/v1/id4ns/{id4n}/collections\n@desc Retrieve collections of an ID\n@required {id4n: any # The ID which the collections should contain}\n@optional {organizationId: any # The organization holding the collections., offset: any # Start with the n-th element, limit: any # The maximum count of returned elements}\n@returns(200) OK\n@returns(202) Accepted\n@errors {401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint GET /api/v1/id4ns/{id4n}/properties\n@desc Retrieve ID4n properties\n@required {id4n: any # The id4n}\n@optional {organizationId: any # The organization namespace.}\n@returns(200) OK\n@returns(202) Accepted\n@errors {401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint DELETE /api/v1/id4ns/{id4n}/properties\n@desc Delete ID4n properties\n@required {id4n: any # The id4n, organizationId: any # The organization namespace to work on while deleting the properties., properties: [str] # A set of property keys to delete.}\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}\n\n@endpoint PATCH /api/v1/id4ns/{id4n}/properties\n@desc Patch ID4n properties\n@required {id4n: any # The id4n, organizationId: any # The organization namespace to work on while patching the properties., properties: map # The properties to update.}\n@returns(200) OK\n@returns(204) No Content\n@errors {401: Unauthorized, 403: Forbidden}\n\n@endpoint POST /api/v1/import/gs1\n@desc Import GS1/MAPP codes\n@required {importGS1CodesRequest: map # The information how the MAPP codes should be imported and the list of MAPP codes}\n@returns(200) OK\n@returns(201) Created\n@returns(202) Accepted\n@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 409: Conflict, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint GET /api/v1/info\n@desc Retrieve version information about ID4i\n@returns(200) OK\n@returns(202) Accepted\n@errors {401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint GET /api/v1/microstorage/{id4n}/{organization}\n@desc Read data from microstorage\n@required {organization: any # organization, id4n: any # id4n}\n@returns(200) OK\n@returns(202) Accepted\n@errors {401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint PUT /api/v1/microstorage/{id4n}/{organization}\n@desc Write data to microstorage\n@required {organization: any # organization, id4n: any # id4n}\n@optional {Content-Type: any # Content-Type, Content-Length: any # Content-Length, body: str(byte) # body}\n@returns(200) OK\n@returns(202) Accepted\n@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 409: Conflict, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint GET /api/v1/multiple/id4ns/properties\n@desc Get multiple ID4n properties\n@required {id4ns: any # The list of ID4ns to resolve.}\n@optional {organizationId: any # The organization namespace.}\n@returns(200) OK\n@returns(202) Accepted\n@errors {401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint POST /api/v1/organizations\n@desc Create organization\n@required {organization: map # Organization to be created}\n@returns(200) OK\n@returns(201) Created\n@returns(202) Accepted\n@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 409: Conflict, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint GET /api/v1/organizations/{organizationId}\n@desc Find organization by id/namespace\n@required {organizationId: any # The namespace of the organization to be retrieved.}\n@returns(200) OK\n@returns(202) Accepted\n@errors {401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint PUT /api/v1/organizations/{organizationId}\n@desc Update organization\n@required {organizationId: any # The namespace of the organization to be updated., organizationUpdate: map # Updated organization object}\n@returns(200) OK\n@returns(202) Accepted\n@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 409: Conflict, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint DELETE /api/v1/organizations/{organizationId}\n@desc Delete organization\n@required {organizationId: any # The namespace of the organization to be deleted.}\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}\n\n@endpoint GET /api/v1/organizations/{organizationId}/addresses/billing\n@desc Retrieve billing address\n@required {organizationId: any # organizationId}\n@returns(200) OK\n@returns(202) Accepted\n@errors {401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint PUT /api/v1/organizations/{organizationId}/addresses/billing\n@desc Store billing address\n@required {organizationId: any # organizationId, addressResource: map # addressResource}\n@returns(200) OK\n@returns(202) Accepted\n@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 409: Conflict, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint DELETE /api/v1/organizations/{organizationId}/addresses/billing\n@desc Remove billing address\n@required {organizationId: any # organizationId}\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}\n\n@endpoint GET /api/v1/organizations/{organizationId}/addresses/default\n@desc Retrieve address\n@required {organizationId: any # organizationId}\n@returns(200) OK\n@returns(202) Accepted\n@errors {401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint PUT /api/v1/organizations/{organizationId}/addresses/default\n@desc Store address\n@required {organizationId: any # organizationId, addressResource: map # addressResource}\n@returns(200) OK\n@returns(202) Accepted\n@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 409: Conflict, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint GET /api/v1/organizations/{organizationId}/collections\n@desc Get collections of organization\n@required {organizationId: any # The namespace of the organization}\n@optional {offset: any # Start with the n-th element, limit: any # The maximum count of returned elements, type: any # Filter by this type, label: any # Filter by this label, labelPrefix: any # Filter by this label prefix, property: any # List of i4dn property filter. e.g. \"com.myorga.state:IN:waiting|processing\" or \"com.myorga.orderId:EQ:SAP001\"}\n@returns(200) OK\n@returns(202) Accepted\n@errors {401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint POST /api/v1/organizations/{organizationId}/logo\n@desc Update organization logo\n@required {organizationId: any # The namespace of the organization where the logo should be updated., file: any # An image containing the new logo.}\n@returns(200) OK\n@returns(201) Created\n@returns(202) Accepted\n@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 409: Conflict, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint DELETE /api/v1/organizations/{organizationId}/logo\n@desc Delete organization logo\n@required {organizationId: any # The namespace of the organization where the logo should be deleted.}\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}\n\n@endpoint GET /api/v1/organizations/{organizationId}/messaging\n@required {organizationId: any # organizationId}\n@returns(200) OK\n@returns(202) Accepted\n@errors {401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint PATCH /api/v1/organizations/{organizationId}/messaging\n@required {organizationId: any # organizationId, request: map # request}\n@returns(200) OK\n@returns(204) No Content\n@errors {401: Unauthorized, 403: Forbidden}\n\n@endpoint POST /api/v1/organizations/{organizationId}/messaging/enqueueCustomMessage\n@desc Enqueue a custom message\n@required {organizationId: any # The organisation namespace, request: map # request}\n@returns(200) OK\n@returns(201) Created\n@returns(202) Accepted\n@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 409: Conflict, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint GET /api/v1/organizations/{organizationId}/partner\n@desc Get partners of an organization\n@required {organizationId: any # The namespace of the organization to query partner organizations}\n@optional {offset: any # Start with the n-th element, limit: any # The maximum count of returned elements}\n@returns(200) OK\n@returns(202) Accepted\n@errors {401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint PUT /api/v1/organizations/{organizationId}/partner\n@desc Add partner\n@required {organizationId: any # The namespace of the organization, request: map # request}\n@returns(200) OK\n@returns(202) Accepted\n@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 409: Conflict, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint DELETE /api/v1/organizations/{organizationId}/partner\n@desc Remove partner\n@required {organizationId: any # The namespace of the organization, request: map # request}\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}\n\n@endpoint GET /api/v1/organizations/{organizationId}/privileges\n@desc List my privileges\n@required {organizationId: any # The namespace of the organization}\n@returns(200) OK\n@returns(202) Accepted\n@errors {401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint GET /api/v1/organizations/{organizationId}/roles\n@desc List users and their roles\n@required {organizationId: any # organizationId}\n@optional {offset: any # Start with the n-th element, limit: any # The maximum count of returned elements}\n@returns(200) OK\n@returns(202) Accepted\n@errors {401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint GET /api/v1/organizations/{organizationId}/users\n@desc Find users in organization\n@required {organizationId: any # organizationId}\n@optional {offset: any # Start with the n-th element, limit: any # The maximum count of returned elements}\n@returns(200) OK\n@returns(202) Accepted\n@errors {401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint POST /api/v1/organizations/{organizationId}/users/invite\n@desc Invite Users\n@required {organizationId: any # The namespace of the organization where users should be invited, invitationList: map # invitationList}\n@returns(200) OK\n@returns(201) Created\n@returns(202) Accepted\n@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 409: Conflict, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint GET /api/v1/organizations/{organizationId}/users/{username}/roles\n@desc Get user roles by username\n@required {organizationId: any # The namespace of the organization, username: any # username}\n@optional {offset: any # Start with the n-th element, limit: any # The maximum count of returned elements}\n@returns(200) OK\n@returns(202) Accepted\n@errors {401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint POST /api/v1/organizations/{organizationId}/users/{username}/roles\n@desc Add role(s) to user\n@required {organizationId: any # The namespace of the organization, username: any # username, changeRoleRequest: map # changeRoleRequest}\n@returns(200) OK\n@returns(201) Created\n@returns(202) Accepted\n@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 409: Conflict, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint DELETE /api/v1/organizations/{organizationId}/users/{username}/roles\n@desc Remove role(s) from user\n@required {organizationId: any # The namespace of the organization, username: any # username, changeRoleRequest: map # changeRoleRequest}\n@returns(200) OK\n@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 500: Internal Server Error}\n\n@endpoint GET /api/v1/public/documents/{id4n}\n@desc List public documents\n@required {id4n: any # id4n}\n@optional {organizationId: any # organizationId, owner: any # Filter by owner organization, offset: any # Start with the n-th element, limit: any # The maximum count of returned elements}\n@returns(200) OK\n@returns(202) Accepted\n@errors {401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint GET /api/v1/public/documents/{id4n}/{organizationId}/{fileName}\n@desc Read public document contents\n@required {organizationId: any # organizationId, id4n: any # id4n, fileName: any # fileName}\n@returns(200) OK\n@returns(202) Accepted\n@errors {401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint GET /api/v1/public/documents/{id4n}/{organizationId}/{fileName}/metadata\n@desc Retrieve a public document (meta-data only, no content)\n@required {organizationId: any # organizationId, id4n: any # id4n, fileName: any # fileName}\n@returns(200) OK\n@returns(202) Accepted\n@errors {401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint GET /api/v1/public/history/{id4n}\n@desc Shows the public history of the given GUID\n@required {id4n: any # GUID to retrieve the history for}\n@optional {offset: any # Start with the n-th element, limit: any # The maximum count of returned elements}\n@returns(200) OK\n@returns(202) Accepted\n@errors {401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint GET /api/v1/public/image/{imageID}\n@desc Resolve image\n@required {imageID: any # The id of the image to be resolved.}\n@returns(200) OK\n@returns(202) Accepted\n@errors {401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint GET /api/v1/public/organizations/{organizationId}\n@desc Read public organization information\n@required {organizationId: any # Organization ID}\n@returns(200) OK\n@returns(202) Accepted\n@errors {401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint GET /api/v1/public/routes/{id4n}\n@desc Retrieve all public routes for a GUID\n@required {id4n: any # id4n, type: any # type}\n@optional {interpolate: any # interpolate}\n@returns(200) OK\n@returns(202) Accepted\n@errors {401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint GET /api/v1/roles\n@desc List roles\n@optional {privilege: any # If specified the roles will be filtered containing that privilege., offset: any # Start with the n-th element, limit: any # The maximum count of returned elements}\n@returns(200) OK\n@returns(202) Accepted\n@errors {401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint GET /api/v1/routingfiles/{id4n}\n@desc Retrieve routing file\n@required {id4n: any # id4n}\n@optional {organizationId: any # organizationId}\n@returns(200) OK\n@returns(202) Accepted\n@errors {401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint PUT /api/v1/routingfiles/{id4n}\n@desc Store routing file\n@required {rfr: map # rfr, id4n: any # id4n}\n@returns(200) OK\n@returns(202) Accepted\n@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 409: Conflict, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint GET /api/v1/routingfiles/{id4n}/route/{type}\n@desc Retrieve current route of a GUID (or ID4N)\n@required {id4n: any # id4n, type: any # The type of route you want to have}\n@optional {privateRoutes: any # privateRoutes, publicRoutes: any # publicRoutes, interpolate: any # interpolate}\n@returns(200) OK\n@returns(202) Accepted\n@errors {401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint GET /api/v1/routingfiles/{id4n}/routes/{type}\n@desc Retrieve all routes of a GUID (or ID4N)\n@required {id4n: any # id4n, type: any # The type of route you want to have}\n@optional {organizationId: any # organizationId, interpolate: any # interpolate}\n@returns(200) OK\n@returns(202) Accepted\n@errors {401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint GET /api/v1/search/guids\n@desc Search for GUIDs by alias\n@required {alias: any # The alias to search for, aliasType: any # Alias type type to search for}\n@optional {offset: any # Start with the n-th element, limit: any # The maximum count of returned elements}\n@returns(200) OK\n@returns(202) Accepted\n@errors {401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint GET /api/v1/search/guids/aliases/types\n@desc List all supported alias types\n@returns(200) OK\n@returns(202) Accepted\n@errors {401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint PUT /api/v1/transfers/{id4n}/receiveInfo\n@desc Transfer a GUID or collection, obtaining it (i.e. becoming the holder) and if allowed also taking ownership\n@required {id4n: any # This ID4N identifies the object to take hold of, request: map # Required information to receive an id4n object}\n@returns(200) OK\n@returns(202) Accepted\n@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 409: Conflict, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint GET /api/v1/transfers/{id4n}/sendInfo\n@desc Show transfer preparation information\n@required {id4n: any # The ID4N to retrieve information about}\n@returns(200) OK\n@returns(202) Accepted\n@errors {401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint PUT /api/v1/transfers/{id4n}/sendInfo\n@desc Prepare an object for transfer\n@required {id4n: any # The ID4N to prepare for transfer, request: map # Transfer preparation status}\n@returns(200) OK\n@returns(202) Accepted\n@errors {400: Bad Request, 401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 409: Conflict, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint GET /api/v1/user/organizations\n@desc Retrieve organizations of user\n@optional {role: any # role, offset: any # Start with the n-th element, limit: any # The maximum count of returned elements}\n@returns(200) OK\n@returns(202) Accepted\n@errors {401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint GET /api/v1/users\n@desc Find users\n@optional {usernamePrefix: any, offset: any # Start with the n-th element, limit: any # The maximum count of returned elements}\n@returns(200) OK\n@returns(202) Accepted\n@errors {401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endpoint GET /api/v1/users/{username}\n@desc Find by username\n@required {username: any # username}\n@returns(200) OK\n@returns(202) Accepted\n@errors {401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endgroup\n\n@group go\n@endpoint GET /go/{guid}\n@desc Forward\n@required {guid: any # guid}\n@returns(200) OK\n@returns(202) Accepted\n@errors {401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endgroup\n\n@group login\n@endpoint POST /login\n@desc ID4i API Login\n@required {account-credentials: map}\n@returns(200) OK\n@errors {401: Unauthorized}\n\n@endgroup\n\n@group whois\n@endpoint GET /whois/{id4n}\n@desc Resolve owner of id4n\n@required {id4n: any # id4n}\n@returns(200) OK\n@returns(202) Accepted\n@errors {401: Unauthorized, 403: Forbidden, 404: Not Found, 405: Method not allowed, 406: Not Acceptable, 415: Unsupported Media Type, 500: Internal Server Error}\n\n@endgroup\n\n@end\n"}}