openapi: 3.2.0 info: title: Publiq Ownerships API version: '3.0' contact: name: publiq helpdesk email: technical-support@publiq.be url: https://docs.publiq.be x-refined-note: - x-source differs across the merged source definitions and was not carried description: 'Operations tagged Ownerships across 2 of this provider''s published API definitions: uitdatabank-entry.json, publiq-uitdatabank-entry-openapi.yml. Each path carries the servers of the definition it was published in.' servers: - url: https://io-test.uitdatabank.be description: Testing - url: https://io.uitdatabank.be description: Production tags: - name: Ownerships paths: /ownerships: post: summary: ownership - request description: Request the ownership of a given item operationId: ownership-request tags: - Ownerships responses: '201': description: The ownership has been requested content: application/json: schema: type: object properties: id: type: string description: The id of newly created ownership. required: - id examples: Example: value: id: 6b476d79-c404-425f-8b1c-357e39a60410 '400': description: 'Bad Request. Possible error types: * https://api.publiq.be/probs/body/missing * https://api.publiq.be/probs/body/invalid-syntax * https://api.publiq.be/probs/body/invalid-data * https://api.publiq.be/probs/uitdatabank/duplicate-url' content: application/problem+json: schema: $ref: '#/components/schemas/Error' examples: {} '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' requestBody: description: The details of an ownership to create content: application/json: schema: $ref: ../models/ownership-post.json security: - USER_ACCESS_TOKEN: [] - CLIENT_ACCESS_TOKEN: [] x-internal: true get: summary: ownership - get operationId: get-ownerships responses: '200': description: A list of ownership requests content: application/json: schema: type: object properties: itemsPerPage: type: integer example: 30 description: The amount of results that is being returned per page. totalItems: type: integer example: 2345 description: Total amount of results for the given query parameters. member: type: array description: Search results (paginated). items: $ref: ../models/ownership.json required: - itemsPerPage - totalItems - member '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Ownerships description: Get one or more ownership requests based on parameters parameters: - schema: type: string format: uuid in: query name: itemId description: The UUID of the item to get the ownerships from - schema: $ref: ../models/ownership-state.json in: query name: state description: Filter ownership requests by a given state - $ref: ../../uitpas/reference/uitpas.json#/components/parameters/start - $ref: ../../uitpas/reference/uitpas.json#/components/parameters/limit x-internal: true servers: - url: https://io-test.uitdatabank.be description: Testing - url: https://io.uitdatabank.be description: Production /ownerships/{ownershipId}: parameters: - $ref: '#/components/parameters/ownershipId' delete: summary: ownership - delete operationId: delete-ownerships-ownershipId responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' description: Delete a specific ownership x-internal: true tags: - Ownerships security: - USER_ACCESS_TOKEN: [] - CLIENT_ACCESS_TOKEN: [] servers: - url: https://io-test.uitdatabank.be description: Testing - url: https://io.uitdatabank.be description: Production /ownerships/{ownershipId}/approve: parameters: - $ref: '#/components/parameters/ownershipId' post: summary: ownership - approve operationId: post-ownership-approve responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Ownerships security: - USER_ACCESS_TOKEN: [] - CLIENT_ACCESS_TOKEN: [] description: Approve a given ownership x-internal: true servers: - url: https://io-test.uitdatabank.be description: Testing - url: https://io.uitdatabank.be description: Production /ownerships/{ownershipId}/reject: parameters: - $ref: '#/components/parameters/ownershipId' post: summary: ownership - reject operationId: post-ownership-reject responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Ownerships security: - USER_ACCESS_TOKEN: [] - CLIENT_ACCESS_TOKEN: [] description: Reject a given ownership x-internal: true servers: - url: https://io-test.uitdatabank.be description: Testing - url: https://io.uitdatabank.be description: Production components: responses: Unauthorized: description: 'Unauthorized. Your request is missing the required credentials to authenticate. See the Authentication documentation for more info. * type: https://api.publiq.be/probs/auth/unauthorized * detail: might contain a developer-readable explanation of the reason' content: application/problem+json: schema: $ref: '#/components/schemas/Error' examples: Example: value: type: https://api.publiq.be/probs/auth/unauthorized title: Unauthorized status: 401 Forbidden: description: 'Forbidden. Your request was successfully authenticated but you do not have permission to perform this particular request. * type: https://api.publiq.be/probs/auth/forbidden * detail: might contain a developer-readable explanation of the reason' content: application/problem+json: schema: $ref: '#/components/schemas/Error' examples: Example: value: type: https://api.publiq.be/probs/auth/forbidden title: Forbidden status: 403 detail: user must be admin of organizer abcd1234 NotFound: description: 'The requested resource (URL) could not be found. This can be due to one of multiple reasons: * The endpoint has a typo and/or does not exist on the API * One of the path parameters contains a value that is invalid or does not exist * One of the required query parameters is missing * One of the query parameters has an invalid value The `detail` property of the response should contain more specific information. The `type` will always be `https://api.publiq.be/probs/url/not-found`.' content: application/problem+json: schema: $ref: '#/components/schemas/Error' examples: Example: value: type: https://api.publiq.be/probs/url/not-found title: URL not found status: 404 detail: The resource with id "76C6AC08-763C-492E-A68C-CBC43A857229" was not found. schemas: Error: $ref: https://raw.githubusercontent.com/cultuurnet/apidocs/main/projects/errors/models/Error.json Error_2: title: Error type: object description: RFC7807 error model for all publiq APIs. properties: type: type: string description: A URI reference that identifies the problem type. Can be used to recognize specific errors in your application code by comparing the complete URI. title: type: string description: A short, human-readable summary of the problem type (for developers). status: type: integer description: The HTTP status code. detail: type: string description: 'A human-readable explanation specific to this occurrence of the problem (for developers). ' endUserMessage: type: object description: A human-readable explanation of the problem, specifically for end-users, in one or more languages. Typically available for domain errors, but not for errors caused by a technical issue in the integration (for example invalid JSON syntax in a request body). An `nl` value is always provided, other languages may be provided depending on the API and its intended audience. When this property is included, it is strongly encouraged to show this to the end-user. properties: nl: type: string description: A human-readable explanation of the problem, specifically for end-users, localized in Dutch. fr: type: string description: A human-readable explanation of the problem, specifically for end-users, localized in French. de: type: string description: A human-readable explanation of the problem, specifically for end-users, localized in German. en: type: string description: A human-readable explanation of the problem, specifically for end-users, localized in English. required: - nl schemaErrors: type: array description: A list of one or more schema validation errors (usually used for error type https://api.publiq.be/probs/body/invalid-data). items: type: object properties: jsonPointer: type: string format: json-pointer description: RFC6901 compliant pointer that indicates what property/value was invalid. error: type: string description: A human-readable (but often technical) reason why the property was invalid. required: - jsonPointer - error required: - type - title - status x-internal: false parameters: ownershipId: name: ownershipId in: path required: true schema: type: string format: uuid example: F2D5D20C-CC98-4979-9CD2-453ABAD979B5 description: Unique id of an ownership, in the format of a UUID securitySchemes: USER_ACCESS_TOKEN: type: oauth2 flows: {} description: A user access token, obtained by redirecting the end user to publiq's authorization server to login using the **Authorization Code OAuth Flow**. See the [authentication docs about user access tokens](https://docs.publiq.be/docs/authentication/methods/client-access-token) for more info. CLIENT_ACCESS_TOKEN: type: oauth2 flows: {} description: A client access token, obtained by exchanging your client id and client secret for a token via an HTTP request to publiq's authorization server using the **Client Credentials OAuth Flow**. See the [authentication docs about client access tokens](https://docs.publiq.be/docs/authentication/methods/user-access-token) for more info. x-refined-from: - uitdatabank-entry.json - publiq-uitdatabank-entry-openapi.yml