openapi: 3.2.0 info: description: The One API. Universal API integration platform for AI agents and applications. license: name: '' title: One Event Access API version: 5.35.0 tags: - name: Event Access paths: /v1/event-access: get: operationId: list_event_access parameters: - in: query name: page required: true schema: $ref: '#/components/schemas/Page' - description: 'Optional, and **ignored for a bearer** - `pinned_environment` substitutes the token''s own. Defaulted, unlike its counterpart on the create bodies, because the two are different questions: here the value narrows a listing, and the default narrows it to `test`, which is visible in the rows that come back. There it decides which environment a new key is minted for, where a silently defaulted value is a wrong key rather than a wrong page.' in: query name: environment required: false schema: $ref: '#/components/schemas/SecretKeyEnvironment' responses: '200': content: application/json: schema: $ref: '#/components/schemas/Paginated_EventAccessView' description: Paginated list of event access keys '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Invalid request '403': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Insufficient permissions '404': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Resource not found '409': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Resource already exists '500': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Internal server error security: - Session: [] - OAuth2: - user:secrets:read tags: - Event Access summary: List event access x-summary-source: derived post: operationId: create_event_access requestBody: content: application/json: schema: $ref: '#/components/schemas/Params' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/EventAccessView' description: Created event access key '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Invalid request '403': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Insufficient permissions '404': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Resource not found '409': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Resource already exists '500': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Internal server error security: - Session: [] - OAuth2: - user:secrets:write tags: - Event Access summary: Create event access x-summary-source: derived /v1/event-access/organizations/{org_id}: get: operationId: list_organization_event_access parameters: - description: Organization ID in: path name: org_id required: true schema: format: uuid type: string - in: query name: page required: true schema: $ref: '#/components/schemas/Page' - description: 'Optional, and **ignored for a bearer** - `pinned_environment` substitutes the token''s own. Defaulted, unlike its counterpart on the create bodies, because the two are different questions: here the value narrows a listing, and the default narrows it to `test`, which is visible in the rows that come back. There it decides which environment a new key is minted for, where a silently defaulted value is a wrong key rather than a wrong page.' in: query name: environment required: false schema: $ref: '#/components/schemas/SecretKeyEnvironment' - description: Selects the tenant this request acts in. Omit it to act in your personal scope. in: header name: X-One-Organization-Id required: false schema: format: uuid type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/Paginated_OrganizationEventAccessView' description: Paginated list of organization event access keys '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Invalid request '403': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Insufficient permissions '404': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Resource not found '409': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Resource already exists '500': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Internal server error security: - Session: [] - OAuth2: - org:secrets:read summary: '--- ## Autometrics View the live metrics for the `list_organization_keys`…' tags: - Event Access post: operationId: create_organization_event_access parameters: - description: Organization ID in: path name: org_id required: true schema: format: uuid type: string - description: Selects the tenant this request acts in. Omit it to act in your personal scope. in: header name: X-One-Organization-Id required: false schema: format: uuid type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/OrganizationEventAccessParams' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/OrganizationEventAccessView' description: Created organization event access key '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Invalid request '403': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Insufficient permissions '404': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Resource not found '409': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Resource already exists '500': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Internal server error security: - Session: [] - OAuth2: - org:secrets:write summary: '--- ## Autometrics View the live metrics for the `create_organization_key`…' tags: - Event Access /v1/event-access/organizations/{org_id}/projects/{project_id}: get: operationId: list_project_event_access parameters: - description: Organization ID in: path name: org_id required: true schema: format: uuid type: string - description: Project ID in: path name: project_id required: true schema: format: uuid type: string - in: query name: page required: true schema: $ref: '#/components/schemas/Page' - description: 'Optional, and **ignored for a bearer** - `pinned_environment` substitutes the token''s own. Defaulted, unlike its counterpart on the create bodies, because the two are different questions: here the value narrows a listing, and the default narrows it to `test`, which is visible in the rows that come back. There it decides which environment a new key is minted for, where a silently defaulted value is a wrong key rather than a wrong page.' in: query name: environment required: false schema: $ref: '#/components/schemas/SecretKeyEnvironment' - description: Selects the tenant this request acts in. Omit it to act in your personal scope. in: header name: X-One-Project-Id required: false schema: format: uuid type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/Paginated_OrganizationEventAccessView' description: Paginated list of project event access keys '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Invalid request '403': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Insufficient permissions '404': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Resource not found '409': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Resource already exists '500': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Internal server error security: - Session: [] - OAuth2: - project:secrets:read summary: '--- ## Autometrics View the live metrics for the `list_project_keys` function…' tags: - Event Access post: operationId: create_project_event_access parameters: - description: Organization ID in: path name: org_id required: true schema: format: uuid type: string - description: Project ID in: path name: project_id required: true schema: format: uuid type: string - description: Selects the tenant this request acts in. Omit it to act in your personal scope. in: header name: X-One-Project-Id required: false schema: format: uuid type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/OrganizationEventAccessParams' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/OrganizationEventAccessView' description: Created project event access key '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Invalid request '403': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Insufficient permissions '404': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Resource not found '409': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Resource already exists '500': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Internal server error security: - Session: [] - OAuth2: - project:secrets:write summary: '--- ## Autometrics View the live metrics for the `create_project_key` function…' tags: - Event Access /v1/event-access/organizations/{org_id}/projects/{project_id}/{key_id}: delete: operationId: delete_project_event_access parameters: - description: Organization ID in: path name: org_id required: true schema: format: uuid type: string - description: Project ID in: path name: project_id required: true schema: format: uuid type: string - description: Event access key ID in: path name: key_id required: true schema: type: string - description: Selects the tenant this request acts in. Omit it to act in your personal scope. in: header name: X-One-Project-Id required: false schema: format: uuid type: string responses: '200': description: Key deleted '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Invalid request '403': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Insufficient permissions '404': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Resource not found '409': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Resource already exists '500': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Internal server error security: - Session: [] - OAuth2: - project:secrets:write summary: '--- ## Autometrics View the live metrics for the `delete_project_key` function…' tags: - Event Access /v1/event-access/organizations/{org_id}/{key_id}: delete: operationId: delete_organization_event_access parameters: - description: Organization ID in: path name: org_id required: true schema: format: uuid type: string - description: Event access key ID in: path name: key_id required: true schema: type: string - description: Selects the tenant this request acts in. Omit it to act in your personal scope. in: header name: X-One-Organization-Id required: false schema: format: uuid type: string responses: '200': description: Key deleted '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Invalid request '403': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Insufficient permissions '404': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Resource not found '409': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Resource already exists '500': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Internal server error security: - Session: [] - OAuth2: - org:secrets:write summary: '--- ## Autometrics View the live metrics for the `delete_organization_key`…' tags: - Event Access /v1/event-access/{id}: delete: operationId: delete_event_access parameters: - description: Event access key ID in: path name: id required: true schema: type: string responses: '200': description: Key deleted '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Invalid request '403': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Insufficient permissions '404': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Resource not found '409': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Resource already exists '500': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: Internal server error security: - Session: [] - OAuth2: - user:secrets:write tags: - Event Access summary: Delete event access x-summary-source: derived components: schemas: Paginated_EventAccessView: properties: page: format: int64 minimum: 0 type: integer pages: format: int64 minimum: 0 type: integer rows: items: properties: accessKey: type: string active: type: boolean changeLog: $ref: '#/components/schemas/ChangeLog' connectionType: $ref: '#/components/schemas/ConnectionType' createdAt: format: date-time type: string default: type: boolean deleted: type: boolean environment: $ref: '#/components/schemas/SecretKeyEnvironment' id: $ref: '#/components/schemas/EventAccessId' key: type: string keyPreview: type: - string - 'null' name: type: - string - 'null' organizationId: format: uuid type: - string - 'null' tags: items: type: string type: array throughput: format: int32 type: - integer - 'null' updatedAt: format: date-time type: string userId: format: uuid type: string version: type: string required: - id - userId - key - connectionType - accessKey - environment - default - createdAt - updatedAt - version - deleted - changeLog - tags - active type: object type: array total: format: int64 minimum: 0 type: integer required: - rows - total - pages - page type: object Params: properties: active: type: boolean clientId: oneOf: - type: 'null' - $ref: '#/components/schemas/NonEmptyString' clientSecret: oneOf: - type: 'null' - $ref: '#/components/schemas/NonEmptyString' connectionDefinitionId: $ref: '#/components/schemas/ConnectionDefinitionId' environment: $ref: '#/components/schemas/SecretKeyEnvironment' guide: type: - string - 'null' scopes: type: - string - 'null' useDefaultOauthCreds: description: 'When true, uses default OAuth credentials from the engineering account instead of user-provided credentials. See the struct-level documentation for detailed precedence behavior and requirements.' type: - boolean - 'null' required: - connectionDefinitionId - environment - active type: object OrganizationEventAccessView: description: Organization-scoped event access view for API keys properties: accessKey: type: string active: type: boolean changeLog: $ref: '#/components/schemas/ChangeLog' connectionType: $ref: '#/components/schemas/ConnectionType' createdAt: format: date-time type: string default: type: boolean deleted: type: boolean environment: $ref: '#/components/schemas/SecretKeyEnvironment' id: $ref: '#/components/schemas/EventAccessId' key: type: string keyPreview: type: - string - 'null' name: type: - string - 'null' organizationId: format: uuid type: - string - 'null' tags: items: type: string type: array throughput: format: int32 type: - integer - 'null' updatedAt: format: date-time type: string userId: format: uuid type: string version: type: string required: - id - userId - key - connectionType - accessKey - environment - default - createdAt - updatedAt - version - deleted - changeLog - tags - active type: object ChangeLog: type: object OrganizationEventAccessParams: properties: connectionType: $ref: '#/components/schemas/ConnectionType' environment: $ref: '#/components/schemas/SecretKeyEnvironment' description: 'Required, and **ignored for a bearer**. A token is minted for one environment, so `pinned_environment` substitutes the token''s own whatever the body says. Defaulting the field would spare a bearer from sending a value it does not control, but it would also stop a session or api-key caller from ever being told they omitted it - and for those two the value is honoured, so a dropped or misspelled field would silently mint a `test` key for someone who asked for `live`. A loud `422` for the caller that does not care beats a silent wrong key for the caller that does.' hide: type: - boolean - 'null' name: type: - string - 'null' tags: description: 'Free-form labels stored on the key as sent: at most 32, each at most 512 bytes. The CLI records where it is installed here (`scope:project`, `path:…`, `harness:…`). Omitted means no tags.' items: type: string type: array required: - connectionType - environment type: object ConnectionType: enum: - api - databasesql - databasenosql - filesystem - stream - custom type: string ErrorResponse: properties: correlationId: example: 550e8400-e29b-41d4-a716-446655440000 type: string key: example: http_error type: string message: example: Authentication required type: string status: example: 401 format: int32 minimum: 0 type: integer type: example: http_error type: string required: - correlationId - key - message - type - status type: object NonEmptyString: type: string ConnectionDefinitionId: description: Prefixed ID with 'conn_def' prefix (e.g., 'conn_def_1C'), also accepts raw integer type: string SecretKeyEnvironment: enum: - test - live type: string Page: properties: limit: description: 'Items per page. Default 20, hard-capped at 150. `limit=0` is treated as 1. Larger values silently clamp.' format: int64 minimum: 0 type: integer page: description: Page number for pagination (1-indexed). Defaults to 1. format: int64 minimum: 0 type: integer skip: description: 'Number of items to skip before the first returned item. Defaults to 0. Most callers should leave this at 0 and rely on `page` + `limit`.' format: int64 minimum: 0 type: integer type: object EventAccessId: description: Prefixed ID with 'evt_ac' prefix (e.g., 'evt_ac_1C'), also accepts raw integer type: string Paginated_OrganizationEventAccessView: properties: page: format: int64 minimum: 0 type: integer pages: format: int64 minimum: 0 type: integer rows: items: description: Organization-scoped event access view for API keys properties: accessKey: type: string active: type: boolean changeLog: $ref: '#/components/schemas/ChangeLog' connectionType: $ref: '#/components/schemas/ConnectionType' createdAt: format: date-time type: string default: type: boolean deleted: type: boolean environment: $ref: '#/components/schemas/SecretKeyEnvironment' id: $ref: '#/components/schemas/EventAccessId' key: type: string keyPreview: type: - string - 'null' name: type: - string - 'null' organizationId: format: uuid type: - string - 'null' tags: items: type: string type: array throughput: format: int32 type: - integer - 'null' updatedAt: format: date-time type: string userId: format: uuid type: string version: type: string required: - id - userId - key - connectionType - accessKey - environment - default - createdAt - updatedAt - version - deleted - changeLog - tags - active type: object type: array total: format: int64 minimum: 0 type: integer required: - rows - total - pages - page type: object EventAccessView: properties: accessKey: type: string active: type: boolean changeLog: $ref: '#/components/schemas/ChangeLog' connectionType: $ref: '#/components/schemas/ConnectionType' createdAt: format: date-time type: string default: type: boolean deleted: type: boolean environment: $ref: '#/components/schemas/SecretKeyEnvironment' id: $ref: '#/components/schemas/EventAccessId' key: type: string keyPreview: type: - string - 'null' name: type: - string - 'null' organizationId: format: uuid type: - string - 'null' tags: items: type: string type: array throughput: format: int32 type: - integer - 'null' updatedAt: format: date-time type: string userId: format: uuid type: string version: type: string required: - id - userId - key - connectionType - accessKey - environment - default - createdAt - updatedAt - version - deleted - changeLog - tags - active type: object securitySchemes: Bearer: scheme: bearer type: http OAuth2: flows: authorizationCode: authorizationUrl: https://api.withone.ai/oauth/authorize scopes: org:ai_skills:read: Read organization AI skills org:ai_skills:write: Create, update, and delete organization AI skills org:authkit:read: Read organization AuthKit resources org:authkit:write: Create, update, and delete organization AuthKit resources org:connections:read: Read organization connections org:connections:write: Create, update, and delete organization connections org:projects:read: Read organization projects org:projects:write: Create, update, and delete organization projects org:secrets:read: Read organization secrets org:secrets:write: Create, update, and delete organization secrets org:workflows:executions:read: Read organization workflow executions org:workflows:executions:write: Create, update, and delete organization workflow executions org:workflows:read: Read organization workflows org:workflows:write: Create, update, and delete organization workflows project:ai_skills:read: Read project AI skills project:ai_skills:write: Create, update, and delete project AI skills project:authkit:read: Read project AuthKit resources project:authkit:write: Create, update, and delete project AuthKit resources project:connections:read: Read project connections project:connections:write: Create, update, and delete project connections project:secrets:read: Read project secrets project:secrets:write: Create, update, and delete project secrets project:workflows:executions:read: Read project workflow executions project:workflows:executions:write: Create, update, and delete project workflow executions project:workflows:read: Read project workflows project:workflows:write: Create, update, and delete project workflows user:ai_skills:read: Read your personal AI skills user:ai_skills:write: Create, update, and delete your personal AI skills user:authkit:read: Read your personal AuthKit resources user:authkit:write: Create, update, and delete your personal AuthKit resources user:connections:read: Read your personal connections user:connections:write: Create, update, and delete your personal connections user:secrets:read: Read your personal secrets user:secrets:write: Create, update, and delete your personal secrets user:workflows:executions:read: Read your personal workflow executions user:workflows:executions:write: Create, update, and delete your personal workflow executions user:workflows:read: Read your personal workflows user:workflows:write: Create, update, and delete your personal workflows tokenUrl: https://api.withone.ai/oauth/token type: oauth2 Session: in: cookie name: withone type: apiKey X-One-Connection-Key: in: header name: X-One-Connection-Key type: apiKey X-One-Secret: in: header name: X-One-Secret type: apiKey X-Pica-Connection-Key: in: header name: X-One-Connection-Key type: apiKey X-Pica-Secret: in: header name: X-One-Secret type: apiKey