{"data":{"api_version":"v1","openapi_url":"https:\/\/api.42suite.com\/api\/v1\/openapi.json","event_catalog_url":"https:\/\/api.42suite.com\/api\/v1\/webhook-events","oidc_discovery_url":"https:\/\/api.42suite.com\/api\/v1\/oauth\/.well-known\/openid-configuration","issuer":"https:\/\/api.42suite.com\/api\/v1","authentication":{"grant_types":["authorization_code"],"pkce_methods":["S256"],"token_lifetime_seconds":3600},"conventions":{"tenant_header":"X-Team-Id","idempotency_header":"Idempotency-Key","request_id_header":"X-Request-Id","pagination":["page","per_page","meta.current_page","meta.per_page","meta.total","meta.last_page"],"filter":"filter[field]=value","sort":"sort=field,-descending_field","error_fields":["message","code","correlation_id","errors"]},"rate_limits":{"default":{"requests":300,"period":60},"starter":{"requests":600,"period":60},"professional":{"requests":1500,"period":60},"enterprise":{"requests":5000,"period":60}},"scopes":{"ai:usage":["ai.use","ai.usage.view","ai.usage.manage"],"ai:usage:read":["ai.usage.view","ai.usage.manage"],"ai:use":"ai.use","absences:read":["working_time.absences.view_own","working_time.absences.view_team","working_time.absences.manage_own","working_time.absences.approve"],"absences:write":["working_time.absences.manage_own","working_time.absences.approve"],"attendances:read":["working_time.attendance.view_own","working_time.attendance.view_team","working_time.attendance.manage_own","working_time.attendance.manage_team"],"attendances:write":["working_time.attendance.track_own","working_time.attendance.manage_own","working_time.attendance.manage_team"],"audit-log:read":"admin.activity_logs.view","availability:read":["operations.availability.view","operations.availability.manage"],"availability:write":"operations.availability.manage","billing:read":["billing.view","billing.manage"],"bulk:write":"operations.bulk.manage","calendar:read":["working_time.calendar.view_own","working_time.calendar.view_team"],"calendar:write":["working_time.calendar.manage_own","working_time.settings.manage"],"categories:read":["admin.categories.view","admin.categories.manage"],"categories:write":"admin.categories.manage","custom-fields:read":["operations.custom_fields.view","operations.custom_fields.manage"],"custom-fields:write":"operations.custom_fields.manage","customers:read":["sales.customers.view","sales.customers.manage"],"customers:write":"sales.customers.manage","dashboard:read":["operations.dashboard.view","operations.dashboard.manage"],"dashboard:write":"operations.dashboard.manage","documents:access":["communication.documents.view","communication.documents.manage","communication.documents.manage_access"],"documents:download":["communication.documents.download","communication.documents.manage"],"documents:read":["communication.documents.view","communication.documents.manage"],"documents:write":"communication.documents.manage","emails:access":["communication.emails.view","communication.emails.manage","communication.emails.manage_access"],"emails:read":["communication.emails.view","communication.emails.manage"],"emails:write":"communication.emails.manage","expenses:read":["finance.expenses.view","finance.expenses.manage"],"expenses:write":"finance.expenses.manage","feedback:read":["hr.feedback.view","hr.feedback.manage_own","hr.feedback.manage_team"],"feedback:write":["hr.feedback.manage_own","hr.feedback.manage_team"],"gl:read":["operations.gl.view","operations.gl.manage"],"gl:write":"operations.gl.manage","identity:read":["identity.sso.view","identity.sso.manage"],"identity:write":"identity.sso.manage","import-export:read":["operations.import_export.view","operations.import_export.manage"],"import-export:write":"operations.import_export.manage","inventory:read":["operations.inventory.view","operations.inventory.manage"],"inventory:write":"operations.inventory.manage","invoices:read":["finance.invoices.view","finance.invoices.manage"],"invoices:write":"finance.invoices.manage","time-invoices:write":"finance.invoices.create_from_time","internal-cost-rates:read":["finance.internal_cost_rates.view","finance.internal_cost_rates.manage"],"internal-cost-rates:write":"finance.internal_cost_rates.manage","profitability:read":"finance.project_profitability.view","job-postings:access":["hr.job_applications.view","hr.job_applications.manage","hr.job_applications.manage_access"],"job-postings:read":["hr.job_postings.view","hr.job_postings.manage"],"job-postings:write":"hr.job_postings.manage","leads:read":["sales.leads.view","sales.leads.manage"],"leads:convert":"sales.leads.convert","leads:write":"sales.leads.manage","deals:read":["sales.deals.view","sales.deals.manage"],"deals:write":"sales.deals.manage","maintenance-contracts:access":["support.contracts.view","support.contracts.manage","support.contracts.manage_access"],"maintenance-contracts:read":["support.contracts.view","support.contracts.manage"],"maintenance-contracts:write":"support.contracts.manage","marketing-campaigns:read":["marketing.campaigns.view","marketing.campaigns.manage"],"marketing-campaigns:write":"marketing.campaigns.manage","messenger:read":"messenger.use","messenger:write":"messenger.use","notes:access":["communication.notes.view","communication.notes.manage_own","communication.notes.manage_team","communication.notes.manage_access"],"notes:read":["communication.notes.view","communication.notes.manage_own","communication.notes.manage_team"],"notes:write":["communication.notes.manage_own","communication.notes.manage_team"],"offers:read":["sales.offers.view","sales.offers.manage"],"offers:write":"sales.offers.manage","onboarding:read":["hr.onboarding.view","hr.onboarding.manage"],"onboarding:write":"hr.onboarding.manage","orders:read":["sales.orders.view","sales.orders.manage"],"orders:write":"sales.orders.manage","procurement:read":["operations.procurement.view","operations.procurement.manage"],"procurement:write":"operations.procurement.manage","projects:access":["project.projects.view","project.projects.manage","project.projects.manage_access"],"projects:read":["project.projects.view","project.projects.manage"],"projects:write":"project.projects.manage","reports:read":["operations.reports.view","operations.reports.manage"],"reports:write":"operations.reports.manage","utilization:read":"operations.utilization.view","saved-filters:read":["operations.saved_filters.view","operations.saved_filters.manage"],"saved-filters:write":"operations.saved_filters.manage","suppliers:read":["finance.suppliers.view","finance.suppliers.manage"],"suppliers:write":"finance.suppliers.manage","tasks:access":["project.tasks.view","project.tasks.manage","project.tasks.manage_access"],"tasks:read":["project.tasks.view","project.tasks.manage"],"tasks:write":"project.tasks.manage","team-members:manage":"team.members.manage","team-members:read":["team.members.view","team.members.manage"],"team-roles:manage":"team.roles.manage","team-settings:manage":"team.settings.manage","team-settings:read":["team.settings.view","team.settings.manage"],"time-trackings:read":["project.time_trackings.view_own","project.time_trackings.view_team","project.time_trackings.manage_own","project.time_trackings.manage_team"],"time-trackings:write":["project.time_trackings.track_own","project.time_trackings.manage_own","project.time_trackings.manage_team"],"time-trackings:approve":["project.time_trackings.manage_team"],"tokens:manage":"tokens.manage","trainings:read":["hr.training.view","hr.training.manage"],"trainings:write":["hr.training.apply","hr.training.manage","hr.training.approve"],"uploads:write":"project.uploads.manage","webforms:read":["webforms.view","webforms.manage"],"webforms:write":"webforms.manage","webhooks:read":["webhooks.view","webhooks.manage"],"webhooks:write":"webhooks.manage","integrations:read":["integrations.view","integrations.manage"],"integrations:write":"integrations.manage","workflow:read":["automation.view","automation.manage"],"workflow:write":"automation.manage","hr:read":["hr.view","hr.manage"],"hr:write":"hr.manage","helpdesk:read":["support.tickets.view","support.tickets.manage"],"helpdesk:write":"support.tickets.manage","knowledge:read":["helpdesk.articles.view","helpdesk.articles.write","helpdesk.articles.publish","helpdesk.articles.delete"],"knowledge:write":["helpdesk.articles.write","helpdesk.articles.publish","helpdesk.articles.delete"]},"deprecation":{"minimum_notice_days":180,"headers":["Deprecation","Sunset","Link"],"breaking_changes":"Breaking changes require a new API or event version."},"migration_guides":[{"from":"legacy-unversioned","to":"v1","changes":["Use the \/api\/v1 prefix.","Send X-Team-Id with the tenant UUID.","Use UUID resource identifiers and the canonical error envelope.","Send Idempotency-Key on operations marked x-idempotent in OpenAPI."]}],"changelog":[{"date":"2026-08-06","version":"v1","type":"added","summary":"OpenAPI 3.1 schemas, generated TypeScript client, OAuth 2.1 PKCE\/OIDC, event catalog, and canonical errors."}],"sandbox":{"isolation":"dedicated_demo_team","external_effects":"disabled","production_data":"prohibited"}}}