{"docs":{"name":"Fab-manager","info":"\n\u003ch1 id=\"label-Pagination\"\u003ePagination\u003cspan\u003e\u003ca href=\"#label-Pagination\"\u003e\u0026para;\u003c/a\u003e \u003ca href=\"#top\"\u003e\u0026uarr;\u003c/a\u003e\u003c/span\u003e\u003c/h1\u003e\n\u003chr\u003e\n\n\u003cp\u003eSome endpoints are paginated, because they provides many data. Other provides optional pagination. You can ask for pagination on your requests, by providing the GET parameters \u003cstrong\u003epage\u003c/strong\u003e and \u003cstrong\u003eper_page\u003c/strong\u003e (when it’s available). The meta-data about pagination will be returned in the headers, following RFC-5988 standard for web linking. It uses headers \u003cstrong\u003eLink\u003c/strong\u003e, \u003cstrong\u003eTotal\u003c/strong\u003e and \u003cstrong\u003ePer-Page\u003c/strong\u003e.\u003c/p\u003e\n\n\u003ch1 id=\"label-Authentication\"\u003eAuthentication\u003cspan\u003e\u003ca href=\"#label-Authentication\"\u003e\u0026para;\u003c/a\u003e \u003ca href=\"#top\"\u003e\u0026uarr;\u003c/a\u003e\u003c/span\u003e\u003c/h1\u003e\n\u003chr\u003e\n\n\u003cp\u003eAuthentication is done using \u003cstrong\u003eAuthorization\u003c/strong\u003e header. You just have to set header \u003cstrong\u003eAuthorization\u003c/strong\u003e to \u003ccode\u003eToken token=YOUR_TOKEN\u003c/code\u003e for every request.\u003c/p\u003e\n\n\u003ch1 id=\"label-Json\"\u003eJson\u003cspan\u003e\u003ca href=\"#label-Json\"\u003e\u0026para;\u003c/a\u003e \u003ca href=\"#top\"\u003e\u0026uarr;\u003c/a\u003e\u003c/span\u003e\u003c/h1\u003e\n\u003chr\u003e\n\n\u003cp\u003eDepending on your client, you may have to set header \u003ccode\u003eAccept: application/json\u003c/code\u003e for every request, otherwise some clients may request \u003cstrong\u003ehtml\u003c/strong\u003e by default which will result in error.\u003c/p\u003e\n\n\u003ch1 id=\"label-Amounts\"\u003eAmounts\u003cspan\u003e\u003ca href=\"#label-Amounts\"\u003e\u0026para;\u003c/a\u003e \u003ca href=\"#top\"\u003e\u0026uarr;\u003c/a\u003e\u003c/span\u003e\u003c/h1\u003e\n\u003chr\u003e\n\n\u003cp\u003eEverywhere in the OpenAPI amounts are reported in cents. For exemple, if you get \u003ccode\u003e{ \u0026quot;amount\u0026quot; : 1000 }\u003c/code\u003e, from the OpenAPI, this means that the price is 10 € (or whatever your currency is).\u003c/p\u003e\n","copyright":null,"doc_url":"/open_api/doc/v1","api_url":"/open_api","resources":{"accounting":{"doc_url":"/open_api/doc/v1/accounting","id":"accounting","api_url":"/open_api","name":"Accounting","short_description":"Accounting lines","full_description":"\n\u003cp\u003eAccounting lines according to the French General Accounting Plan (PCG)\u003c/p\u003e\n","version":"v1","formats":["json"],"metadata":null,"methods":[{"doc_url":"/open_api/doc/v1/accounting/index","name":"index","apis":[{"api_url":"/open_api/v1/accounting","http_method":"GET","short_description":"Accounting lines","deprecated":null}],"formats":["json"],"full_description":"\n\u003cp\u003eAll accounting lines, paginated (necessarily becauce there is a lot of data) with optional dates filtering. Ordered by \u003cstrong\u003edate\u003c/strong\u003e descendant.\u003cbr\u003eThe field \u003cstrong\u003estatus\u003c/strong\u003e indicates if the accounting data is being built or if the build is over. Possible status are: \u003cem\u003ebuilding\u003c/em\u003e or \u003cem\u003ebuilt\u003c/em\u003e.\u003cbr\u003eThe field \u003cstrong\u003einvoice.payment_details\u003c/strong\u003e is available if line_type=payment. It will contain the following data:\u003cbr\u003e· \u003cstrong\u003epayment_mean\u003c/strong\u003e, possible status are: \u003cem\u003ecard\u003c/em\u003e, \u003cem\u003ewallet\u003c/em\u003e or \u003cem\u003eother\u003c/em\u003e. \u003cstrong\u003eWARNING\u003c/strong\u003e: If an invoice was settled using multiple payment means, this will only report the payment mean applicable to current line.\u003cbr\u003e· \u003cstrong\u003egateway_object_id\u003c/strong\u003e, if payment_mean=card, report the ID of the payment gateway related object\u003cbr\u003e· \u003cstrong\u003egateway_object_type\u003c/strong\u003e, if payment_mean=card, report the type of the payment gateway related object\u003cbr\u003e· \u003cstrong\u003ewallet_transaction_id\u003c/strong\u003e, if payment_mean=wallet, report the ID of the wallet transaction\u003cbr\u003e\u003c/p\u003e\n","errors":[],"params":[{"name":"page","full_name":"page","description":"\n\u003cp\u003ePage number\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a Integer","expected_type":"numeric","metadata":null,"show":true,"validations":[]},{"name":"per_page","full_name":"per_page","description":"\n\u003cp\u003eNumber of objects per page. Default is 20.\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a Integer","expected_type":"numeric","metadata":null,"show":true,"validations":[]},{"name":"after","full_name":"after","description":"\n\u003cp\u003eFilter accounting lines to lines after the given date.\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a DateTime","expected_type":"string","metadata":null,"show":true,"validations":[]},{"name":"before","full_name":"before","description":"\n\u003cp\u003eFilter accounting lines to lines before the given date.\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a DateTime","expected_type":"string","metadata":null,"show":true,"validations":[]},{"name":"invoice_id","full_name":"invoice_id","description":"\n\u003cp\u003eScope the request to one or various invoices.\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be one of: \u003ccode\u003eInteger\u003c/code\u003e, \u003ccode\u003eArray\u003c/code\u003e.","expected_type":"string","metadata":null,"show":true,"validations":[]},{"name":"type","full_name":"type","description":"\n\u003cp\u003eFilter accounting lines by line type.\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be one of: \u003ccode\u003eclient\u003c/code\u003e, \u003ccode\u003evat\u003c/code\u003e, \u003ccode\u003eitem\u003c/code\u003e.","expected_type":"string","metadata":null,"show":true,"validations":[]}],"returns":[],"examples":["# /open_api/v1/accounting?after=2022-01-01T00:00:00+02:00\u0026page=1\u0026per_page=3\n{\n  \"lines\": [\n    {\n      \"id\": 1,\n      \"line_type\": \"payment\",\n      \"journal_code\": \"VT01\",\n      \"date\": \"2022-01-02T18:14:21+01:00\",\n      \"account_code\": \"5802\",\n      \"account_label\": \"Card customers\",\n      \"analytical_code\": \"\",\n      \"invoice\": {\n        \"reference\": \"22010009/VL\",\n        \"id\": 274,\n        \"label\": \"Subscription of Dupont Marcel for 1 month starting from 2022, january 2nd\",\n        \"url\": \"/open_api/v1/invoices/247/download\",\n        \"payment_details\": {\n          \"payment_mean\": \"card\",\n          \"gateway_object_id\": \"pi_3MA2PPW4kx8QemzC02ABBEbo\",\n          \"gateway_object_type\": \"Stripe::PaymentIntent\"\n        }\n      },\n      \"user\": {\n        \"invoicing_profile_id\": 6512,\n        \"external_id\": \"U52-ALC4\"\n      },\n      \"debit\": 14.0,\n      \"credit\": 0\n      \"currency\": \"EUR\",\n      \"summary\": \"Dupont Marcel, 22010009/VL, subscr.\"\n    },\n    {\n      \"id\": 2,\n      \"line_type\": \"item\",\n      \"journal_code\": \"VT01\",\n      \"date\": \"2022-01-02T18:14:21+01:00\",\n      \"account_code\": \"7071\",\n      \"account_label\": \"Subscriptions\",\n      \"analytical_code\": \"P3D71\",\n      \"invoice\": {\n        \"reference\": \"22010009/VL\",\n        \"id\": 274,\n        \"label\": \"Subscription of Dupont Marcel for 1 month starting from 2022, january 2nd\",\n        \"url\": \"/open_api/v1/invoices/247/download\"\n      },\n      \"user_invoicing_profile_id\": 6512,\n      \"debit\": 0,\n      \"credit\": 11.67\n      \"currency\": \"EUR\",\n      \"summary\": \"Dupont Marcel, 22010009/VL, subscr.\"\n    },\n    {\n      \"id\": 3,\n      \"line_type\": \"vat\",\n      \"journal_code\": \"VT01\",\n      \"date\": \"2022-01-02T18:14:21+01:00\",\n      \"account_code\": \"4457\",\n      \"account_label\": \"Collected VAT\",\n      \"analytical_code\": \"P3D71\",\n      \"invoice\": {\n        \"reference\": \"22010009/VL\",\n        \"id\": 274,\n        \"label\": \"Subscription of Dupont Marcel for 1 month starting from 2022, january 2nd\",\n        \"url\": \"/open_api/v1/invoices/247/download\"\n      },\n      \"user_invoicing_profile_id\": 6512,\n      \"debit\": 0,\n      \"credit\": 2.33\n      \"currency\": \"EUR\",\n      \"summary\": \"Dupont Marcel, 22010009/VL, subscr.\"\n    }\n  ],\n  \"status\": \"built\"\n}\n"],"metadata":null,"see":[],"headers":[],"show":true}],"headers":[],"deprecated":false},"availabilities":{"doc_url":"/open_api/doc/v1/availabilities","id":"availabilities","api_url":"/open_api","name":"Availabilities","short_description":"Availabilities","full_description":"\n\u003cp\u003eSlots availables for reservation\u003c/p\u003e\n","version":"v1","formats":["json"],"metadata":null,"methods":[{"doc_url":"/open_api/doc/v1/availabilities/index","name":"index","apis":[{"api_url":"/open_api/v1/availabilities","http_method":"GET","short_description":"Availabilities index","deprecated":null}],"formats":["json"],"full_description":"\n\u003cp\u003eIndex of reservable availabilities and their slots, paginated. Ordered by \u003cstrong\u003estart_at\u003c/strong\u003e descendant.\u003c/p\u003e\n","errors":[],"params":[{"name":"page","full_name":"page","description":"\n\u003cp\u003ePage number\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a Integer","expected_type":"numeric","metadata":null,"show":true,"validations":[]},{"name":"per_page","full_name":"per_page","description":"\n\u003cp\u003eNumber of objects per page. Default is 20.\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a Integer","expected_type":"numeric","metadata":null,"show":true,"validations":[]},{"name":"after","full_name":"after","description":"\n\u003cp\u003eFilter availabilities to those starting after the given date.\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a DateTime","expected_type":"string","metadata":null,"show":true,"validations":[]},{"name":"before","full_name":"before","description":"\n\u003cp\u003eFilter availabilities to those ending before the given date.\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a DateTime","expected_type":"string","metadata":null,"show":true,"validations":[]},{"name":"user_id","full_name":"user_id","description":"\n\u003cp\u003eScope the request to one or various users.\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be one of: \u003ccode\u003eInteger\u003c/code\u003e, \u003ccode\u003eArray\u003c/code\u003e.","expected_type":"string","metadata":null,"show":true,"validations":[]},{"name":"available_type","full_name":"available_type","description":"\n\u003cp\u003eScope the request to a specific type of reservable.\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be one of: \u003ccode\u003eEvent\u003c/code\u003e, \u003ccode\u003eMachine\u003c/code\u003e, \u003ccode\u003eSpace\u003c/code\u003e, \u003ccode\u003eTraining\u003c/code\u003e.","expected_type":"string","metadata":null,"show":true,"validations":[]},{"name":"available_id","full_name":"available_id","description":"\n\u003cp\u003eScope the request to one or various reservables. \u003cbr\u003e\u003cstrong\u003eWARNING\u003c/strong\u003e: filtering by \u003cem\u003eavailable_id\u003c/em\u003e is only available if filter \u003cem\u003eavailable_type\u003c/em\u003e is provided\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be one of: \u003ccode\u003eInteger\u003c/code\u003e, \u003ccode\u003eArray\u003c/code\u003e.","expected_type":"string","metadata":null,"show":true,"validations":[]}],"returns":[],"examples":["# /open_api/v1/availabilities?available_type=Machine\u0026page=1\u0026per_page=3\n{\n  \"availabilities\": [\n    {\n        \"id\": 5115,\n        \"start_at\": \"2023-07-13T14:00:00.000+02:00\",\n        \"end_at\": \"2023-07-13T18:00:00.000+02:00\",\n        \"created_at\": \"2023-01-24T12:28:25.905+01:00\",\n        \"available_type\": \"Machine\",\n        \"available_ids\": [\n            5,\n            9,\n            10,\n            15,\n            8,\n            12,\n            17,\n            16,\n            3,\n            2,\n            14,\n            18\n        ],\n        \"slots\": [\n            {\n                \"id\": 17792,\n                \"start_at\": \"2023-07-13T14:00:00.000+02:00\",\n                \"end_at\": \"2023-07-13T15:00:00.000+02:00\"\n            },\n            {\n                \"id\": 17793,\n                \"start_at\": \"2023-07-13T15:00:00.000+02:00\",\n                \"end_at\": \"2023-07-13T16:00:00.000+02:00\"\n            },\n            {\n                \"id\": 17794,\n                \"start_at\": \"2023-07-13T16:00:00.000+02:00\",\n                \"end_at\": \"2023-07-13T17:00:00.000+02:00\"\n            },\n            {\n                \"id\": 17795,\n                \"start_at\": \"2023-07-13T17:00:00.000+02:00\",\n                \"end_at\": \"2023-07-13T18:00:00.000+02:00\"\n            }\n        ]\n    },\n    {\n        \"id\": 5112,\n        \"start_at\": \"2023-07-07T14:00:00.000+02:00\",\n        \"end_at\": \"2023-07-07T18:00:00.000+02:00\",\n        \"created_at\": \"2023-01-24T12:26:45.997+01:00\",\n        \"available_type\": \"Machine\",\n        \"available_ids\": [\n            5,\n            9,\n            10,\n            15,\n            8,\n            12,\n            17,\n            16,\n            3,\n            2,\n            14,\n            18\n        ],\n        \"slots\": [\n            {\n                \"id\": 17786,\n                \"start_at\": \"2023-07-07T14:00:00.000+02:00\",\n                \"end_at\": \"2023-07-07T15:00:00.000+02:00\"\n            },\n            {\n                \"id\": 17787,\n                \"start_at\": \"2023-07-07T15:00:00.000+02:00\",\n                \"end_at\": \"2023-07-07T16:00:00.000+02:00\"\n            },\n            {\n                \"id\": 17788,\n                \"start_at\": \"2023-07-07T16:00:00.000+02:00\",\n                \"end_at\": \"2023-07-07T17:00:00.000+02:00\"\n            },\n            {\n                \"id\": 17789,\n                \"start_at\": \"2023-07-07T17:00:00.000+02:00\",\n                \"end_at\": \"2023-07-07T18:00:00.000+02:00\"\n            }\n        ]\n    },\n    {\n        \"id\": 5111,\n        \"start_at\": \"2023-07-06T14:00:00.000+02:00\",\n        \"end_at\": \"2023-07-06T18:00:00.000+02:00\",\n        \"created_at\": \"2023-01-24T12:26:37.189+01:00\",\n        \"available_type\": \"Machine\",\n        \"available_ids\": [\n            5,\n            9,\n            10,\n            15,\n            8,\n            12,\n            17,\n            16,\n            3,\n            2,\n            14,\n            18\n        ],\n        \"slots\": [\n            {\n                \"id\": 17782,\n                \"start_at\": \"2023-07-06T14:00:00.000+02:00\",\n                \"end_at\": \"2023-07-06T15:00:00.000+02:00\"\n            },\n            {\n                \"id\": 17783,\n                \"start_at\": \"2023-07-06T15:00:00.000+02:00\",\n                \"end_at\": \"2023-07-06T16:00:00.000+02:00\"\n            },\n            {\n                \"id\": 17784,\n                \"start_at\": \"2023-07-06T16:00:00.000+02:00\",\n                \"end_at\": \"2023-07-06T17:00:00.000+02:00\"\n            },\n            {\n                \"id\": 17785,\n                \"start_at\": \"2023-07-06T17:00:00.000+02:00\",\n                \"end_at\": \"2023-07-06T18:00:00.000+02:00\"\n            }\n        ]\n    }\n]\n}\n"],"metadata":null,"see":[],"headers":[],"show":true}],"headers":[],"deprecated":false},"bookable_machines":{"doc_url":"/open_api/doc/v1/bookable_machines","id":"bookable_machines","api_url":"/open_api","name":"Bookable machines","short_description":"Bookable machines","full_description":"\n\u003cp\u003eMachines that a given user is allowed to book (allowed to make a reservation)\u003c/p\u003e\n","version":"v1","formats":["json"],"metadata":null,"methods":[{"doc_url":"/open_api/doc/v1/bookable_machines/index","name":"index","apis":[{"api_url":"/open_api/v1/bookable_machines","http_method":"GET","short_description":"Bookable machines index","deprecated":null}],"formats":["json"],"full_description":"\n\u003cp\u003eMachines that a given user is allowed to book. If the given user has machine credits due to his current subscription, it will be reported in \u003cstrong\u003ehours_remaining\u003c/strong\u003e.\u003c/p\u003e\n","errors":[],"params":[{"name":"user_id","full_name":"user_id","description":"\n\u003cp\u003eId of the given user.\u003c/p\u003e\n","required":true,"allow_nil":false,"allow_blank":false,"validator":"Must be a Integer","expected_type":"numeric","metadata":null,"show":true,"validations":[]},{"name":"machine_id","full_name":"machine_id","description":"\n\u003cp\u003eId of a machine to filter by\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a Integer","expected_type":"numeric","metadata":null,"show":true,"validations":[]}],"returns":[],"examples":["# /open_api/v1/bookable_machines?user_id=522\n{\n  \"machines\": [\n    {\n      \"id\": 3,\n      \"name\": \"Shopbot / Grande fraiseuse\",\n      \"slug\": \"shopbot-grande-fraiseuse\",\n      \"updated_at\": \"2014-08-19T11:01:12.919+02:00\",\n      \"created_at\": \"2014-06-30T03:32:31.982+02:00\",\n      \"description\": \"La fraiseuse numériq ... \",\n      \"spec\": \"Surface maximale de travail: 244 ... \"\n      \"hours_remaining\": 0\n    },\n    {\n      \"id\": 5,\n      \"name\": \"Petite Fraiseuse\",\n      \"slug\": \"petite-fraiseuse\",\n      \"updated_at\": \"2014-06-30T14:33:37.638+02:00\",\n      \"created_at\": \"2014-06-30T03:32:31.989+02:00\",\n      \"description\": \"La fraiseuse numérique Roland Modela MDX-20 ... \",\n      \"spec\": \"Taille du plateau X/Y : 220 mm x 1 ... \"\n      \"hours_remaining\": 0\n    },\n    {\n      \"id\": 2,\n      \"name\": \"Découpeuse vinyle\",\n      \"slug\": \"decoupeuse-vinyle\",\n      \"updated_at\": \"2014-06-30T15:10:14.272+02:00\",\n      \"created_at\": \"2014-06-30T03:32:31.977+02:00\",\n      \"description\": \"La découpeuse Vinyle, Roland CAMM ...\",\n      \"spec\": \"Largeurs de support acceptées: de 50 mm à 70 ... 50 cm/sec ... mécanique: 0,0125 mm/pas\",\n      \"hours_remaining\": 0\n    },\n    {\n      \"id\": 1,\n      \"name\": \"Epilog EXT36 Laser\",\n      \"slug\": \"decoupeuse-laser\",\n      \"updated_at\": \"2015-02-17T11:06:00.495+01:00\",\n      \"created_at\": \"2014-06-30T03:32:31.972+02:00\",\n      \"description\": \"La découpeuse Laser, ... \",\n      \"spec\": \"Puissance : 40W Surface de trav ... \",\n      \"hours_remaining\": 0\n    },\n    {\n      \"id\": 4,\n      \"name\": \"Imprimante 3D - Ultimaker\",\n      \"slug\": \"imprimante-3d\",\n      \"updated_at\": \"2014-12-11T15:47:02.215+01:00\",\n      \"created_at\": \"2014-06-30T03:32:31.986+02:00\",\n      \"description\": \"L'imprimante 3D U ... \",\n      \"spec\": \"Surface maximale de travai sés: PLA (en stock).\",\n      \"hours_remaining\": 10\n    },\n    # ...\n  ]\n}\n"],"metadata":null,"see":[],"headers":[],"show":true}],"headers":[],"deprecated":false},"events":{"doc_url":"/open_api/doc/v1/events","id":"events","api_url":"/open_api","name":"Events","short_description":"Events","full_description":"\n\u003cp\u003eEvents of Fab-manager\u003c/p\u003e\n","version":"v1","formats":["json"],"metadata":null,"methods":[{"doc_url":"/open_api/doc/v1/events/index","name":"index","apis":[{"api_url":"/open_api/v1/events","http_method":"GET","short_description":"Events index","deprecated":null}],"formats":["json"],"full_description":"\n\u003cp\u003eEvents index, pagniated. Ordered by \u003cstrong\u003ecreated_at\u003c/strong\u003e desc.\u003c/p\u003e\n","errors":[],"params":[{"name":"page","full_name":"page","description":"\n\u003cp\u003ePage number\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a Integer","expected_type":"numeric","metadata":null,"show":true,"validations":[]},{"name":"per_page","full_name":"per_page","description":"\n\u003cp\u003eNumber of objects per page. Default is 20.\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a Integer","expected_type":"numeric","metadata":null,"show":true,"validations":[]},{"name":"id","full_name":"id","description":"\n\u003cp\u003eScope the request to one or various events.\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be one of: \u003ccode\u003eInteger\u003c/code\u003e, \u003ccode\u003eArray\u003c/code\u003e.","expected_type":"string","metadata":null,"show":true,"validations":[]},{"name":"upcoming","full_name":"upcoming","description":"\n\u003cp\u003eScope for the upcoming events.\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be one of: \u003ccode\u003eFalseClass\u003c/code\u003e, \u003ccode\u003eTrueClass\u003c/code\u003e.","expected_type":"string","metadata":null,"show":true,"validations":[]}],"returns":[],"examples":["      # /open_api/v1/events?page=1\u0026per_page=2\n      {\n        \"events\": [\n          {\n            \"id\": 183,\n            \"title\": \"OPEN LAB\",\n            \"description\": \"Que vous soyez Fab user, visiteur, curieux ou bricoleur, l’atelier de fabrication numérique vous ouvre ses portes les mercredis soirs pour avancer vos projets ou rencontrer la «communauté» Fab Lab. \r\n\r\nCe soir, venez spécialement découvrir les machines à commandes numérique de la Fabrique de Fab-manager, venez comprendre ce lieux ouvert à tous. \r\n\r\n\r\nVenez découvrir un concept, une organisation, des machines, pour stimuler votre sens de la créativité.\",\n            \"updated_at\": \"2016-04-25T10:49:40.055+02:00\",\n            \"created_at\": \"2016-04-25T10:49:40.055+02:00\",\n            \"nb_total_places\": 18,\n            \"nb_free_places\": 16,\n            \"start_at\": \"2016-05-02T18:00:00.000+02:00\",\n            \"end_at\": \"2016-05-02T22:00:00.000+02:00\",\n            \"category\": \"Openlab\",\n            \"event_image\": {\n                \"large_url\": \"https://example.com/uploads/event_image/3454/large_event_image.jpg\",\n                \"medium_url\": \"https://example.com/uploads/event_image/3454/medium_event_image.jpg\",\n                \"small_url\": \"https://example.com/uploads/event_image/3454/small_event_image.jpg\"\n            },\n            \"prices\": {\n              \"normal\": {\n                \"name\": \"Plein tarif\",\n                \"amount\": 0\n              }\n            },\n            \"url\": \"https://example.com/#!/events/183\"\n          },\n          {\n            \"id\": 182,\n            \"title\": \"ATELIER SKATE : SEANCE 1\",\n            \"description\": \"Envie de rider à travers Grenoble sur une planche unique ? Envie de découvrir la fabrication éco-responsable d'un skate ? Alors bienvenue à l'atelier Skate Board du Fablab ! Encadré par Ivan Mago et l'équipe du FabLab, vous réaliserez votre planche (skate, longboard,...) depuis son design jusqu'à sa décoration sur 4 séances.\r\n\r\nLe tarif 50€ inclut  la participation aux ateliers, l'utilisations des machines, et tout le matériel de fabrication (bois+colle+grip+vinyle).\r\n\r\nCette première séance sera consacré au design de votre planche et à la découpe des gabarits. N'hésitez pas à venir avec votre ordinateur et vos logiciels de création 2D si vous le souhaitez.\r\n\r\nNous vous attendons nombreux !\",\n            \"updated_at\": \"2016-04-11T17:40:15.146+02:00\",\n            \"created_at\": \"2016-04-11T17:40:15.146+02:00\",\n            \"nb_total_places\": 8,\n            \"nb_free_places\": 0,\n            \"start_at\": \"2016-05-02T18:00:00.000+01:00\",\n            \"end_at\": \"2026-05-02T22:00:00.000+01:00\",\n            \"category\": \"Atelier\",\n            \"themes\": [\n                \"DIY\",\n                \"Sport\"\n            ],\n            \"age_range\": \"14 - 18 ans\",\n            \"event_image\": {\n                \"large_url\": \"https://example.com/uploads/event_image/3453/large_event_image.jpg\",\n                \"medium_url\": \"https://example.com/uploads/event_image/3453/medium_event_image.jpg\",\n                \"small_url\": \"https://example.com/uploads/event_image/3453/small_event_image.jpg\"\n            },\n            \"prices\": {\n              \"normal\": {\n                \"name\": \"Plein tarif\",\n                \"amount\": 5000\n              },\n              \"1\": {\n                \"name\": \"Tarif réduit\",\n                \"amount\": 4000\n              },\n            },\n            \"url\": \"https://example.com/#!/events/182\"\n          }\n        ]\n      }\n"],"metadata":null,"see":[],"headers":[],"show":true}],"headers":[],"deprecated":false},"invoices":{"doc_url":"/open_api/doc/v1/invoices","id":"invoices","api_url":"/open_api","name":"Invoices","short_description":"Invoices","full_description":"\n\u003cp\u003eInvoices\u003c/p\u003e\n","version":"v1","formats":["json"],"metadata":null,"methods":[{"doc_url":"/open_api/doc/v1/invoices/index","name":"index","apis":[{"api_url":"/open_api/v1/invoices","http_method":"GET","short_description":"Invoices index","deprecated":null}],"formats":["json"],"full_description":"\n\u003cp\u003eIndex of invoices, paginated. Ordered by \u003cstrong\u003ecreated_at\u003c/strong\u003e descendant.\u003c/p\u003e\n","errors":[],"params":[{"name":"page","full_name":"page","description":"\n\u003cp\u003ePage number\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a Integer","expected_type":"numeric","metadata":null,"show":true,"validations":[]},{"name":"per_page","full_name":"per_page","description":"\n\u003cp\u003eNumber of objects per page. Default is 20.\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a Integer","expected_type":"numeric","metadata":null,"show":true,"validations":[]},{"name":"user_id","full_name":"user_id","description":"\n\u003cp\u003eScope the request to one or various users.\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be one of: \u003ccode\u003eInteger\u003c/code\u003e, \u003ccode\u003eArray\u003c/code\u003e.","expected_type":"string","metadata":null,"show":true,"validations":[]}],"returns":[],"examples":["# /open_api/v1/invoices?user_id=211\u0026page=1\u0026per_page=3\n{\n  \"invoices\": [\n    {\n      \"id\": 2809,\n      \"user_id\": 211,\n      \"payment_gateway_object\": {\n        id: \"in_187DLE4zBvgjueAZ6L7SyQlU\",\n        type: \"Stripe::Invoice\"\n      },\n      \"reference\": \"1605017/VL\",\n      \"total\": 1000,\n      \"type\": null,\n      \"description\": null,\n      \"invoice_url\": \"/open_api/v1/invoices/2809/download\",\n      \"main_object\": {\n        \"type\": \"Reservation\",\n        \"id\": 3257,\n        \"created_at\": \"2016-05-04T01:54:16.686+02:00\"\n      }\n    },\n    {\n      \"id\": 2783,\n      \"user_id\": 211,\n      \"payment_gateway_object\": {\n        id: \"pi_2Dat4P2eYbKYlo2C3MxszwQp\",\n        type: \"Stripe::PaymentIntent\"\n      },\n      \"reference\": \"1604176/VL\",\n      \"total\": 2000,\n      \"type\": null,\n      \"description\": null,\n      \"invoice_url\": \"/open_api/v1/invoices/2783/download\",\n      \"main_object\": {\n        \"type\": \"Reservation\",\n        \"id\": 3229,\n        \"created_at\": \"2016-04-28T18:14:52.524+02:00\"\n      }\n    },\n    {\n      \"id\": 2773,\n      \"user_id\": 211,\n      \"payment_gateway_object\": {\n        id: \"ba15dc9d8f3e0fa17bf527466\",\n        type: \"PayZen::Order\"\n      },\n      \"reference\": \"1604166/VL\",\n      \"total\": 2000,\n      \"type\": null,\n      \"description\": null,\n      \"invoice_url\": \"/open_api/v1/invoices/2773/download\",\n      \"main_object\": {\n        \"type\": \"Reservation\",\n        \"id\": 3218,\n        \"created_at\": \"2016-04-27T10:50:30.806+02:00\"\n      }\n    }\n  ]\n}\n"],"metadata":null,"see":[],"headers":[],"show":true},{"doc_url":"/open_api/doc/v1/invoices/download","name":"download","apis":[{"api_url":"/open_api/v1/invoices/:id/download","http_method":"GET","short_description":"Download an invoice","deprecated":null}],"formats":["json"],"full_description":"","errors":[],"params":[{"name":"id","full_name":"id","description":"\n\u003cp\u003eInvoice id\u003c/p\u003e\n","required":true,"allow_nil":false,"allow_blank":false,"validator":"Must be a Integer","expected_type":"numeric","metadata":null,"show":true,"validations":[]}],"returns":[],"examples":["# /open_api/v1/invoices/2809/download\n"],"metadata":null,"see":[],"headers":[],"show":true}],"headers":[],"deprecated":false},"machines":{"doc_url":"/open_api/doc/v1/machines","id":"machines","api_url":"/open_api","name":"Machines","short_description":"Machines","full_description":"\n\u003cp\u003eMachines of Fab-manager\u003c/p\u003e\n","version":"v1","formats":["json"],"metadata":null,"methods":[{"doc_url":"/open_api/doc/v1/machines/index","name":"index","apis":[{"api_url":"/open_api/v1/machines","http_method":"GET","short_description":"Machines index","deprecated":null}],"formats":["json"],"full_description":"\n\u003cp\u003eMachines index. Order by \u003cstrong\u003ecreated_at\u003c/strong\u003e ascendant.\u003c/p\u003e\n","errors":[],"params":[],"returns":[],"examples":["      # /open_api/v1/machines\n      {\n        \"machines\": [\n          {\n            \"id\": 1,\n            \"name\": \"Epilog EXT36 Laser\",\n            \"slug\": \"decoupeuse-laser\",\n            \"disabled\": null,\n            \"updated_at\": \"2015-02-17T11:06:00.495+01:00\",\n            \"created_at\": \"2014-06-30T03:32:31.972+02:00\",\n            \"description\": \"La découpeuse Laser, EPILOG Legend 36EXT\r\n\r\nInformations générales :\r\nLa découpeuse laser vous permet de découper ou graver des matériaux. \r\n\r\nPour la découpe, il suffit d'apporter votre fichier vectorisé type illustrator, svg ou dxf avec des \"lignes de coupe\" d'une épaisseur inférieure à 0,01 mm et la machine s'occupera du reste!\r\n\r\nLa gravure est basée sur le spectre noir et blanc. Les nuances sont obtenues par différentes profondeurs de gravure correspondant aux niveaux de gris de votre image. Il suffit pour cela d'apporter une image scannée ou un fichier photo en noir et blanc pour pouvoir reproduire celle-ci sur votre support.\r\n\r\nTypes de matériaux gravables/découpeables ?\r\nDu bois au tissu, du plexiglass au cuir, cette machine permet de découper et graver la plupart des matériaux sauf les métaux. La gravure est néanmoins possible sur les métaux recouverts d'une couche de peinture ou les aluminiums anodisés. \r\nConcernant l'épaisseur des matériaux découpés, il est préférable de ne pas dépasser 5 mm pour le bois et 6 mm pour le plexiglass.\r\n\",\n            \"spec\": \"Puissance : 40W\r\nSurface de travail : 914x609 mm \r\nEpaisseur maximale de la matière : 305mm\r\nSource laser : tube laser type CO2\r\nContrôles de vitesse et de puissance : ces deux paramètres sont ajustables en fonction du matériau (de 1% à 100%) .\r\n\"\n          },\n          {\n            \"id\": 2,\n            \"name\": \"Découpeuse vinyle\",\n            \"slug\": \"decoupeuse-vinyle\",\n            \"disabled\": null,\n            \"updated_at\": \"2014-06-30T15:10:14.272+02:00\",\n            \"created_at\": \"2014-06-30T03:32:31.977+02:00\",\n            \"description\": \"La découpeuse Vinyle, Roland CAMM-1 GX24\r\n\r\nInformations générales :\r\nEnvie de réaliser un tee shirt personnalisé ? Un sticker à l'effigie votre groupe préféré? Un masque pour la réalisation d'un circuit imprimé? Pour cela, il suffit simplement de venir avec votre fichier vectorisé (ne pas oublier de vectoriser les textes) type illustrator svg ou dxf.\r\n \r\nMatériaux utilisés :\r\nCette machine permet de découper principalement : vinyle, vinyle réfléchissant et flex.\r\n\",\n            \"spec\": \"Largeurs de support acceptées: de 50 mm à 700 mm\r\nVitesse de découpe: 50 cm/sec\r\nRésolution mécanique: 0,0125 mm/pas\r\n\"\n          },\n          {\n            \"id\": 3,\n            \"name\": \"Shopbot / Grande fraiseuse\",\n            \"slug\": \"shopbot-grande-fraiseuse\",\n            \"disabled\": false,\n            \"updated_at\": \"2014-08-19T11:01:12.919+02:00\",\n            \"created_at\": \"2014-06-30T03:32:31.982+02:00\",\n            \"description\": \"La fraiseuse numérique ShopBot PRS standard\r\n\r\nInformations générales :\r\nCette machine est une fraiseuse 3 axes, idéale pour l'usinage de pièces de grandes dimensions. De la réalisation d'une chaise ou d'un meuble à la construction d'une maison ou d'un assemblage immense, le ShopBot ouvre de nombreuses portes à votre imagination ! \r\n\r\nMatériaux usinables :\r\nLes principaux matériaux usinables sont le bois, le plastique, le laiton et bien d'autres.\r\nCette machine n'usine pas les métaux.\r\n\u003cobject width=\"560\" height=\"315\"\u003e\u003cparam name=\"movie\" value=\"//www.youtube.com/v/3h8VPLNapag?hl=fr_FR\u0026amp;version=3\"\u003e\u003c/param\u003e\u003cparam name=\"allowFullScreen\" value=\"true\"\u003e\u003c/param\u003e\u003cparam name=\"allowscriptaccess\" value=\"always\"\u003e\u003c/param\u003e\u003cembed src=\"//www.youtube.com/v/3h8VPLNapag?hl=fr_FR\u0026amp;version=3\" type=\"application/x-shockwave-flash\" width=\"560\" height=\"315\" allowscriptaccess=\"always\" allowfullscreen=\"true\"\u003e\u003c/embed\u003e\u003c/object\u003e\",\n            \"spec\": \"Surface maximale de travail: 2440x1220x150 (Z) mm\r\nLogiciel utilisé: Partworks 2D \u0026 3D\r\nRésolution mécanique: 0,015 mm\r\nPrécision de la position: +/- 0,127mm\r\nFormats acceptés: DXF, STL \r\n\"\n          },\n          {\n            \"id\": 4,\n            \"name\": \"Imprimante 3D - Ultimaker\",\n            \"slug\": \"imprimante-3d\",\n            \"disabled\": null,\n            \"updated_at\": \"2014-12-11T15:47:02.215+01:00\",\n            \"created_at\": \"2014-06-30T03:32:31.986+02:00\",\n            \"description\": \"L'imprimante 3D ULTIMAKER\r\n\r\nInformations générales :\r\nL'utimaker est une imprimante 3D  peu chère utilisant une technologie FFF (Fused Filament Fabrication) avec extrusion thermoplastique.\r\nC'est une machine idéale pour réaliser rapidement des prototypes 3D dans des couleurs différentes.\r\n\",\n            \"spec\": \"Surface maximale de travail: 210x210x220mm \r\nRésolution méchanique: 0,02 mm \r\nPrécision de position: +/- 0,05 \r\nLogiciel utilisé: Cura\r\nFormats de fichier acceptés: STL \r\nMatériaux utilisés: PLA (en stock).\"\n          },\n          {\n            \"id\": 5,\n            \"name\": \"Petite Fraiseuse\",\n            \"slug\": \"petite-fraiseuse\",\n            \"disabled\": true,\n            \"updated_at\": \"2014-06-30T14:33:37.638+02:00\",\n            \"created_at\": \"2014-06-30T03:32:31.989+02:00\",\n            \"description\": \"La fraiseuse numérique Roland Modela MDX-20\r\n\r\nInformations générales :\r\nCette machine est utilisée  pour l'usinage et le scannage 3D de précision. Elle permet principalement d'usiner des circuits imprimés et des moules de petite taille. Le faible diamètre des fraises utilisées (Ø 0,3 mm à  Ø 6mm) implique que certains temps d'usinages peuvent êtres long (\u003e 12h), c'est pourquoi cette fraiseuse peut être laissée en autonomie toute une nuit afin d'obtenir le plus précis des usinages au FabLab.\r\n\r\nMatériaux usinables :\r\nLes principaux matériaux usinables sont : bois, plâtre, résine, cire usinable, cuivre.\r\n\",\n            \"spec\": \"Taille du plateau X/Y : 220 mm x 160 mm\r\nVolume maximal de travail: 203,2 mm (X), 152,4 mm (Y), 60,5 mm (Z)\r\nPrécision usinage: 0,00625 mm\r\nPrécision scannage: réglable de 0,05 à 5 mm (axes X,Y) et 0,025 mm (axe Z)\r\nVitesse d'analyse (scannage): 4-15 mm/sec\r\n \r\n \r\nLogiciel utilisé pour le fraisage: Roland Modela player 4 \r\nLogiciel utilisé pour l'usinage de circuits imprimés: Cad.py (linux)\r\nFormats acceptés: STL,PNG 3D\r\nFormat d'exportation des données scannées: DXF, VRML, STL, 3DMF, IGES, Grayscale, Point Group et BMP\r\n\"\n          },\n          #\n          # ....\n          #\n          {\n            \"id\": 18,\n            \"name\": \"Canon IPF 750\",\n            \"slug\": \"canon-ipf-750\",\n            \"disabled\": true,\n            \"updated_at\": \"2015-10-12T18:00:24.254+02:00\",\n            \"created_at\": \"2015-10-12T18:00:24.254+02:00\",\n            \"description\": \"PROCHAINEMENT\",\n            \"spec\": \"36 pouces\r\nType d'encre: Encre pigment et colorant réactive, 5 couleurs (MBK x 2, BK, C, M, Y)\r\nRésolution d'impression maximale:\t2400 × 1200 dpi\r\nVitesse d'impression:\t(A0, Image polychrome)\r\nPapier ordinaire: 0:48 min (mode brouillon), 1:14 min (mode standard)\r\nPapier couché: 1:14 min (mode brouillon), 2:26 min (mode standard), 3:51 min (mode qualité élevée)\"\n          }\n        ]\n      }\n"],"metadata":null,"see":[],"headers":[],"show":true},{"doc_url":"/open_api/doc/v1/machines/create","name":"create","apis":[{"api_url":"/open_api/v1/machines","http_method":"POST","short_description":"Create a machine","deprecated":null}],"formats":["json","multipart/form-data"],"full_description":"\n\u003cp\u003eCreate a new machine.\u003c/p\u003e\n","errors":[],"params":[{"name":"machine","full_name":"machine","description":"","required":true,"allow_nil":false,"allow_blank":false,"validator":"Must be a Hash","expected_type":"hash","metadata":null,"show":true,"validations":[],"params":[{"name":"name","full_name":"machine[name]","description":"\n\u003cp\u003eThe name of the machine.\u003c/p\u003e\n","required":true,"allow_nil":false,"allow_blank":false,"validator":"Must be a String","expected_type":"string","metadata":null,"show":true,"validations":[]},{"name":"description","full_name":"machine[description]","description":"\n\u003cp\u003eA long textual description of the machine. HTML is supported.\u003c/p\u003e\n","required":true,"allow_nil":false,"allow_blank":false,"validator":"Must be a String","expected_type":"string","metadata":null,"show":true,"validations":[]},{"name":"spec","full_name":"machine[spec]","description":"\n\u003cp\u003eA long textual description of the technical specifications of the machine. HTML is supported.\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a String","expected_type":"string","metadata":null,"show":true,"validations":[]},{"name":"disabled","full_name":"machine[disabled]","description":"\n\u003cp\u003eShould the machine be disabled? If yes, the machine won’t be reservable and will be shown apart.\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be one of: \u003ccode\u003eTrueClass\u003c/code\u003e, \u003ccode\u003eFalseClass\u003c/code\u003e.","expected_type":"string","metadata":null,"show":true,"validations":[]},{"name":"machine_image_attributes","full_name":"machine[machine_image_attributes]","description":"","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a Hash","expected_type":"hash","metadata":null,"show":true,"validations":[],"params":[{"name":"attachment","full_name":"machine[machine_image_attributes][attachment]","description":"\n\u003cp\u003eUpload a picture for the machine.\u003c/p\u003e\n","required":true,"allow_nil":false,"allow_blank":false,"validator":"Must be a ActionDispatch::Http::UploadedFile","expected_type":"string","metadata":null,"show":true,"validations":[]}]}]}],"returns":[{"code":201,"description":"The machine was successfully created","is_array":false,"returns_object":[],"additional_properties":false}],"examples":["curl -X POST\n     -H \"Authorization:Token token=xxx\"\n     -H \"Content-Type:multipart/form-data\"\n     -H \"Accept: application/json\"\n     -F machine[name]=\"Epilog laser\"\n     -F machine[description]=\"La découpeuse laser vous permet de découper ou graver des matériaux.\"\n     -F machine[machine_image_attributes[attachment]]=@epilog.jpeg\n     /open_api/v1/machines\n\ncurl -X POST\n     -H \"Authorization:Token token=xxx\"\n     -H \"Content-Type:application/json\"\n     -H \"Accept: application/json\"\n     -d '{\"machine\": { \"name\": \"DMP Flex 100\", \"description\": \"Cette imprimante 3D peut imprimer des métaux.\" }}'\n     /open_api/v1/machines\n"],"metadata":null,"see":[],"headers":[],"show":true},{"doc_url":"/open_api/doc/v1/machines/update","name":"update","apis":[{"api_url":"/open_api/v1/machines/:id","http_method":"PATCH","short_description":"Update a machine","deprecated":null}],"formats":["json","multipart/form-data"],"full_description":"\n\u003cp\u003eUpdate an existing machine.\u003c/p\u003e\n","errors":[],"params":[{"name":"machine","full_name":"machine","description":"","required":true,"allow_nil":false,"allow_blank":false,"validator":"Must be a Hash","expected_type":"hash","metadata":null,"show":true,"validations":[],"params":[{"name":"name","full_name":"machine[name]","description":"\n\u003cp\u003eThe name of the machine.\u003c/p\u003e\n","required":true,"allow_nil":false,"allow_blank":false,"validator":"Must be a String","expected_type":"string","metadata":null,"show":true,"validations":[]},{"name":"description","full_name":"machine[description]","description":"\n\u003cp\u003eA long textual description of the machine. HTML is supported.\u003c/p\u003e\n","required":true,"allow_nil":false,"allow_blank":false,"validator":"Must be a String","expected_type":"string","metadata":null,"show":true,"validations":[]},{"name":"spec","full_name":"machine[spec]","description":"\n\u003cp\u003eA long textual description of the technical specifications of the machine. HTML is supported.\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a String","expected_type":"string","metadata":null,"show":true,"validations":[]},{"name":"disabled","full_name":"machine[disabled]","description":"\n\u003cp\u003eShould the machine be disabled? If yes, the machine won’t be reservable and will be shown apart.\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be one of: \u003ccode\u003eTrueClass\u003c/code\u003e, \u003ccode\u003eFalseClass\u003c/code\u003e.","expected_type":"string","metadata":null,"show":true,"validations":[]},{"name":"machine_image_attributes","full_name":"machine[machine_image_attributes]","description":"","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a Hash","expected_type":"hash","metadata":null,"show":true,"validations":[],"params":[{"name":"attachment","full_name":"machine[machine_image_attributes][attachment]","description":"\n\u003cp\u003eUpload a picture for the machine.\u003c/p\u003e\n","required":true,"allow_nil":false,"allow_blank":false,"validator":"Must be a ActionDispatch::Http::UploadedFile","expected_type":"string","metadata":null,"show":true,"validations":[]}]}]}],"returns":[{"code":200,"description":"The machine was successfully updated","is_array":false,"returns_object":[],"additional_properties":false}],"examples":[" curl -X PATCH\n      -H \"Authorization:Token token=xxx\"\n      -H \"Content-Type:multipart/form-data\"\n      -H \"Accept: application/json\"\n      -F machine[spec]=\"Laser CO2 de 60W\u003cbr\u003eSurface de travail de 812 x 508 mm\"\n      -F machine[machine_image_attributes[attachment]]=@epilog2.jpg\n      /open_api/v1/machines/10\n\ncurl -X PATCH\n     -H \"Authorization:Token token=xxx\"\n     -H \"Content-Type:application/json\"\n     -H \"Accept: application/json\"\n     -d '{\"machine\": { \"disabled\": true }}'\n     /open_api/v1/machines/10\n"],"metadata":null,"see":[],"headers":[],"show":true},{"doc_url":"/open_api/doc/v1/machines/show","name":"show","apis":[{"api_url":"/open_api/v1/machines/:id","http_method":"GET","short_description":"Show a machine","deprecated":null}],"formats":["json"],"full_description":"\n\u003cp\u003eShow all the details of single machine.\u003c/p\u003e\n","errors":[],"params":[],"returns":[],"examples":["      # /open_api/v1/machines/1\n        {\n          \"id\": 1,\n          \"name\": \"Epilog EXT36 Laser\",\n          \"slug\": \"decoupeuse-laser\",\n          \"disabled\": false,\n          \"updated_at\": \"2015-02-17T11:06:00.495+01:00\",\n          \"created_at\": \"2014-06-30T03:32:31.972+02:00\",\n          \"description\": \"La découpeuse Laser, EPILOG Legend 36EXT\r\n\r\nInformations générales :\r\nLa découpeuse laser vous permet de découper ou graver des matériaux. \r\n\r\nPour la découpe, il suffit d'apporter votre fichier vectorisé type illustrator, svg ou dxf avec des \"lignes de coupe\" d'une épaisseur inférieure à 0,01 mm et la machine s'occupera du reste!\r\n\r\nLa gravure est basée sur le spectre noir et blanc. Les nuances sont obtenues par différentes profondeurs de gravure correspondant aux niveaux de gris de votre image. Il suffit pour cela d'apporter une image scannée ou un fichier photo en noir et blanc pour pouvoir reproduire celle-ci sur votre support.\r\n\r\nTypes de matériaux gravables/découpeables ?\r\nDu bois au tissu, du plexiglass au cuir, cette machine permet de découper et graver la plupart des matériaux sauf les métaux. La gravure est néanmoins possible sur les métaux recouverts d'une couche de peinture ou les aluminiums anodisés. \r\nConcernant l'épaisseur des matériaux découpés, il est préférable de ne pas dépasser 5 mm pour le bois et 6 mm pour le plexiglass.\r\n\",\n          \"spec\": \"Puissance : 40W\r\nSurface de travail : 914x609 mm \r\nEpaisseur maximale de la matière : 305mm\r\nSource laser : tube laser type CO2\r\nContrôles de vitesse et de puissance : ces deux paramètres sont ajustables en fonction du matériau (de 1% à 100%) .\r\n\",\n          \"image\": \"https://example.com/uploads/machine_image/2514/machine_image.jpg\"\n        }\n"],"metadata":null,"see":[],"headers":[],"show":true},{"doc_url":"/open_api/doc/v1/machines/destroy","name":"destroy","apis":[{"api_url":"/open_api/v1/machines/:id","http_method":"DELETE","short_description":"Delete a machine","deprecated":null}],"formats":["json"],"full_description":"\n\u003cp\u003eDelete an existing machine that does not have any existing reservations.\u003c/p\u003e\n","errors":[],"params":[],"returns":[{"code":204,"description":"The machine was successfully deleted","is_array":false,"returns_object":[],"additional_properties":false}],"examples":["curl -X DELETE\n     -H \"Authorization:Token token=xxx\"\n     -H \"Accept: application/json\"\n     /open_api/v1/machines/10\n"],"metadata":null,"see":[],"headers":[],"show":true}],"headers":[],"deprecated":false},"plan_categories":{"doc_url":"/open_api/doc/v1/plan_categories","id":"plan_categories","api_url":"/open_api","name":"Plan categories","short_description":"Plans categories","full_description":"\n\u003cp\u003eCategories of subscription plans\u003c/p\u003e\n","version":"v1","formats":["json"],"metadata":null,"methods":[{"doc_url":"/open_api/doc/v1/plan_categories/index","name":"index","apis":[{"api_url":"/open_api/v1/plan_categories","http_method":"GET","short_description":"Plans categories index","deprecated":null}],"formats":["json"],"full_description":"\n\u003cp\u003ePlans categories index. Order by \u003cstrong\u003ecreated_at\u003c/strong\u003e ascendant.\u003c/p\u003e\n","errors":[],"params":[],"returns":[],"examples":["# /open_api/v1/plan_categories\n{\n  \"plan_categories\": [\n    {\n      \"id\": 1,\n      \"name\": \"CRAZY LAB\",\n      \"weight\": 0,\n      \"description\": \"Lorem ipsum dolor sit amet\",\n      \"updated_at\": \"2021-12-01 15:15:19.860064000 Z\",\n      \"created_at\": \"2021-12-01 15:19:28.367161000 Z\"\n    },\n    {\n      \"id\": 2,\n      \"name\": \"PREMIUM\",\n      \"weight\": 1,\n      \"description\": \"\u003cp\u003eLorem ipsum \u003cb\u003edolor\u003c/b\u003e sit amet\u003c/p\u003e\",\n      \"updated_at\": \"2021-12-01 15:15:19.860064000 Z\",\n      \"created_at\": \"2021-12-01 15:19:28.367161000 Z\"\n    }\n  ]\n}\n"],"metadata":null,"see":[],"headers":[],"show":true}],"headers":[],"deprecated":false},"plans":{"doc_url":"/open_api/doc/v1/plans","id":"plans","api_url":"/open_api","name":"Plans","short_description":"Plans","full_description":"\n\u003cp\u003eSubscription plans of Fab-manager\u003c/p\u003e\n","version":"v1","formats":["json"],"metadata":null,"methods":[{"doc_url":"/open_api/doc/v1/plans/index","name":"index","apis":[{"api_url":"/open_api/v1/plans","http_method":"GET","short_description":"Plans index","deprecated":null}],"formats":["json"],"full_description":"\n\u003cp\u003ePlans index. Order by \u003cstrong\u003ecreated_at\u003c/strong\u003e ascendant.\u003c/p\u003e\n","errors":[],"params":[],"returns":[],"examples":["# /open_api/v1/plans\n{\n  \"plans\": [\n    {\n      \"id\": 1,\n      \"name\": \"One month - standard\",\n      \"slug\": \"one-month-standard\",\n      \"amount\": 3000\n      \"interval\": month,\n      \"interval_count\": 1,\n      \"group_id\": 1\n      \"disabled\": null,\n      \"ui_weight\": 3,\n      \"monthly_payment\": false,\n      \"updated_at\": \"2001-01-01 15:15:19.860064000 Z\",\n      \"created_at\": \"2001-01-01 15:19:28.367161000 Z\"\n    },\n    {\n      \"id\": 2,\n      \"name\": \"One month - students\",\n      \"slug\": \"one-month-students\",\n      \"amount\": 2000\n      \"interval\": month,\n      \"interval_count\": 1,\n      \"group_id\": 2\n      \"disabled\": null,\n      \"ui_weight\": 0,\n      \"monthly_payment\": false,\n      \"updated_at\": \"2016-04-04 15:18:27.734657000 Z\",\n      \"created_at\": \"2016-04-04 15:18:27.734657000 Z\"\n    },\n    #\n    # ....\n    #\n    {\n      \"id\": 9,\n      \"name\": \"One year - corporations\",\n      \"slug\": \"one-month-corporations\",\n      \"amount\": 36000\n      \"interval\": year,\n      \"interval_count\": 1,\n      \"group_id\": 3\n      \"disabled\": null,\n      \"ui_weight\": 9,\n      \"monthly_payment\": true,\n      \"updated_at\": \"2020-12-14 14:10:11.056241000 Z\",\n      \"created_at\": \"2020-12-14 14:10:11.056241000 Z\"\n    }\n  ]\n}\n"],"metadata":null,"see":[],"headers":[],"show":true},{"doc_url":"/open_api/doc/v1/plans/show","name":"show","apis":[{"api_url":"/open_api/v1/plans/:id","http_method":"GET","short_description":"Shows a plan","deprecated":null}],"formats":["json"],"full_description":"\n\u003cp\u003eShow all details of a single plan.\u003c/p\u003e\n","errors":[],"params":[],"returns":[],"examples":["# /open_api/v1/plans/9\n  {\n    \"id\": 9,\n    \"name\": \"One year - corporations\",\n    \"slug\": \"one-month-corporations\",\n    \"amount\": 36000\n    \"interval\": year,\n    \"interval_count\": 1,\n    \"group_id\": 3\n    \"disabled\": null,\n    \"ui_weight\": 9,\n    \"monthly_payment\": true,\n    \"updated_at\": \"2020-12-14 14:10:11.056241000 Z\",\n    \"created_at\": \"2020-12-14 14:10:11.056241000 Z\",\n    \"training_credit_nb\": 10,\n    \"is_rolling\": true,\n    \"description\": \"10 trainings and 30 machine hours offered with your subscription to this plan\",\n    \"type\": \"Plan\",\n    \"plan_category_id\": 2,\n    \"file\": \"https://example.com/uploads/plan_file/25/Pricing_Grid_2020_2021_v2.png\"\n  }\n"],"metadata":null,"see":[],"headers":[],"show":true}],"headers":[],"deprecated":false},"prices":{"doc_url":"/open_api/doc/v1/prices","id":"prices","api_url":"/open_api","name":"Prices","short_description":"Prices","full_description":"\n\u003cp\u003ePrices for all resources\u003c/p\u003e\n","version":"v1","formats":["json"],"metadata":null,"methods":[{"doc_url":"/open_api/doc/v1/prices/index","name":"index","apis":[{"api_url":"/open_api/v1/prices","http_method":"GET","short_description":"Prices index","deprecated":null}],"formats":["json"],"full_description":"\n\u003cp\u003eIndex of prices, with optional pagination. Order by \u003cstrong\u003ecreated_at\u003c/strong\u003e descendant.\u003c/p\u003e\n","errors":[],"params":[{"name":"page","full_name":"page","description":"\n\u003cp\u003ePage number\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a Integer","expected_type":"numeric","metadata":null,"show":true,"validations":[]},{"name":"per_page","full_name":"per_page","description":"\n\u003cp\u003eNumber of objects per page. Default is 20.\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a Integer","expected_type":"numeric","metadata":null,"show":true,"validations":[]},{"name":"plan_id","full_name":"plan_id","description":"\n\u003cp\u003eScope the request to one or various plans. Provide “null” to this parameter to get prices not associated with any plans (prices that applies to users without subscriptions).\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be one of: \u003ccode\u003eInteger\u003c/code\u003e, \u003ccode\u003eArray\u003c/code\u003e, \u003ccode\u003enull\u003c/code\u003e.","expected_type":"string","metadata":null,"show":true,"validations":[]},{"name":"group_id","full_name":"group_id","description":"\n\u003cp\u003eScope the request to one or various groups.\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be one of: \u003ccode\u003eInteger\u003c/code\u003e, \u003ccode\u003eArray\u003c/code\u003e.","expected_type":"string","metadata":null,"show":true,"validations":[]},{"name":"priceable_type","full_name":"priceable_type","description":"\n\u003cp\u003eScope the request to a specific type of resource.\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be one of: \u003ccode\u003eMachine\u003c/code\u003e, \u003ccode\u003eSpace\u003c/code\u003e.","expected_type":"string","metadata":null,"show":true,"validations":[]},{"name":"priceable_id","full_name":"priceable_id","description":"\n\u003cp\u003eScope the request to one or various resources.\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be one of: \u003ccode\u003eInteger\u003c/code\u003e, \u003ccode\u003eArray\u003c/code\u003e.","expected_type":"string","metadata":null,"show":true,"validations":[]}],"returns":[],"examples":["# /open_api/v1/prices?priceable_type=Space\u0026page=1\u0026per_page=3\n{\n  \"prices\": [\n    {\n      \"id\": 502,\n      \"priceable_id\": 1,\n      \"priceable_type\": \"Space\",\n      \"group_id\": 4,\n      \"plan_id\": 5,\n      \"amount\": 1800,\n      \"updated_at\": \"2021-06-21T09:40:40.467277+01:00\",\n      \"created_at\": \"2021-06-21T09:40:40.467277+01:00\",\n    },\n    {\n      \"id\": 503,\n      \"priceable_id\": 1,\n      \"priceable_type\": \"Space\",\n      \"group_id\": 2,\n      \"plan_id\": 1,\n      \"amount\": 1600,\n      \"updated_at\": \"2021-06-21T09:40:40.470904+01:00\",\n      \"created_at\": \"2021-06-21T09:40:40.470904+01:00\",\n    },\n    {\n      \"id\": 504,\n      \"priceable_id\": 1,\n      \"priceable_type\": \"Space\",\n      \"group_id\": 3,\n      \"plan_id\": 3,\n      \"amount\": 2000,\n      \"updated_at\": \"2021-06-21T09:40:40.470876+01:00\",\n      \"created_at\": \"2021-06-21T09:40:40.470876+01:00\",\n    }\n  ]\n}\n"],"metadata":null,"see":[],"headers":[],"show":true}],"headers":[],"deprecated":false},"reservations":{"doc_url":"/open_api/doc/v1/reservations","id":"reservations","api_url":"/open_api","name":"Reservations","short_description":"Reservations","full_description":"\n\u003cp\u003eReservations made by users\u003c/p\u003e\n","version":"v1","formats":["json"],"metadata":null,"methods":[{"doc_url":"/open_api/doc/v1/reservations/index","name":"index","apis":[{"api_url":"/open_api/v1/reservations","http_method":"GET","short_description":"Reservations index","deprecated":null}],"formats":["json"],"full_description":"\n\u003cp\u003eIndex of reservations made by users, paginated. Ordered by \u003cstrong\u003ecreated_at\u003c/strong\u003e descendant.\u003c/p\u003e\n","errors":[],"params":[{"name":"page","full_name":"page","description":"\n\u003cp\u003ePage number\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a Integer","expected_type":"numeric","metadata":null,"show":true,"validations":[]},{"name":"per_page","full_name":"per_page","description":"\n\u003cp\u003eNumber of objects per page. Default is 20.\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a Integer","expected_type":"numeric","metadata":null,"show":true,"validations":[]},{"name":"after","full_name":"after","description":"\n\u003cp\u003eFilter reservations to those created after the given date.\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a DateTime","expected_type":"string","metadata":null,"show":true,"validations":[]},{"name":"before","full_name":"before","description":"\n\u003cp\u003eFilter reservations to those created before the given date.\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a DateTime","expected_type":"string","metadata":null,"show":true,"validations":[]},{"name":"user_id","full_name":"user_id","description":"\n\u003cp\u003eScope the request to one or various users.\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be one of: \u003ccode\u003eInteger\u003c/code\u003e, \u003ccode\u003eArray\u003c/code\u003e.","expected_type":"string","metadata":null,"show":true,"validations":[]},{"name":"reservable_type","full_name":"reservable_type","description":"\n\u003cp\u003eScope the request to a specific type of reservable.\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be one of: \u003ccode\u003eEvent\u003c/code\u003e, \u003ccode\u003eMachine\u003c/code\u003e, \u003ccode\u003eSpace\u003c/code\u003e, \u003ccode\u003eTraining\u003c/code\u003e.","expected_type":"string","metadata":null,"show":true,"validations":[]},{"name":"reservable_id","full_name":"reservable_id","description":"\n\u003cp\u003eScope the request to one or various reservables.\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be one of: \u003ccode\u003eInteger\u003c/code\u003e, \u003ccode\u003eArray\u003c/code\u003e.","expected_type":"string","metadata":null,"show":true,"validations":[]},{"name":"availability_id","full_name":"availability_id","description":"\n\u003cp\u003eScope the request to one or various availabilities.\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be one of: \u003ccode\u003eInteger\u003c/code\u003e, \u003ccode\u003eArray\u003c/code\u003e.","expected_type":"string","metadata":null,"show":true,"validations":[]}],"returns":[],"examples":["      # /open_api/v1/reservations?reservable_type=Event\u0026page=1\u0026per_page=3\n      {\n        \"reservations\": [\n          {\n            \"id\": 3253,\n            \"user_id\": 1744,\n            \"reservable_id\": 162,\n            \"reservable_type\": \"Event\",\n            \"updated_at\": \"2016-05-03T14:14:00.141+02:00\",\n            \"created_at\": \"2016-05-03T14:14:00.141+02:00\",\n            \"user\": {\n              \"id\": 1744,\n              \"email\": \"xxxxxxxxxxxx\",\n              \"created_at\": \"2016-05-03T13:51:03.223+02:00\",\n              \"full_name\": \"xxxxxxxxxxxx\"\n            },\n            \"reservable\": {\n              \"id\": 162,\n              \"title\": \"INITIATION FAB LAB\",\n              \"description\": \"A partir de 15 ans : \r\n\r\nDécouvrez le Fab Lab, familiarisez-vous avec les découpeuses laser, les imprimantes 3D, la découpeuse vinyle ... ! Fabriquez un objet simple, à ramener chez vous ! \r\n\r\nAdoptez la Fab Lab attitude !\",\n              \"updated_at\": \"2016-03-21T15:55:56.306+01:00\",\n              \"created_at\": \"2016-03-21T15:55:56.306+01:00\"\n            },\n            \"reserved_slots\": [\n              {\n                \"canceled_at\": \"2016-05-20T09:40:12.201+01:00\",\n                \"availability_id\": 5200,\n                \"start_at\": \"2016-06-03T14:00:00.000+01:00\",\n                \"end_at\": \"2016-06-03T15:00:00.000+01:00\"\n              }\n            ]\n          },\n          {\n            \"id\": 3252,\n            \"user_id\": 1514,\n            \"reservable_id\": 137,\n            \"reservable_type\": \"Event\",\n            \"updated_at\": \"2016-05-03T13:54:54.072+02:00\",\n            \"created_at\": \"2016-05-03T13:54:54.072+02:00\",\n            \"user\": {\n              \"id\": 1514,\n              \"email\": \"xxxxxxxxxxxx\",\n              \"created_at\": \"2016-02-24T08:45:09.050+01:00\",\n              \"full_name\": \"xxxxxxxxxxxx\"\n            },\n            \"reservable\": {\n              \"id\": 137,\n              \"title\": \"INITIATION FAB LAB\",\n              \"description\": \"A partir de 15 ans : \r\n\r\nDécouvrez le Fab Lab, familiarisez-vous avec les découpeuses laser, les imprimantes 3D, la découpeuse vinyle ... ! Fabriquez un objet simple, à ramener chez vous ! \r\n\r\nAdoptez la Fab Lab attitude !\",\n              \"updated_at\": \"2016-05-03T13:53:47.172+02:00\",\n              \"created_at\": \"2016-03-07T15:58:14.113+01:00\"\n            },\n            \"reserved_slots\": [\n              {\n                \"canceled_at\": null,\n                \"availability_id\": 5199,\n                \"start_at\": \"2016-06-02T16:00:00.000+01:00\",\n                \"end_at\": \"2016-06-02T17:00:00.000+01:00\"\n              }\n            ]\n          },\n          {\n            \"id\": 3251,\n            \"user_id\": 1743,\n            \"reservable_id\": 162,\n            \"reservable_type\": \"Event\",\n            \"updated_at\": \"2016-05-03T12:28:50.487+02:00\",\n            \"created_at\": \"2016-05-03T12:28:50.487+02:00\",\n            \"user\": {\n              \"id\": 1743,\n              \"email\": \"xxxxxxxxxxxx\",\n              \"created_at\": \"2016-05-03T12:24:38.724+02:00\",\n              \"full_name\": \"xxxxxxxxxxxx\"\n            },\n            \"reservable\": {\n              \"id\": 162,\n              \"title\": \"INITIATION FAB LAB\",\n              \"description\": \"A partir de 15 ans : \r\n\r\nDécouvrez le Fab Lab, familiarisez-vous avec les découpeuses laser, les imprimantes 3D, la découpeuse vinyle ... ! Fabriquez un objet simple, à ramener chez vous ! \r\n\r\nAdoptez la Fab Lab attitude !\",\n              \"updated_at\": \"2016-03-21T15:55:56.306+01:00\",\n              \"created_at\": \"2016-03-21T15:55:56.306+01:00\"\n            },\n            \"reserved_slots\": [\n              {\n                \"canceled_at\": null,\n                \"availability_id\": 5066,\n                \"start_at\": \"2016-06-03T14:00:00.000+01:00\",\n                \"end_at\": \"2016-06-03T15:00:00.000+01:00\"\n              }\n            ]\n          }\n        ]\n      }\n"],"metadata":null,"see":[],"headers":[],"show":true}],"headers":[],"deprecated":false},"spaces":{"doc_url":"/open_api/doc/v1/spaces","id":"spaces","api_url":"/open_api","name":"Spaces","short_description":"Spaces","full_description":"\n\u003cp\u003eSpaces of Fab-manager\u003c/p\u003e\n","version":"v1","formats":["json"],"metadata":null,"methods":[{"doc_url":"/open_api/doc/v1/spaces/index","name":"index","apis":[{"api_url":"/open_api/v1/spaces","http_method":"GET","short_description":"Spaces index","deprecated":null}],"formats":["json"],"full_description":"\n\u003cp\u003eSpaces index. Order by \u003cstrong\u003ecreated_at\u003c/strong\u003e ascendant.\u003c/p\u003e\n","errors":[],"params":[],"returns":[],"examples":["      # /open_api/v1/spaces\n      {\n        \"spaces\": [\n          {\n            \"id\": 1,\n            \"name\": \"Wood workshop\",\n            \"slug\": \"wood-workshop\",\n            \"disabled\": null,\n            \"updated_at\": \"2017-02-15 15:55:04.123928000 Z\",\n            \"created_at\": \"2017-02-24 18:02:21.852147000+01:00\",\n            \"description\": \"Become a real carpenter in the wood workshop area of your fablab.\r\n\",\n            \"characteristics\": \"Tools available: Coping saw, plane, jointer, beveller and pyrographer.\r\n\"\n          },\n          {\n            \"id\": 2,\n            \"name\": \"Movie studio\",\n            \"slug\": \"Movie-studio\",\n            \"disabled\": null,\n            \"updated_at\": \"2018-04-22 18:16:09.143617000 Z\",\n            \"created_at\": \"2018-06-29T07:47:59.187510000+02:00\",\n            \"description\": \"Think of yourself as Alfred Hitchcock and let your imagination run free to take your best indoor shots in this fully-equipped cinema studio.\r\n\",\n            \"spec\": \"Thanks to a system of hanging curtains, this studio is divisible into 3 parts of 90m², each one being equipped with a fixed grill of 9Mx7M, an inlay green screen of 8.5Mx8M opening, as well as 8 projectors DMX controlled cycloids for green screen lighting.\"\n          }\n        ]\n      }\n"],"metadata":null,"see":[],"headers":[],"show":true},{"doc_url":"/open_api/doc/v1/spaces/show","name":"show","apis":[{"api_url":"/open_api/v1/spaces/:id","http_method":"GET","short_description":"Show a space","deprecated":null}],"formats":["json"],"full_description":"\n\u003cp\u003eShow all the details of single space.\u003c/p\u003e\n","errors":[],"params":[],"returns":[],"examples":["      # /open_api/v1/spaces/1\n        {\n          \"id\": 1,\n          \"name\": \"Wood workshop\",\n          \"slug\": \"wood-workshop\",\n          \"disabled\": null,\n          \"updated_at\": \"2017-02-15 15:55:04.123928000 Z\",\n          \"created_at\": \"2017-02-24 18:02:21.852147000+01:00\",\n          \"description\": \"Become a real carpenter in the wood workshop area of your fablab.\r\n\",\n          \"characteristics\": \"Tools available: Coping saw, plane, jointer, beveller and pyrographer.\r\n\",\n          \"default_places\": 4,\n          \"image\": \"https://example.com/uploads/space_image/2686/space_image.jpg\"\n        }\n"],"metadata":null,"see":[],"headers":[],"show":true}],"headers":[],"deprecated":false},"subscriptions":{"doc_url":"/open_api/doc/v1/subscriptions","id":"subscriptions","api_url":"/open_api","name":"Subscriptions","short_description":"Subscriptions","full_description":"\n\u003cp\u003eSubscriptions\u003c/p\u003e\n","version":"v1","formats":["json"],"metadata":null,"methods":[{"doc_url":"/open_api/doc/v1/subscriptions/index","name":"index","apis":[{"api_url":"/open_api/v1/subscriptions","http_method":"GET","short_description":"Subscriptions index","deprecated":null}],"formats":["json"],"full_description":"\n\u003cp\u003eIndex of users’ subscriptions, paginated. Order by \u003cstrong\u003ecreated_at\u003c/strong\u003e descendant.\u003c/p\u003e\n","errors":[],"params":[{"name":"page","full_name":"page","description":"\n\u003cp\u003ePage number\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a Integer","expected_type":"numeric","metadata":null,"show":true,"validations":[]},{"name":"per_page","full_name":"per_page","description":"\n\u003cp\u003eNumber of objects per page. Default is 20.\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a Integer","expected_type":"numeric","metadata":null,"show":true,"validations":[]},{"name":"user_id","full_name":"user_id","description":"\n\u003cp\u003eScope the request to one or various users.\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be one of: \u003ccode\u003eInteger\u003c/code\u003e, \u003ccode\u003eArray\u003c/code\u003e.","expected_type":"string","metadata":null,"show":true,"validations":[]},{"name":"plan_id","full_name":"plan_id","description":"\n\u003cp\u003eScope the request to one or various plans.\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be one of: \u003ccode\u003eInteger\u003c/code\u003e, \u003ccode\u003eArray\u003c/code\u003e.","expected_type":"string","metadata":null,"show":true,"validations":[]}],"returns":[],"examples":["# /open_api/v1/subscriptions?user_id=211\u0026page=1\u0026per_page=3\n{\n  \"subscriptions\": [\n    {\n      \"id\": 2809,\n      \"user_id\": 211,\n      \"created_at\": \"2022-08-26T09:41:02.426+02:00\",\n      \"expiration_date\": \"2022-09-26T09:41:02.427+02:00\",\n      \"canceled_at\": null,\n      \"plan_id\": 1\n    },\n    {\n      \"id\": 2783,\n      \"user_id\": 211,\n      \"created_at\": \"2022-06-06T20:03:33.470+02:00\",\n      \"expiration_date\": \"2022-07-06T20:03:33.470+02:00\",\n      \"canceled_at\": null,\n      \"plan_id\": 1\n    },\n    {\n      \"id\": 2773,\n      \"user_id\": 211,\n      \"created_at\": \"2021-12-23T19:26:36.852+01:00\",\n      \"expiration_date\": \"2022-01-23T19:26:36.852+01:00\",\n      \"canceled_at\": null,\n      \"plan_id\": 1\n    }\n  ]\n}\n"],"metadata":null,"see":[],"headers":[],"show":true}],"headers":[],"deprecated":false},"trainings":{"doc_url":"/open_api/doc/v1/trainings","id":"trainings","api_url":"/open_api","name":"Trainings","short_description":"Trainings","full_description":"\n\u003cp\u003eTrainings of Fab-manager\u003c/p\u003e\n","version":"v1","formats":["json"],"metadata":null,"methods":[{"doc_url":"/open_api/doc/v1/trainings/index","name":"index","apis":[{"api_url":"/open_api/v1/trainings","http_method":"GET","short_description":"Trainings index","deprecated":null}],"formats":["json"],"full_description":"\n\u003cp\u003eTrainings index. Order by \u003cstrong\u003ecreated_at\u003c/strong\u003e ascendant.\u003c/p\u003e\n","errors":[],"params":[],"returns":[],"examples":["# /open_api/v1/trainings\n{\n  \"trainings\": [\n    {\n      \"id\": 1,\n      \"name\": \"Formation Imprimante 3D\",\n      \"slug\": \"formation-imprimante-3d\",\n      \"disabled\": null,\n      \"updated_at\": \"2015-02-05T13:49:15.025+01:00\",\n      \"created_at\": \"2014-06-30T03:32:32.126+02:00\",\n      \"nb_total_places\": 8,\n      \"description\": null\n    },\n    {\n      \"id\": 2,\n      \"name\": \"Formation Laser / Vinyle\",\n      \"slug\": \"formation-laser-vinyle\",\n      \"disabled\": null,\n      \"updated_at\": \"2015-02-05T13:49:19.046+01:00\",\n      \"created_at\": \"2014-06-30T03:32:32.138+02:00\",\n      \"nb_total_places\": 8,\n      \"description\": null\n    },\n    {\n      \"id\": 3,\n      \"name\": \"Formation Petite fraiseuse numerique\",\n      \"slug\": \"formation-petite-fraiseuse-numerique\",\n      \"disabled\": true,\n      \"updated_at\": \"2015-02-05T13:49:23.040+01:00\",\n      \"created_at\": \"2014-06-30T03:32:32.164+02:00\",\n      \"nb_total_places\": 8,\n      \"description\": null\n    },\n    {\n      \"id\": 4,\n      \"name\": \"Formation Shopbot Grande Fraiseuse\",\n      \"slug\": \"formation-shopbot-grande-fraiseuse\",\n      \"disabled\": false,\n      \"updated_at\": \"2015-02-03T10:22:21.908+01:00\",\n      \"created_at\": \"2014-06-30T03:32:32.168+02:00\",\n      \"nb_total_places\": 6,\n      \"description\": null\n    },\n    {\n      \"id\": 5,\n      \"name\": \"Formation logiciel 2D\",\n      \"slug\": \"formation-logiciel-2d\",\n      \"disabled\": false,\n      \"updated_at\": \"2015-02-05T13:49:27.460+01:00\",\n      \"created_at\": \"2014-06-30T09:37:42.778+02:00\",\n      \"nb_total_places\": 8,\n      \"description\": null\n    },\n    {\n      \"id\": 6,\n      \"name\": \"Pas de Reservation\",\n      \"slug\": \"pas-de-reservation\",\n      \"disabled\": null,\n      \"updated_at\": \"2014-07-22T14:18:11.784+02:00\",\n      \"created_at\": \"2014-07-22T14:18:11.784+02:00\",\n      \"nb_total_places\": null,\n      \"description\": null\n    }\n  ]\n}\n"],"metadata":null,"see":[],"headers":[],"show":true}],"headers":[],"deprecated":false},"user_trainings":{"doc_url":"/open_api/doc/v1/user_trainings","id":"user_trainings","api_url":"/open_api","name":"User trainings","short_description":"User trainings","full_description":"\n\u003cp\u003eTrainings validated by users\u003c/p\u003e\n","version":"v1","formats":["json"],"metadata":null,"methods":[{"doc_url":"/open_api/doc/v1/user_trainings/index","name":"index","apis":[{"api_url":"/open_api/v1/user_trainings","http_method":"GET","short_description":"User trainings index","deprecated":null}],"formats":["json"],"full_description":"\n\u003cp\u003eIndex of trainings accomplished by users, with optional pagination. Order by \u003cstrong\u003ecreated_at\u003c/strong\u003e descendant.\u003c/p\u003e\n","errors":[],"params":[{"name":"page","full_name":"page","description":"\n\u003cp\u003ePage number\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a Integer","expected_type":"numeric","metadata":null,"show":true,"validations":[]},{"name":"per_page","full_name":"per_page","description":"\n\u003cp\u003eNumber of objects per page. Default is 20.\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a Integer","expected_type":"numeric","metadata":null,"show":true,"validations":[]},{"name":"training_id","full_name":"training_id","description":"\n\u003cp\u003eScope the request to one or various trainings.\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be one of: \u003ccode\u003eInteger\u003c/code\u003e, \u003ccode\u003eArray\u003c/code\u003e.","expected_type":"string","metadata":null,"show":true,"validations":[]},{"name":"user_id","full_name":"user_id","description":"\n\u003cp\u003eScope the request to one or various users.\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be one of: \u003ccode\u003eInteger\u003c/code\u003e, \u003ccode\u003eArray\u003c/code\u003e.","expected_type":"string","metadata":null,"show":true,"validations":[]}],"returns":[],"examples":["# /open_api/v1/user_trainings?training_id[]=3\u0026training_id[]=4\u0026page=1\u0026per_page=2\n{\n  \"user_trainings\": [\n    {\n      \"id\": 720,\n      \"user_id\": 1340,\n      \"training_id\": 3,\n      \"updated_at\": \"2016-05-03T14:16:38.373+02:00\",\n      \"created_at\": \"2016-05-03T14:16:38.373+02:00\",\n      \"user\": {\n        \"id\": 1340,\n        \"email\": \"xxxxxxxxxxx\",\n        \"created_at\": \"2015-12-20T11:30:32.670+01:00\",\n        \"full_name\": \"xxxxxxxxxxx\"\n      }\n    },\n    {\n      \"id\": 719,\n      \"user_id\": 1118,\n      \"training_id\": 4,\n      \"updated_at\": \"2016-04-29T16:55:24.651+02:00\",\n      \"created_at\": \"2016-04-29T16:55:24.651+02:00\",\n      \"user\": {\n        \"id\": 1118,\n        \"email\": \"xxxxxxxxxxx\",\n        \"created_at\": \"2015-10-08T19:18:26.188+02:00\",\n        \"full_name\": \"xxxxxxxxxxx\"\n      }\n    }\n  ]\n}\n\n# /open_api/v1/user_trainings?user_id=1340\u0026page=1\u0026per_page=3\n{\n  \"user_trainings\": [\n    {\n      \"id\": 720,\n      \"user_id\": 1340,\n      \"training_id\": 3,\n      \"updated_at\": \"2016-05-03T14:16:38.373+02:00\",\n      \"created_at\": \"2016-05-03T14:16:38.373+02:00\",\n      \"training\": {\n        \"id\": 3,\n        \"name\": \"Formation Petite fraiseuse numerique\",\n        \"slug\": \"formation-petite-fraiseuse-numerique\",\n        \"updated_at\": \"2015-02-05T13:49:23.040+01:00\",\n        \"created_at\": \"2014-06-30T03:32:32.164+02:00\"\n      }\n    },\n    {\n      \"id\": 700,\n      \"user_id\": 1340,\n      \"training_id\": 2,\n      \"updated_at\": \"2016-04-19T22:02:17.083+02:00\",\n      \"created_at\": \"2016-04-19T22:02:17.083+02:00\",\n      \"training\": {\n        \"id\": 2,\n        \"name\": \"Formation Laser / Vinyle\",\n        \"slug\": \"formation-laser-vinyle\",\n        \"updated_at\": \"2015-02-05T13:49:19.046+01:00\",\n        \"created_at\": \"2014-06-30T03:32:32.138+02:00\"\n      }\n    },\n    {\n      \"id\": 694,\n      \"user_id\": 1340,\n      \"training_id\": 1,\n      \"updated_at\": \"2016-04-13T09:22:49.633+02:00\",\n      \"created_at\": \"2016-04-13T09:22:49.633+02:00\",\n      \"training\": {\n        \"id\": 1,\n        \"name\": \"Formation Imprimante 3D\",\n        \"slug\": \"formation-imprimante-3d\",\n        \"updated_at\": \"2015-02-05T13:49:15.025+01:00\",\n        \"created_at\": \"2014-06-30T03:32:32.126+02:00\"\n      }\n    }\n  ]\n}\n"],"metadata":null,"see":[],"headers":[],"show":true}],"headers":[],"deprecated":false},"users":{"doc_url":"/open_api/doc/v1/users","id":"users","api_url":"/open_api","name":"Users","short_description":"Users","full_description":"\n\u003cp\u003eUsers of Fab-manager\u003c/p\u003e\n","version":"v1","formats":["json"],"metadata":null,"methods":[{"doc_url":"/open_api/doc/v1/users/index","name":"index","apis":[{"api_url":"/open_api/v1/users","http_method":"GET","short_description":"Users index","deprecated":null}],"formats":["json"],"full_description":"\n\u003cp\u003eUsers index, paginated. Ordered by \u003cstrong\u003ecreated_at\u003c/strong\u003e descendant.\u003c/p\u003e\n","errors":[],"params":[{"name":"page","full_name":"page","description":"\n\u003cp\u003ePage number\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a Integer","expected_type":"numeric","metadata":null,"show":true,"validations":[]},{"name":"per_page","full_name":"per_page","description":"\n\u003cp\u003eNumber of objects per page. Default is 20.\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a Integer","expected_type":"numeric","metadata":null,"show":true,"validations":[]},{"name":"email","full_name":"email","description":"\n\u003cp\u003eFilter users by \u003cstrong\u003eemail\u003c/strong\u003e using strict matching.\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be one of: \u003ccode\u003eString\u003c/code\u003e, \u003ccode\u003eArray\u003c/code\u003e.","expected_type":"string","metadata":null,"show":true,"validations":[]},{"name":"user_id","full_name":"user_id","description":"\n\u003cp\u003eFilter users by \u003cstrong\u003eid\u003c/strong\u003e using strict matching.\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be one of: \u003ccode\u003eInteger\u003c/code\u003e, \u003ccode\u003eArray\u003c/code\u003e.","expected_type":"string","metadata":null,"show":true,"validations":[]},{"name":"created_after","full_name":"created_after","description":"\n\u003cp\u003eFilter users to accounts created after the given date.\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a DateTime","expected_type":"string","metadata":null,"show":true,"validations":[]},{"name":"including_deleted_users","full_name":"including_deleted_users","description":"\n\u003cp\u003eFilter users to accounts deleted or not.\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be one of: \u003ccode\u003etrue\u003c/code\u003e, \u003ccode\u003efalse\u003c/code\u003e.","expected_type":"string","metadata":null,"show":true,"validations":[]}],"returns":[],"examples":["# /open_api/v1/users?page=1\u0026per_page=4\n{\n  \"users\": [\n    {\n      \"id\": 1746,\n      \"email\": \"xxxxxxx@xxxx.com\",\n      \"created_at\": \"2016-05-04T17:21:48.403+02:00\",\n      \"invoicing_profile_id\": 7824,\n      \"external_id\": \"J5821-4\"\n      \"full_name\": \"xxxx xxxx\",\n      \"first_name\": \"xxxx\",\n      \"last_name\": \"xxxx\",\n      \"gender\": \"man\",\n      \"organization\": true,\n      \"address\": \"2 impasse xxxxxx, BRUXELLES\",\n      \"group\": {\n        \"id\": 1,\n        \"name\": \"standard, association\",\n        \"slug\": \"standard\"\n      }\n    },\n    {\n      \"id\": 1745,\n      \"email\": \"xxxxxxx@gmail.com\",\n      \"created_at\": \"2016-05-03T15:21:13.125+02:00\",\n      \"invoicing_profile_id\": 7823,\n      \"external_id\": \"J5846-4\"\n      \"full_name\": \"xxxxx xxxxx\",\n      \"first_name\": \"xxxxx\",\n      \"last_name\": \"xxxxx\",\n      \"gender\": \"woman\",\n      \"organization\": true,\n      \"address\": \"Grenoble\",\n      \"group\": {\n        \"id\": 2,\n        \"name\": \"étudiant, - de 25 ans, enseignant, demandeur d'emploi\",\n        \"slug\": \"student\"\n      }\n    },\n    {\n      \"id\": 1744,\n      \"email\": \"xxxxxxx@gmail.com\",\n      \"created_at\": \"2016-05-03T13:51:03.223+02:00\",\n      \"invoicing_profile_id\": 7822,\n      \"external_id\": \"J5900-1\"\n      \"full_name\": \"xxxxxxx xxxx\",\n      \"first_name\": \"xxxxxxx\",\n      \"last_name\": \"xxxx\",\n      \"gender\": \"man\",\n      \"organization\": false,\n      \"address\": \"21 rue des xxxxxx\",\n      \"group\": {\n        \"id\": 1,\n        \"name\": \"standard, association\",\n        \"slug\": \"standard\"\n      }\n    },\n    {\n      \"id\": 1743,\n      \"email\": \"xxxxxxxx@setecastronomy.eu\",\n      \"created_at\": \"2016-05-03T12:24:38.724+02:00\",\n      \"invoicing_profile_id\": 7821,\n      \"external_id\": \"P4172-4\"\n      \"full_name\": \"xxx xxxxxxx\",\n      \"first_name\": \"xxx\",\n      \"last_name\": \"xxxxxxx\",\n      \"gender\": \"woman\",\n      \"organization\": false,\n      \"address\": \"147 rue xxxxxx, 75000 PARIS, France\",\n      \"group\": {\n        \"id\": 1,\n        \"name\": \"standard, association\",\n        \"slug\": \"standard\"\n      }\n    }\n  ]\n}\n\n# /open_api/v1/users?user_id[]=1746\u0026user_id[]=1745\n{\n  \"users\": [\n    {\n      \"id\": 1746,\n      \"email\": \"xxxxxxxxxxxx\",\n      \"created_at\": \"2016-05-04T17:21:48.403+02:00\",\n      \"invoicing_profile_id\": 7820,\n      \"external_id\": \"J5500-4\"\n      \"full_name\": \"xxxx xxxxxx\",\n      \"first_name\": \"xxxx\",\n      \"last_name\": \"xxxxxx\",\n      \"gender\": \"man\",\n      \"organization\": true,\n      \"address\": \"38100\",\n      \"group\": {\n        \"id\": 1,\n        \"name\": \"standard, association\",\n        \"slug\": \"standard\"\n      }\n    },\n    {\n      \"id\": 1745,\n      \"email\": \"xxxxxxxxx@gmail.com\",\n      \"created_at\": \"2016-05-03T15:21:13.125+02:00\",\n      \"invoicing_profile_id\": 7819,\n      \"external_id\": null,\n      \"full_name\": \"xxxxx xxxxxx\",\n      \"first_name\": \"xxxx\",\n      \"last_name\": \"xxxxxx\",\n      \"gender\": \"woman\",\n      \"organization\": true,\n      \"address\": \"\",\n      \"group\": {\n        \"id\": 2,\n        \"name\": \"étudiant, - de 25 ans, enseignant, demandeur d'emploi\",\n        \"slug\": \"student\"\n      }\n    }\n  ]\n}\n"],"metadata":null,"see":[],"headers":[],"show":true}],"headers":[],"deprecated":false}}}}