{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/slash/main/json-schema/slash-developer-application-developer-application-data-schema.json", "title": "DeveloperApplicationData", "x-generated": "2026-10-12", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/slash-developer-account-api-openapi.yml#/components/schemas/DeveloperApplication.DeveloperApplicationData", "type": "object", "properties": { "description": { "type": "string", "description": "A short description of the application that will be shown to users when they authorize the application." }, "logoUrl": { "type": "string", "description": "The URL of the application's logo that will be shown to users when they authorize the application." }, "termsOfServiceUrl": { "type": "string", "description": "The URL of the application's terms of service that will be shown to users when they authorize the application." }, "privacyPolicyUrl": { "type": "string", "description": "The URL of the application's privacy policy that will be shown to users when they authorize the application." }, "redirectUris": { "type": "array", "items": { "type": "string" }, "description": "The URLs of the application's redirect URIs that will be used when the application is authorized. The redirect URIs must match the ones registered here, or the authorization will fail." }, "testUserEmails": { "type": "array", "items": { "type": "string" }, "description": "A list of users that are allowed to test the application before it is approved for production. Max 10 users." }, "type": { "type": "string", "enum": [ "service" ] }, "scopes": { "type": "array", "description": "The scopes that the application will request access to.", "items": { "$ref": "#/$defs/DeveloperApplication.PermissionKeyTypes.PermissionPolicyKey", "x-entrypoint": { "virtualPath": "schemas/DeveloperApplication/PermissionKeyTypes/PermissionPolicyKey", "sourcePath": "schemas/DeveloperApplication/PermissionKeyTypes/PermissionPolicyKey.yaml", "title": "PermissionPolicyKey", "origin": "./src/publicApi" } } }, "allowedOrigins": { "type": "array", "description": "The URLs or IP addresses that the application is allowed to make token exchange requests from. If the application makes a token exchange request from a URL that is not in this list, the request will be blocked.", "items": { "type": "string" } } }, "required": [ "description", "type", "scopes", "allowedOrigins" ], "x-entrypoint": { "virtualPath": "schemas/DeveloperApplication/DeveloperApplicationData", "sourcePath": "schemas/DeveloperApplication/DeveloperApplicationData.yaml", "title": "DeveloperApplicationData", "origin": "./src/publicApi" }, "$defs": { "DeveloperApplication.PermissionKeyTypes.LegalEntityPermissionPolicyKey": { "type": "string", "enum": [ "legal_entity.home.view", "legal_entity.view", "legal_entity.users.view", "legal_entity.users.modify", "legal_entity.users.card_groups.view", "legal_entity.users.card_groups.modify", "legal_entity.subscriptions.view", "legal_entity.subscriptions.modify", "legal_entity.accounting.view", "legal_entity.accounting.modify", "legal_entity.contacts.view", "legal_entity.contacts.modify", "legal_entity.third_party_credentials.view", "legal_entity.third_party_credentials.modify", "legal_entity.authorized_third_parties.view", "legal_entity.authorized_third_parties.modify", "legal_entity.api_key.view", "legal_entity.api_key.modify", "legal_entity.applications.view", "legal_entity.applications.modify", "legal_entity.permission_roles.view", "legal_entity.automation_rules.view", "legal_entity.automation_rules.modify", "legal_entity.developer_account.view", "legal_entity.developer_account.modify", "legal_entity.cashback.view", "legal_entity.cashback.modify", "legal_entity.webhooks.view", "legal_entity.webhooks.modify", "legal_entity.ticket_reconciliation.view", "legal_entity.analytics.view", "legal_entity.transactions.crypto_deposit.accelerate" ], "x-entrypoint": { "virtualPath": "schemas/DeveloperApplication/PermissionKeyTypes/LegalEntityPermissionPolicyKey", "sourcePath": "schemas/DeveloperApplication/PermissionKeyTypes/LegalEntityPermissionPolicyKey.yaml", "title": "LegalEntityPermissionPolicyKey", "origin": "./src/publicApi" }, "title": "LegalEntityPermissionPolicyKey" }, "DeveloperApplication.PermissionKeyTypes.PermissionPolicyKey": { "oneOf": [ { "$ref": "#/$defs/DeveloperApplication.PermissionKeyTypes.LegalEntityPermissionPolicyKey", "x-entrypoint": { "virtualPath": "schemas/DeveloperApplication/PermissionKeyTypes/LegalEntityPermissionPolicyKey", "sourcePath": "schemas/DeveloperApplication/PermissionKeyTypes/LegalEntityPermissionPolicyKey.yaml", "title": "LegalEntityPermissionPolicyKey", "origin": "./src/publicApi" } }, { "$ref": "#/$defs/DeveloperApplication.PermissionKeyTypes.SlashAccountPermissionPolicyKey", "x-entrypoint": { "virtualPath": "schemas/DeveloperApplication/PermissionKeyTypes/SlashAccountPermissionPolicyKey", "sourcePath": "schemas/DeveloperApplication/PermissionKeyTypes/SlashAccountPermissionPolicyKey.yaml", "title": "SlashAccountPermissionPolicyKey", "origin": "./src/publicApi" } } ], "x-entrypoint": { "virtualPath": "schemas/DeveloperApplication/PermissionKeyTypes/PermissionPolicyKey", "sourcePath": "schemas/DeveloperApplication/PermissionKeyTypes/PermissionPolicyKey.yaml", "title": "PermissionPolicyKey", "origin": "./src/publicApi" }, "title": "PermissionPolicyKey" }, "DeveloperApplication.PermissionKeyTypes.SlashAccountPermissionPolicyKey": { "type": "string", "enum": [ "slash_accounts.view", "slash_accounts.home.view", "slash_accounts.cards.physical.view", "slash_accounts.cards.physical.modify", "slash_accounts.cards.virtual.view", "slash_accounts.cards.virtual.modify", "slash_accounts.incoming_transactions.view", "slash_accounts.transactions.view", "slash_accounts.transactions.ach_pull.initiate", "slash_accounts.transactions.ach_push.initiate", "slash_accounts.transactions.wire.initiate", "slash_accounts.transactions.between_accounts.initiate", "slash_accounts.transactions.rtp.initiate", "slash_accounts.balance.view", "slash_accounts.subaccounts.view", "slash_accounts.subaccounts.modify", "slash_accounts.merchant_allowlist.view", "slash_accounts.merchant_allowlist.modify", "slash_accounts.integrations.view", "slash_accounts.integrations.modify" ], "x-entrypoint": { "virtualPath": "schemas/DeveloperApplication/PermissionKeyTypes/SlashAccountPermissionPolicyKey", "sourcePath": "schemas/DeveloperApplication/PermissionKeyTypes/SlashAccountPermissionPolicyKey.yaml", "title": "SlashAccountPermissionPolicyKey", "origin": "./src/publicApi" }, "title": "SlashAccountPermissionPolicyKey" } } }