{ "swagger": "2.0", "info": { "version": "1.0", "title": "APPCRUE API", "description": "APPCRUE API reference. Keep in mind that the provided apikey for the service is your secret, and must be kept as such, do not make it public or use it on client applications.\n\nQuota Rates:\n - 200 requests per minute\n - 1000 maximum requests per hour\n\nQuota values refresh every 1 minute for rates and 1 hour for maximum quota.", "contact": {} }, "host": "api.symposium.events", "basePath": "/appcrue/v1", "schemes": [ "https" ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "paths": { "/events": { "get": { "description": "List events of the instance of the platform.\n\nThe instance is identified by its apikey.", "summary": "events list", "tags": [ "event" ], "operationId": "EventsGet", "produces": [ "application/json" ], "parameters": [ { "name": "client_id", "in": "query", "required": true, "type": "string", "description": "The instance apikey." }, { "name": "limit", "in": "query", "required": false, "type": "integer", "format": "int32", "description": "The number of elements to retrieve from the server." }, { "name": "page", "in": "query", "required": false, "type": "integer", "format": "int32", "description": "The page number, the first page is 1." }, { "name": "search", "in": "query", "required": false, "type": "string", "description": "A search term to look for in titles, descriptions and places. 3 or more characters are required." }, { "name": "list_type", "in": "query", "required": false, "type": "string", "description": "Use 'past' on this field if you want to look for old events, otherwise you will get ongoing and future events." }, { "name": "event_type", "in": "query", "required": false, "type": "array", "description": "A list of event type ids to filter the results. This is an OR filter, if two or more filters are used, the event must be related to one of them.", "items": { "type": "string" }, "collectionFormat": "multi" }, { "name": "event_category", "in": "query", "required": false, "type": "array", "description": "A list of event category ids to filter the results. This is an OR filter, if two or more filters are used, the event must be related to one of them.", "items": { "type": "string" }, "collectionFormat": "multi" }, { "name": "lang", "in": "query", "required": false, "type": "string", "description": "The language code for the response in lowercase. This language will be used to try to translate the response to that language if possible." } ], "responses": { "200": { "description": "A list of events.", "headers": {}, "schema": { "type": "object", "properties": { "status": { "type": "integer", "description": "The status of the response. 1 Means ok." }, "total": { "type": "integer", "description": "Total number of events found." }, "events": { "type": "array", "items": { "$ref": "#/components/schemas/EventBasic" } }, "event_types_found": { "description": "Future and ongoing event types.", "type": "array", "items": { "$ref": "#/components/schemas/EventType" } }, "event_categories_found": { "description": "Future and ongoing event categories.", "type": "array", "items": { "$ref": "#/components/schemas/EventCategory" } } } } }, "400": { "description": "Invalid parámeter or validation error", "schema": { "$ref": "#/components/schemas/Error" } }, "401": { "description": "Apikey is not linked to any instance", "schema": { "$ref": "#/components/schemas/Error" } }, "403": { "description": "The api key is invalid or missing", "schema": { "$ref": "#/components/schemas/Error" } }, "500": { "description": "Server error", "schema": { "$ref": "#/components/schemas/Error" } } } } }, "/events/{event_id}": { "get": { "description": "Returns the given event details based on the data parameter.", "summary": "event details", "tags": [ "event" ], "operationId": "EventsByEventIdGet", "produces": [ "application/json" ], "parameters": [ { "name": "client_id", "in": "query", "required": true, "type": "string", "description": "The instance apikey." }, { "name": "authtoken", "in": "query", "required": false, "type": "string", "description": "Authorization token of the user in SYMPOSIUM. This value is returned by the login method." }, { "name": "data", "in": "query", "required": false, "type": "string", "description": "Comma separated string with the values we want to retrieve from the event. Options: sponsors, programme, speakers, dates, attendees, notifications" }, { "name": "event_id", "in": "path", "required": true, "type": "string", "description": "The event id to be retrived." } ], "responses": { "200": { "description": "Event object with extra information", "headers": {}, "schema": { "type": "object", "properties": { "status": { "type": "integer", "description": "The status of the response. 1 Means ok." }, "total": { "type": "integer", "description": "Total number of events found." }, "events": { "type": "array", "items": { "$ref": "#/components/schemas/EventDetail" } }, "event_types_found": { "description": "Future and ongoing event types.", "type": "array", "items": { "$ref": "#/components/schemas/EventType" } }, "event_categories_found": { "description": "Future and ongoing event categories.", "type": "array", "items": { "$ref": "#components/schemas/EventCategory" } } } } }, "401": { "description": "Apikey is not linked to any instance", "schema": { "$ref": "#/components/schemas/Error" } }, "403": { "description": "The api key is invalid or missing", "schema": { "$ref": "#/components/schemas/Error" } }, "500": { "description": "Server error", "schema": { "$ref": "#/components/schemas/Error" } } } } }, "/events/{event_id}/attendees": { "get": { "description": "List of the event attendees.\n\nThis method will return only the public attendance attendees of the event.", "summary": "event attendees list", "tags": [ "event attendees" ], "operationId": "EventsAttendeesByEventIdGet", "produces": [ "application/json" ], "parameters": [ { "name": "client_id", "in": "query", "required": true, "type": "string", "description": "The instance apikey." }, { "name": "authtoken", "in": "query", "required": true, "type": "string", "description": "The user authtoken given by the login method." }, { "name": "page", "in": "query", "required": false, "type": "integer", "format": "int32", "description": "The page number, the first page is 1." }, { "name": "limit", "in": "query", "required": false, "type": "integer", "format": "int32", "description": "The number of elements to retrieve from the server." }, { "name": "event_id", "in": "path", "required": true, "type": "string", "description": "The event id to be retrived." } ], "responses": { "200": { "description": "", "headers": {}, "schema": { "type": "object", "properties": { "total": { "type": "integer" }, "attendees": { "type": "array", "items": { "$ref": "#/components/schemas/Attendee" } } } } }, "400": { "description": "Invalid parámeter or validation error", "schema": { "$ref": "#/components/schemas/Error" } }, "401": { "description": "Apikey is not linked to any instance", "schema": { "$ref": "#/components/schemas/Error" } }, "403": { "description": "The api key is invalid or missing", "schema": { "$ref": "#/components/schemas/Error" } }, "500": { "description": "Server error", "schema": { "$ref": "#/components/schemas/Error" } } } } }, "/events/{event_id}/attendees/messages": { "post": { "description": "This method will send an email to the user of the given attendance id of the event.", "summary": "event attendees messages post", "tags": [ "event attendees" ], "operationId": "EventsAttendeesMessagesByEventIdPost", "produces": [ "application/json" ], "consumes": [ "application/x-www-form-urlencoded" ], "parameters": [ { "name": "client_id", "in": "query", "required": true, "type": "string", "description": "The isntance apikey." }, { "name": "event_id", "in": "path", "required": true, "type": "string", "description": "The event id to be retrived." }, { "name": "recipient", "in": "formData", "required": true, "type": "string", "description": "Attendee id to sent the message to." }, { "name": "subject", "in": "formData", "required": true, "type": "string", "description": "Subject of the message to be sent." }, { "name": "body", "in": "formData", "required": true, "type": "string", "description": "Contents of the message to be sent." }, { "name": "authtoken", "in": "formData", "required": true, "type": "string", "description": "Authorization token of the user in SYMPOSIUM. This value is returned by the login method." } ], "responses": { "200": { "description": "Email sent to the attendee. The method returns an empty object.", "headers": {}, "schema": { "type": "object", "properties": { } } }, "400": { "description": "Invalid parámeter or validation error", "schema": { "$ref": "#/components/schemas/Error" } }, "401": { "description": "Apikey is not linked to any instance", "schema": { "$ref": "#/components/schemas/Error" } }, "403": { "description": "The api key is invalid or missing", "schema": { "$ref": "#/components/schemas/Error" } }, "500": { "description": "Server error", "schema": { "$ref": "#/components/schemas/Error" } } } } }, "/attendances": { "get": { "description": "The user attendaces to events.\n\nThe attendances are dependent on the given authtoken.", "summary": "user attendances list", "tags": [ "attendance" ], "operationId": "AttendancesGet", "produces": [ "application/json" ], "parameters": [ { "name": "client_id", "in": "query", "required": true, "type": "string", "description": "The instance apikey." }, { "name": "authtoken", "in": "query", "required": true, "type": "string", "description": "The user authtoken given by the login method." }, { "name": "page", "in": "query", "required": false, "type": "integer", "format": "int32", "description": "The page number, the first page is 1." }, { "name": "limit", "in": "query", "required": false, "type": "integer", "format": "int32", "description": "The number of elements to retrieve from the server." }, { "name": "lang", "in": "query", "required": false, "type": "string", "description": "The language code for the response in lowercase. This language will be used to try to translate the response to that language if possible." } ], "responses": { "200": { "description": "The list of the user attendances to events.", "headers": {}, "schema": { "type": "object", "properties": { "total": { "type": "integer" }, "attendances": { "type": "array", "items": { "$ref": "#/components/schemas/Attendance" } } } } }, "400": { "description": "Invalid parámeter or validation error", "schema": { "$ref": "#/components/schemas/Error" } }, "401": { "description": "Apikey is not linked to any instance", "schema": { "$ref": "#/components/schemas/Error" } }, "403": { "description": "The api key is invalid or missing", "schema": { "$ref": "#/components/schemas/Error" } }, "500": { "description": "Server error", "schema": { "$ref": "#/components/schemas/Error" } } } } }, "/attendances/{attendance_id}": { "get": { "description": "Get the details of an attendance by its id.\n\nThe attendance id must be owned by the user related to the given authtoken.", "summary": "User attendance details", "tags": [ "attendance" ], "operationId": "AttendancesByAttendanceIdGet", "produces": [ "application/json" ], "parameters": [ { "name": "client_id", "in": "query", "required": true, "type": "string", "description": "The instance apikey." }, { "name": "authtoken", "in": "query", "required": true, "type": "string", "description": "The user authtoken given by the login method." }, { "name": "attendance_id", "in": "path", "required": true, "type": "string", "description": "The id of the attendance to be retrived." } ], "responses": { "200": { "description": "The attendance details.", "headers": {}, "schema": { "$ref": "#/components/schemas/AttendanceDetails" } }, "400": { "description": "Invalid parámeter or validation error", "schema": { "$ref": "#/components/schemas/Error" } }, "401": { "description": "Apikey is not linked to any instance", "schema": { "$ref": "#/components/schemas/Error" } }, "403": { "description": "The api key is invalid or missing", "schema": { "$ref": "#/components/schemas/Error" } }, "500": { "description": "Server error", "schema": { "$ref": "#/components/schemas/Error" } } } } }, "/login": { "post": { "description": "This method will authenticate an APPCRUE user by its id and authtoken and return a SYMPOSIUM user id and authtoken.", "summary": "login", "tags": [ "login" ], "operationId": "LoginPost", "produces": [ "application/json" ], "consumes": [ "application/x-www-form-urlencoded" ], "parameters": [ { "name": "client_id", "in": "query", "required": true, "type": "string", "description": "The instance apikey." }, { "name": "user_id", "in": "formData", "required": true, "type": "string", "description": "Appcrue user identifier" }, { "name": "authtoken", "in": "formData", "required": true, "type": "string", "description": "Appcrue user authToken" } ], "responses": { "200": { "description": "The login information.", "headers": {}, "schema": { "$ref": "#/components/schemas/Login" } }, "400": { "description": "Invalid parámeter or validation error", "schema": { "$ref": "#/components/schemas/Error" } }, "401": { "description": "Apikey is not linked to any instance", "schema": { "$ref": "#/components/schemas/Error" } }, "403": { "description": "The api key is invalid or missing", "schema": { "$ref": "#/components/schemas/Error" } }, "500": { "description": "Server error", "schema": { "$ref": "#/components/schemas/Error" } } } } }, "/filters": { "get": { "description": "This method return the available filters for event search.", "summary": "event filter", "tags": [ "event" ], "operationId": "LoginPost", "produces": [ "application/json" ], "consumes": [ "application/x-www-form-urlencoded" ], "parameters": [ { "name": "client_id", "in": "query", "required": true, "type": "string", "description": "The instance apikey." }, { "name": "lang", "in": "query", "required": false, "type": "string", "description": "The language code to try to translate the response to." } ], "responses": { "200": { "description": "The list of filters.", "headers": {}, "schema": { "type": "object", "properties": { "status": { "type": "integer", "description": "The status of the response." }, "event_types_found": { "type": "array", "description": "List of found event types.", "items": { "$ref": "#/components/schemas/EventType" } }, "event_categories_found": { "type": "array", "description": "List of found event categories.", "items": { "$ref": "#components/schemas/EventCategory" } } } } }, "400": { "description": "Invalid parámeter or validation error", "schema": { "$ref": "#/components/schemas/Error" } }, "401": { "description": "Apikey is not linked to any instance", "schema": { "$ref": "#/components/schemas/Error" } }, "403": { "description": "The api key is invalid or missing", "schema": { "$ref": "#/components/schemas/Error" } }, "500": { "description": "Server error", "schema": { "$ref": "#/components/schemas/Error" } } } } } }, "tags": [], "components": { "schemas": { "Event": { "type": "object", "properties": { "id": { "type": "integer", "format": "int32", "description": "The event identifier into SYMPOSIUM." }, "title": { "type": "string", "description": "The event title, this string will be encoded in utf8." }, "opening_date": { "type": "string", "pattern": "[\\d]{4}-[\\d]{2}-[\\d]{2} [\\d]{2}:[\\d]{2}:[\\d]{2}", "description": "The event opening date as string, in the event local timezone." }, "closing_date": { "type": "integer", "pattern": "[\\d]{4}-[\\d]{2}-[\\d]{2} [\\d]{2}:[\\d]{2}:[\\d]{2}", "description": "The event closing date as string, in the event local timezone." }, "opening_date_timestamp": { "type": "integer", "description": "The event opening date as UNIX timestamp." }, "closing_date_timestamp": { "type": "integer", "description": "The event opening date as UNIX timestamp." }, "timezone": { "type": "string", "description": "The timezone of the event place." }, "place": { "type": "string", "description": "The event place in utf8 encoding. This will be the address where the event will take place." }, "place_name": { "type": "string", "description": "The event place name in utf8 encoding. For example the building where is going to take place, 'Math faculty'." }, "place_detail": { "type": "string", "description": "The event place details in utf8 encoding. For example the place inside of the building where it takes place. 'Assembly Hall'." }, "lat": { "type": "float", "description": "The latitude of the place where the event takes place." }, "lng": { "type": "float", "description": "The longitude of the place where the event takes place." }, "summary": { "type": "string", "default": "null", "description": "A short description about the event in utf8 encoding." }, "image": { "type": "string", "default": "null", "description": "The header image of the event hosted at SYMPOSIUM." }, "url": { "type": "string", "description": "The URL of the event, hosted at SYMPOSIUM." }, "organizer_name": { "type": "string", "description": "The name of the organizer in utf8 encoding." }, "contact_email": { "type": "string", "description": "The contact email." }, "telephone": { "type": "string", "description": "The contact phone." }, "registration_url": { "type": "string", "description": "If there is any registration period currently open, the URL to the registration form hosted at SYMPOSIUM. This field wont be returned in case there is no active registration period." } } }, "EventBasic": { "type": "object", "properties": { "id": { "type": "integer", "description": "The event identifier." }, "title": { "type": "string", "description": "The event title." }, "opening_date": { "type": "integer", "description": "The event opening date, as a unix timestamp in UTC timezone." }, "closing_date": { "type": "integer", "description": "The event closing date, as a unix timestamp in UTC timezone." }, "place": { "type": "string", "description": "The event location." }, "lat": { "type": "double", "description": "The event location latitude." }, "lng" : { "type": "double", "description": "The event location longitude." }, "summary": { "type": "string", "default": "null", "description": "The event summary. Not translatable." }, "image": { "type": "string", "default": "null", "description": "The image of the event hosted at SYMPOSIUM." }, "timezone": { "type": "string", "description": "The event timezone." }, "url": { "type": "string", "description": "The URL to the event page." }, "registration_url": { "type": "string", "description": "If there is any registration period currently open, the URL to the registration form hosted at SYMPOSIUM. This field wont be returned in case there is no active registration period." } } }, "EventDetail": { "type": "object", "properties": { "id": { "type": "integer", "description": "The event identifier." }, "title": { "type": "string", "description": "The event title." }, "description": { "type": "string", "description": "The event description." }, "opening_date": { "type": "integer", "description": "The event opening date, as a unix timestamp in UTC timezone." }, "closing_date": { "type": "integer", "description": "The event closing date, as a unix timestamp in UTC timezone." }, "place": { "type": "string", "description": "The event location." }, "lat": { "type": "double", "description": "The event location latitude." }, "lng": { "type": "double", "description": "The event location longitude." }, "summary": { "type": "string", "default": "null", "description": "The event summary. Not translatable." }, "image": { "type": "string", "default": "null", "description": "The image of the event hosted at SYMPOSIUM." }, "timezone": { "type": "string", "description": "The event timezone." }, "url": { "type": "string", "description": "The URL to the event page." }, "registration_url": { "type": "string", "description": "If there is any registration period currently open, the URL to the registration form hosted at SYMPOSIUM. This field wont be returned in case there is no active registration period." }, "sponsors": { "type": "array", "description": "List of the sponsors of the event.", "items": { "$ref": "#/components/schemas/Sponsor" } }, "programme": { "type": "array", "description": "List of programme items.", "items": { "$ref": "#/components/schemas/Programme" } }, "speakers": { "type": "array", "description": "List of the event speakers.", "items": { "$ref": "#/components/schemas/Speaker" } }, "notifications": { "type": "array", "description": "List of the event notifications. Including the user personal notifications if the authtoken was provided.", "items": { "$ref": "#/components/schemas/Notification" } }, "dates": { "type": "array", "description": "List of dates of interest of the event.", "items": { "$ref": "#/components/schemas/Date" } }, "attendees": { "type": "array", "description": "List of public attendees of the event.", "items": { "$ref": "#/components/schemas/Attendee" } } } }, "Error": { "type": "object", "properties": { "error": { "type": "string", "description": "Error description." } } }, "Attendee": { "type": "object", "properties": { "attending_id": { "type": "integer", "description": "The attendee identifier at SYMPOSIUM." }, "name": { "type": "string", "description": "The attendees name." } } }, "Attendance": { "type": "object", "description": "The attribute 'managed' is optional and will be sent only if its relevant, by default is not going to be sent.", "properties": { "id": { "type": "integer", "description": "The attendance identifier." }, "user_id": { "type": "integer", "description": "The user identifier." }, "ticket_id": { "type": "integer", "description": "The attendance ticket identifier." }, "invoice_id": { "type": "integer", "description": "The invoice identifier." }, "event_id": { "type": "integer", "description": "The event identifier." }, "event_title": { "type": "string", "description": "The event title." }, "event_summary": { "type": "string", "default": "null", "description": "The event summary. Not translatable." }, "event_url": { "type": "string", "description": "The URL to the event page." }, "event_image": { "type": "string", "default": "null", "description": "The image of the event hosted at SYMPOSIUM." }, "confirm": { "type": "string", "description": "Confirmation status of the attendance. Possible values [pending|rejected|confirm]." }, "canceled": { "type": "string", "description": "Cancellation status of the attendance." }, "check_in": { "type": "string", "description": "If the attendance was already checked in." }, "created": { "type": "string", "description": "Date of attendance creation in Europe/Madrid timezone.", "pattern": "[\\d]{4}-[\\d]{2}-[\\d]{2} [\\d]{2}:[\\d]{2}:[\\d]{2}" }, "created_timestamp": { "type": "integer", "description": "Date of attendance creation as unix timestamp in UTC timezone." }, "managed": { "type": "object", "description": "A managed attendance is a registration to an event performed in somebody else's name. This property contains the information related to the person the current user has registered to an event.", "properties": { "name": { "type": "string", "description": "The managed user name." }, "email": { "type": "string", "description": "The managed user email." }, "user": { "type": "integer", "description": "The managed user id." }, "attendance_id": { "type": "integer", "description": "The attendance identifier." } } } } }, "AttendanceDetails": { "type": "object", "properties": { "event": { "type": "object", "properties": { "id": { "type": "integer", "description": "The event identifier." }, "title": { "type": "string", "description": "The event title." }, "opening_date": { "type": "integer", "description": "The event opening date, as a unix timestamp in UTC timezone." }, "closing_date": { "type": "integer", "description": "The event closing date, as a unix timestamp in UTC timezone." }, "url": { "type": "string", "description": "The URL to the event page." }, "image": { "type": "string", "default": "null", "description": "The image of the event hosted at SYMPOSIUM." }, "place": { "type": "string", "description": "The event location." }, "lat": { "type": "float", "description": "The event location latitude." }, "lng": { "type": "float", "description": "The event location longitude." }, "summary": { "type": "string", "default": "null", "description": "Event description summary." }, "partner_id": { "type": "integer", "description": "The event partner identifier." }, "timezone": { "type": "string", "description": "The event timezone." } } }, "user": { "type": "object", "properties": { "id": { "type": "integer", "description": "The user identifier." }, "name": { "type": "string", "description": "The first name of the user." }, "surname": { "type": "string", "description": "The surname of the user." }, "email": { "type": "string", "description": "The email of the user." } } }, "registration": { "type": "object", "properties": { "id": { "type": "integer", "description": "The attendance identifier." }, "ticket_id": { "type": "integer", "description": "The attendance ticket identifier." }, "ticket_name": { "type": "string", "description": "The attendance ticket name." }, "ticket_price": { "type": "double", "description": "The ticket price.", "default": "null" }, "ticket_currency_code": { "type": "string", "description": "The ticket price currency code.", "default": "null" }, "status": { "type": "string", "description": "Confirmation status of the attendance. Possible values [pending|rejected|confirm]." }, "invoice_id": { "type": "integer", "description": "The attendance invoice identifier." }, "amount": { "type": "integer", "description": "The attendance invoice total amount." }, "payment_status": { "type": "string", "description": "The attendance invoice payment status. Possible values [pending|confirmed|error|canceled]." }, "products": { "type": "array", "description": "List of products relative to this attendance. The products list is populated only if the payment is 'confirmed'.", "items": { "$ref": "#/components/schemas/Product" } } } } } }, "Product": { "type": "object", "properties": { "id": { "type": "integer", "description": "The product identifier." }, "sale_id": { "type": "integer", "description": "The product sale identifier." }, "name": { "type": "string", "description": "The product name." }, "price": { "type": "double", "description": "The product price without currency." }, "currecy": { "type": "string", "description": "Currenty code of the price." }, "units": { "type": "integer", "description": "The number of product units." } } }, "Login": { "type": "object", "properties": { "user_id": { "type": "integer", "description": "The user identifier." }, "authtoken": { "type": "string", "description": "The authorization token related to the user id. This token will be used in other requests." } } }, "Notification": { "type": "object", "properties": { "id": { "type": "integer", "description": "The notification identifier." }, "event_id": { "type": "integer", "description": "The event identifier." }, "title": { "type": "string", "description": "The notification title." }, "description": { "type": "string", "description": "The notification contents." }, "date": { "type": "integer", "description": "The notification date as unix timestamp in UTC timezone." } } }, "Date": { "type": "object", "description": "Relevant date object. Date_end and description can be null.", "properties": { "id": { "type": "integer", "description": "The relevant date identifier." }, "date_ini": { "type": "integer", "description": "The relevant date start." }, "date_end": { "type": "integer", "default": "null", "description": "The relevant date end. Can be null." }, "tile": { "type": "string", "description": "The relevant date title." }, "description": { "type": "string", "default": "null", "description": "The relevant date description." } } }, "Programme": { "type": "object", "properties": { "title": { "type": "string", "description": "The programme title." }, "description": { "type": "string", "description": "The programme description." }, "opening_date": { "type": "integer", "description": "The programme item opening date as unix timestamp in UTC timezone." }, "closing_date": { "type": "integer", "description": "The programme item closing date as unix timestamp in UTC timezone." } } }, "Speaker": { "type": "object", "properties": { "id": { "type": "integer", "description": "The speaker identifier." }, "name": { "type": "string", "description": "The name of the speaker." }, "picture": { "type": "string", "description": "The picture of the speaker if any." }, "curriculum": { "type": "string", "description": "The curriculum of the speaker." }, "current_location": { "type": "string", "description": "The speaker current location. Company, University or Research group." } } }, "Sponsor": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the sponsor." }, "picture": { "type": "string", "description": "The picture of the sponsor, if any." }, "link": { "type": "string", "description": "Link to the sponsor if any." } } }, "EventType" : { "type": "object", "description": "Event type item.", "properties": { "id": { "type": "integer", "description": "The type identifier." }, "name": { "type": "string", "description": "The type name." } } }, "EventCategory" : { "type": "object", "description": "Event category item.", "properties": { "id": { "type": "string", "description": "The event category identifier." }, "name": { "type": "string", "description": "The event category name." }, "partner_id": { "type": "integer", "description": "The event category partner identifier." } } } } } }